Patrick Pelissier
56f51c59af
Add comments about locale dependent functions.
2023-02-11 23:47:11 +01:00
Patrick Pelissier
39e67eebdc
EMPLACE: Fix expansion of methods as macro in the oplist
...
by performing another evaluation step.
2023-01-28 14:49:07 +01:00
Patrick Pelissier
870a6f4b57
Update to 0.7.1
2023-01-02 13:06:29 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
43fdd10e77
Release 0.7.0
2022-12-27 20:01:44 +01:00
Patrick Pelissier
3a3ef7454c
Fix conflict issue between INIT_WITH_VAI macro and API transformation.
...
Since both used M_MAP2_C macro, the final expansion was stopped if an
API generic transformation was requested in INIT_WITH_VAI.
Duplicate M_MAP2_C internally for API transformation.
2022-12-24 23:04:42 +01:00
Patrick Pelissier
9cc03ff81b
Add macro M_INIT_WITH_THROUGH_EMPLACE_TYPE that provides an INIT_WITH
...
method that scans the different methods provided in EMPLACE_TYPE and
try to search for a matching one.
2022-12-23 11:49:08 +01:00
Patrick Pelissier
f5bbc0a7fb
Implement multiple kind of workarounds for GCC 12
...
as it produces more false warnings
Include missing header in C++ mode
2022-12-22 20:42:20 +01:00
Patrick Pelissier
9da0d1d94b
Add new internal macro M_TAIL_3
2022-12-22 15:49:10 +01:00
Patrick Pelissier
fafaaafdbf
Avoid warning for M_RET_ARG if there is the exact number of argument.
...
Add internal M_TRIPLE_* macros (TBC)
2022-12-22 14:05:46 +01:00
Patrick Pelissier
ea3584e048
Rename internal macro to internal namespace
2022-11-29 23:16:55 +01:00
Patrick Pelissier
93229c61f2
Update comments
2022-10-12 23:26:33 +02:00
Patrick Pelissier
64800dbd3f
Use of type from oplist rather than meta name
...
(more coherent)
2022-10-10 23:06:02 +02:00
Patrick Pelissier
2d9d9fbd9f
Remove obsolete macros
2022-10-10 22:54:48 +02:00
Patrick Pelissier
d6b9b054c2
Fix emplace generation
...
(incorrect value oplist)
2022-10-03 22:34:13 +02:00
Patrick Pelissier
0fec33b38e
* Add emplace generation for dict/hashmap.
...
(still need more tests).
* Factorize emplace generation for R+TREE/Prioqueue
2022-10-02 22:24:22 +02:00
Patrick Pelissier
bc63edc595
Fix emplace generation for asso array
2022-10-02 21:41:21 +02:00
Patrick Pelissier
775ec6f91b
Make M_ASSERT_INDEX more robust
...
in case it is called with a signed integer.
The trick was using x-x to represent 0 so that
the compiler won't complain with the comparaison
x >= 0 when it is called with unsigned number.
2022-10-01 11:38:11 +02:00
Patrick Pelissier
1a5b428bfb
Fix proper support of no stdio
...
and add macro M_RAISE_FATAL to raise a fatal error
with the default is using stdio.
2022-10-01 09:50:09 +02:00
Patrick Pelissier
bd49e31f3b
Add definition macros for emplace/associative array container.
2022-09-29 23:48:46 +02:00
Patrick Pelissier
2dba83e3c5
Remove M_USE_STDLIB
...
(It wasn't working at all).
2022-09-28 22:16:04 +02:00
Patrick Pelissier
75e9766da9
Fix wrong generation for emplace / value
2022-09-26 23:43:39 +02:00
Patrick Pelissier
4aa4b7693f
Add M_C5_EMPTY macro
...
Add M_CROSS_MAP2 macro
Add emplace generation for associative array if both key & value are emplace types
Add test cases.
2022-09-25 22:13:51 +02:00
Patrick Pelissier
5674cdbfc5
Add new macro M_CROSS_MAP
...
enabling to map a function to each pair
of arguments given two arglists.
2022-09-25 00:30:23 +02:00
Patrick Pelissier
3641829198
M_INC (resp. M_DEC) of M_UNDERFLOW (resp. M_OVERFLOW)
...
will keep the initial error.
2022-09-16 18:46:13 +02:00
Patrick Pelissier
b5a3b36c1b
* Add M_C3_EMPTY function.
...
* Add WIP generator for emplace functions for associative array. What is missing is the hard part (even what is done cannot be said as easy!) Generation of both N x M functions. It probably needs a new MAP function for this.
2022-09-15 23:25:38 +02:00
Patrick Pelissier
6b994c2928
Add m_core_ctz32 & m_core_ctz64 functions
...
(Count trailing zeros)
2022-08-29 19:30:09 +02:00
Patrick Pelissier
8febe12c5c
Make stdlib an optional header
2022-08-09 00:20:32 +02:00
Patrick Pelissier
1bef7c1977
Fix formatting
2022-06-13 23:21:06 +02:00
Patrick Pelissier
5ac08e42d8
Adding const for the type generation in emplace
2022-06-04 23:40:36 +02:00
Patrick Pelissier
f26e1e5a12
Fix issue in case of recursive call of INIT_WITH with conditionnal INIT_WITH
2022-06-04 23:27:13 +02:00
Patrick Pelissier
b5a3e010d8
Add {} for if
2022-05-26 22:13:24 +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
58eed79413
Register the oplist associated to unsigned
2022-05-04 22:25:15 +02:00
Patrick Pelissier
845ab1fef0
Update comment
2022-04-28 23:03:04 +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
3a53044198
Add M_EMPLACE macros to enables generic generation of EMPLACE functions
2022-04-20 22:43:12 +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
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
5c98d47d8c
Add M_KEYWORD_TO_VA_ARGS
2022-04-17 19:01:21 +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
c6921536f7
Add M_AND3 & M_OR3 macros
2022-04-13 22:48:40 +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