Patrick Pelissier
5a1f768b03
Update comment about lock-free property
2022-05-14 09:16:41 +02:00
Patrick Pelissier
e854bc8fc9
Remove warning in C++ mode for using C++ class
2022-05-12 00:00:10 +02:00
Patrick Pelissier
9ab958708d
Update doc:
...
clarify operators
2022-05-11 23:26:36 +02:00
Patrick Pelissier
85ea92d83b
Review of m-core.h
...
* Add control of MSVC preprocessor
* Add comments
* Remove useless evaluation pass
* Rewrite some evaluation pass to be faster.
2022-05-11 21:38:47 +02:00
Patrick Pelissier
22a406ac51
Add new test case (M_MAP + M_SEQ)
2022-05-11 21:38:47 +02:00
Patrick Pelissier
58eed79413
Register the oplist associated to unsigned
2022-05-04 22:25:15 +02:00
Patrick Pelissier
e83dea8212
Fix warnings for Visual C++
2022-05-10 23:49:20 +02:00
Patrick Pelissier
c829827f48
Fix warnings for Visual C++
2022-05-10 23:34:48 +02:00
Patrick Pelissier
b47cf05a59
Update doc
2022-05-10 23:14:47 +02:00
Patrick Pelissier
22a93514ff
Add EMPLACE test for priority queue
2022-05-10 23:10:58 +02:00
Patrick Pelissier
154865f0f1
Add EMPLACE support for priority queue
2022-05-10 23:10:44 +02:00
Patrick Pelissier
71151770fd
Fix wrong type
2022-05-09 22:55:57 +02:00
Patrick Pelissier
72623ce13e
Adding test cases for I/O methods
2022-05-09 22:52:28 +02:00
Patrick Pelissier
94f20d56e9
Adding OUT_STR / IN_STR / PARSE_STR / GET_STR / IN_SERIAL / OUT_SERIAL methods
2022-05-09 22:51:46 +02:00
Patrick Pelissier
9e8ad9bfd9
Fix format
2022-05-09 22:48:56 +02:00
Patrick Pelissier
e51a5be776
Add check of prioqueue against STL C++
2022-05-09 22:25:09 +02:00
Patrick Pelissier
7d647340c6
Update
2022-05-09 22:24:48 +02:00
Patrick Pelissier
c6ea3c0616
Fix spelling
2022-05-09 20:16:33 +02:00
Patrick Pelissier
9ab90be6d4
Add check of B+Tree / Set
2022-05-09 20:12:55 +02:00
Patrick Pelissier
10440320d1
Remove IT_REF from exported oplist as the items shall appear as not modifiable by algorithms
2022-05-09 20:12:39 +02:00
Patrick Pelissier
fc7e93403a
Update copyright year
2022-05-09 20:06:05 +02:00
Patrick Pelissier
b0c4418584
Fix M_ALGO_EXTRACT: the source oplist wasn't transformed into a global one.
2022-05-09 20:03:26 +02:00
Patrick Pelissier
5f73eb7788
Add test for support C++ class in M*LIB
2022-05-06 23:08:27 +02:00
Patrick Pelissier
a554312573
Update doc
2022-05-06 23:07:10 +02:00
Patrick Pelissier
8a1fd391d1
Fix reverse issue
2022-05-06 01:27:34 +02:00
Patrick Pelissier
95b104ee48
Issue in generation of functions:
...
if the method in the oplist uses API_* transformation,
if this method is a macro itself,
it may delay the expansion too much and
the macro may not be expanded at all in the final code generation.
Fix issue by adding a supplementary evaluation in the macro expansion.
Add test cases
2022-05-06 01:10:31 +02:00
Patrick Pelissier
c3df69d011
Add tests for generic API + macros
2022-05-04 22:16:01 +02:00
Patrick Pelissier
73468a3e24
Update doc
2022-05-02 23:15:58 +02:00
Patrick Pelissier
f254f98e42
Update doc
2022-05-02 21:40:49 +02:00
Patrick Pelissier
d37076dd37
Update comments
2022-05-02 21:11:12 +02:00
Patrick Pelissier
5ef9376148
Improve example (adding ADD/SUB/MUL/DIV operators
2022-04-29 19:55:29 +02:00
Patrick Pelissier
d8abda7583
Fix issue (implicit const cast)
2022-04-29 19:55:02 +02:00
Patrick Pelissier
892c755389
Improve example to show emplace support
2022-04-28 23:10:57 +02:00
Patrick Pelissier
aba2f90c9d
Add test for emplace generation for variant
2022-04-28 23:10:40 +02:00
Patrick Pelissier
dc487c7e64
Add support for EMPLACE_TYPE for variant
2022-04-28 23:10:27 +02:00
Patrick Pelissier
18b1bd9518
Fix makefile if MPFR not found
2022-04-28 23:06:41 +02:00
Patrick Pelissier
845ab1fef0
Update comment
2022-04-28 23:03:04 +02:00
Patrick Pelissier
94bfac3f75
Improve example by adding also mpfr
2022-04-28 22:22:05 +02:00
Patrick Pelissier
bd5c9ce2a7
Add MPFR detection
2022-04-28 22:10:36 +02:00
Patrick Pelissier
f5934a6274
Add emplace type example
2022-04-27 21:57:28 +02:00
Patrick Pelissier
c6f71fddc7
Add test for stable_sort
2022-04-26 21:35:51 +02:00
Patrick Pelissier
74764e2d6f
Fix issues in stable_sort: wrong assertion & missing init_move
2022-04-26 21:35:51 +02:00
Patrick Pelissier
9b00a8c54e
Update documentation
2022-04-25 22:10:19 +02:00
Patrick Pelissier
66735e99c3
Add check sanitize to Continuous Integration
2022-04-23 10:40:39 +02:00
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