Patrick Pelissier
80acbb4343
Ensure proper order of commands in case of parallelism
2022-04-23 10:37:42 +02:00
Patrick Pelissier
2fb912d43d
Should remove warning with Visual C++
2022-04-23 10:34:54 +02:00
Patrick Pelissier
8c8dc6de7c
Add new example
2022-04-23 10:21:46 +02:00
Patrick Pelissier
677acdd14e
Use of new M_INIT_EMPLACE_VAI macro
2022-04-23 10:21:33 +02:00
Patrick Pelissier
6caeea98b9
Add M_INIT_EMPLACE_VAI macro for INIT_WITH containers with emplace support
2022-04-23 10:21:17 +02:00
Patrick Pelissier
c5d37ce028
Update comments
2022-04-23 10:03:51 +02:00
Patrick Pelissier
112b405df6
Reformat
2022-04-23 10:01:39 +02:00
Patrick Pelissier
47385d58e5
Update documentation with new generated functions
2022-04-23 09:20:11 +02:00
Patrick Pelissier
c8275c8f63
Add test cases for generated emplace functions
2022-04-23 09:19:58 +02:00
Patrick Pelissier
0c1e888a78
Add emplace generation for RB Tree
2022-04-23 09:19:42 +02:00
Patrick Pelissier
6a1ff3e080
Add emplace generation for oplist with CMP operator
2022-04-23 09:18:20 +02:00
Patrick Pelissier
6d41eba5ed
Update documentation for emplace functions
2022-04-22 22:51:45 +02:00
Patrick Pelissier
c0abcc6d60
Add tests for new emplace functions
2022-04-22 22:51:36 +02:00
Patrick Pelissier
da71c81195
Add emplace functions for list / deque
2022-04-22 22:51:17 +02:00
Patrick Pelissier
8e0d17e85c
Add test for emplace string_t from const char *
2022-04-21 23:11:24 +02:00
Patrick Pelissier
6d98c273c1
Add EMPLACE_TYPE from const char *
2022-04-21 23:11:11 +02:00
Patrick Pelissier
85f6ff34aa
Add test cases for generated emplace functions
2022-04-20 22:43:12 +02:00
Patrick Pelissier
759c24be63
Add request for generation for emplace functions
2022-04-20 22:43:12 +02:00
Patrick Pelissier
d85955ef60
Add generation of emplace functions
2022-04-20 22:43:12 +02:00
Patrick Pelissier
3a53044198
Add M_EMPLACE macros to enables generic generation of EMPLACE functions
2022-04-20 22:43:12 +02:00
Patrick Pelissier
4d5cd9c635
Code generation shows no difference between && or & for simple & typical OOR values
...
So let's use the logical comparaison which is clearer.
2022-04-19 22:07:01 +02:00
Patrick Pelissier
57b88160ae
Add asm generation for typical OOR_EQUAL_P functions
2022-04-19 20:57:03 +02:00
Patrick Pelissier
33ba602aef
Reformat
2022-04-18 22:10:32 +02:00
Patrick Pelissier
3632388315
Reorder macros to group then by logical entity. Remove M_INVERT obsolete macro
2022-04-18 21:22:45 +02:00
Patrick Pelissier
6ee82e885b
Update comments
2022-04-18 11:09:12 +02:00
Patrick Pelissier
2f92cee416
Update code for generated asm analysis
2022-04-18 11:08:59 +02:00
Patrick Pelissier
9269473e10
Remove M_APPLY_SIZEOF
2022-04-18 10:04:11 +02:00
Patrick Pelissier
c8611ce708
Update comments
2022-04-18 09:44:13 +02:00
Patrick Pelissier
d8fd43e9e9
Update comments & avoid using M_ID for internal macros
2022-04-18 09:41:43 +02:00
Patrick Pelissier
a2e471620d
Add support for '_' meta keyword
2022-04-18 09:24:32 +02:00
Patrick Pelissier
ffa3821acf
Add tests for M_KEYWORD_TO_VA_ARGS
2022-04-17 19:01:32 +02:00
Patrick Pelissier
5c98d47d8c
Add M_KEYWORD_TO_VA_ARGS
2022-04-17 19:01:21 +02:00
Patrick Pelissier
0875eaac03
Add more tests
2022-04-17 18:51:27 +02:00
Patrick Pelissier
60734bdb2b
Avoid using M_ID / M_OPFLAT in context where it could be used recursively
2022-04-15 23:44:07 +02:00
Patrick Pelissier
e71b19424b
Simplify definition of M_EMPTY_P & M_PARENTHESIS_P
2022-04-14 23:50:40 +02:00
Patrick Pelissier
daac0169d5
Reformat
2022-04-14 23:47:11 +02:00
Patrick Pelissier
baacc0df52
Add test cases for M_AND, M_OR, M_AND3 & M_OR3
2022-04-13 22:49:01 +02:00
Patrick Pelissier
c6921536f7
Add M_AND3 & M_OR3 macros
2022-04-13 22:48:40 +02:00
Patrick Pelissier
4abf0ad2b2
Simplify code
2022-04-11 22:34:08 +02:00
Patrick Pelissier
379d555d35
Remove M_IF_DEFAULT1 from documentation
2022-04-10 23:12:32 +02:00
Patrick Pelissier
8c01acb8d2
Remove M_IF_DEFAULT1 (bad interface).
...
Fix warning in M_DEFAULT_ARGS in some cases.
2022-04-10 23:10:58 +02:00
Patrick Pelissier
2c2c3c21ba
Add test for string_search in C11
2022-04-10 23:09:50 +02:00
Patrick Pelissier
50fd27e07b
Use of M_DEFAULT_ARGS instead of M_IF_DEFAULT1
2022-04-10 23:09:29 +02:00
Patrick Pelissier
3309035814
Reducing preprocessing time for ALGO_FOR_EACH ALGO_TRANSFORM ALGO_EXTRACT
2022-04-10 11:28:12 +02:00
Patrick Pelissier
b691758fa9
Update comments
2022-04-10 11:10:01 +02:00
Patrick Pelissier
7c9afcec8b
Update vocabulary
2022-04-09 16:31:57 +02:00
Patrick Pelissier
06ac05526a
Update doc
2022-04-09 09:02:26 +02:00
Patrick Pelissier
69cef8249a
Update comments and move section
2022-04-09 00:11:51 +02:00
Patrick Pelissier
473df16a5a
Update description & assertion of HASH functions
2022-04-08 23:38:33 +02:00
Patrick Pelissier
e1abf0528c
Rename M_DEFAULT_OPLIST in M_BASIC_OPLIST (cleaner name)
2022-04-08 22:54:29 +02:00
Patrick Pelissier
ef0b335f67
Rename M_CHECK_DEFAULT_TYPE in M_CHECK_BASIC_TYPE, and makes it more stricter in C11. Start separating default macros from basic macros (that perform control & check)
2022-04-08 20:57:06 +02:00
Patrick Pelissier
1a866a3dc4
Update README
2022-04-08 20:55:35 +02:00
Patrick Pelissier
ed437b9e05
Document SPMC & MPMC snapshots
2022-04-03 19:14:42 +02:00
Patrick Pelissier
eea85872fd
Simplify code
2022-04-03 19:14:25 +02:00
Patrick Pelissier
9d33e4cd5a
Update name of library
2022-04-01 23:47:53 +02:00
Patrick Pelissier
530cc8d2a2
Update comments
2022-03-31 22:16:10 +02:00
Patrick Pelissier
9baca84825
Add operator EMPLACE_TYPE, to be used by future emplace methods
2022-03-30 23:11:07 +02:00
Patrick Pelissier
58538e4822
Fix spelling
2022-03-28 23:27:57 +02:00
Patrick Pelissier
e31a8dc407
Update benchmark with new available specialized function
2022-03-26 16:09:25 +01:00
Patrick Pelissier
7875263092
Update documentation
2022-03-26 16:09:02 +01:00
Patrick Pelissier
de3b8509bf
Add tests for m_string_set_si & m_string_set_ui
2022-03-26 16:08:51 +01:00
Patrick Pelissier
a19e1acfff
Add function m_string_set_si & m_string_set_ui for converting an integer into a string.
2022-03-26 16:08:28 +01:00
Patrick Pelissier
e613b5c624
Proper define of NDEBUG to avoid adding assertions in string benchmarks
2022-03-25 22:45:08 +01:00
Patrick Pelissier
ccfddb0685
Update LIBSRT to be the source/build directory
2022-03-25 22:37:23 +01:00
Patrick Pelissier
b8cd679679
Move generating macro into the m_ namespace and create a wrapper using historical names for compatibility with existing code
2022-03-24 20:46:49 +01:00
Patrick Pelissier
fc26e472ab
Move bitset functions to M* namespace
2022-03-23 22:39:18 +01:00
Patrick Pelissier
fc8c7349d6
Reformat
2022-03-23 21:35:22 +01:00
Patrick Pelissier
a4d9b8df17
Moving internal types to internal namespace
2022-03-22 23:37:35 +01:00
Patrick Pelissier
f26da68aa4
Fix regression for C++ / CLANG
2022-03-21 23:27:37 +01:00
Patrick Pelissier
144182b540
Move the worker functions into the m_ namespace and create compatibility layer
2022-03-21 23:15:14 +01:00
Patrick Pelissier
a834ca4921
Add missing public function
2022-03-21 23:13:34 +01:00
Patrick Pelissier
d1fc216836
Move internal type to internal namespace
2022-03-20 19:02:01 +01:00
Patrick Pelissier
5e57338928
Rename string_ into m_string_ in header files (Test files still test classic API)
2022-03-20 18:30:32 +01:00
Patrick Pelissier
f3376b6f0e
Move internal functions to internal namespace
2022-03-20 11:50:05 +01:00
Patrick Pelissier
5e001fdd9d
Move internal type to correct internal namespace
2022-03-19 17:01:20 +01:00
Patrick Pelissier
9fda06276c
Move m_once_t to the public interface
2022-03-19 16:44:40 +01:00
Patrick Pelissier
df79c306d9
Move the internal types toye the internal namespace
2022-03-19 16:44:18 +01:00
Patrick Pelissier
e4955e6851
Move internal types to the internal namespace
2022-03-19 16:43:55 +01:00
Patrick Pelissier
0fec9e7ac4
Fix format
2022-03-19 11:46:28 +01:00
Patrick Pelissier
5be8bb435b
Move WORKER_OPLIST to internal namespace
2022-03-19 11:44:58 +01:00
Patrick Pelissier
35b915ab10
Rename internal functions/types to the internal prefix
2022-03-19 10:47:27 +01:00
Patrick Pelissier
80c57e996d
Add pottery string in bench
2022-03-19 08:32:10 +01:00
Patrick Pelissier
511293d580
Provide example of hash function
2022-03-17 23:03:04 +01:00
Patrick Pelissier
fe2b816447
Add more example in C11 for showing more possibility
2022-03-17 19:37:12 +01:00
Patrick Pelissier
093b7dc1e8
Update example with new possibility & state of the art
2022-03-17 19:34:18 +01:00
Patrick Pelissier
811fa57cbc
Fix generic API: remove the need of superfluous ()
2022-03-17 19:33:46 +01:00
Patrick Pelissier
359ad20a6a
Update documentation with generic API transformation
2022-03-16 22:44:19 +01:00
Patrick Pelissier
ac9989e4ff
Add generic API transformation
...
in the framework responsible of expanding
the call to a method from an operator.
The generic API transformation can
support a wide range of call
(Limited to 9 arguments maximum)
2022-03-16 22:29:57 +01:00
Patrick Pelissier
7268551737
Add micro utilities macros for handling list
2022-03-16 22:29:56 +01:00
Patrick Pelissier
823b1974bb
Update comments
2022-03-16 22:29:56 +01:00
Patrick Pelissier
382f636206
Fix build issue of bench
2022-03-16 22:27:37 +01:00
Patrick Pelissier
9a1b4abcf9
Add missing small names
2022-03-15 19:29:18 +01:00
Patrick Pelissier
a0fc57687b
Fix format
2022-03-15 19:24:53 +01:00
Patrick Pelissier
02897f982f
Add m_ prefix for the string API
2022-03-15 19:24:14 +01:00
Patrick Pelissier
07a5d0ed0a
Define M_USE_SMALL_NAME user macro
2022-03-15 19:04:45 +01:00
Patrick Pelissier
017995ade6
Update README
2022-03-14 22:13:04 +01:00
Patrick Pelissier
9711b2280c
Reorder the list of libraries in alphabetic order
2022-03-14 19:33:36 +01:00
Patrick Pelissier
619331916f
Add reference to STR & POTTERY string libraries
2022-03-14 19:32:46 +01:00
Patrick Pelissier
d7909f7312
Move internal function / macros with the m_string prefix to the internal m_str1ng prefix
2022-03-14 19:29:33 +01:00
Patrick Pelissier
22674f2b46
Fix format
2022-03-14 19:28:49 +01:00