Patrick Pelissier
8a2549ef67
Add WIP prototype for separate generation of declarations and body
...
instead of just static inline functions.
Implemented for list only (and not for emplace generations)
2023-04-22 13:14:37 +02:00
Patrick Pelissier
219c62ff5d
Provide a way to alter the standard naming convention for the functions
...
Close #72
2023-04-22 09:33:08 +02:00
Patrick Pelissier
95762a058c
Fix const attribute of _get_emplace
2023-04-19 22:42:21 +02:00
Patrick Pelissier
e3e94ca238
Add M_ATTR_COLD_FUNCTION attribute
2023-04-16 19:15:22 +02:00
Patrick Pelissier
ae81271b2a
Fix name of internal variable for M_DEFER
2023-04-16 08:33:45 +02:00
Patrick Pelissier
6580601969
Add M_ATTR_NO_RETURN attribute support (not C23 compatible yet)
2023-04-15 22:50:27 +02:00
Patrick Pelissier
25a2eb0875
Correct syntax
2023-04-11 21:32:38 +02:00
Patrick Pelissier
0aa6a9f0cf
Update comments
2023-04-03 13:19:50 +02:00
Patrick Pelissier
25d4829d7b
Add utilities function for parsing FILE or char* while skipping space character
2023-04-03 13:17:25 +02:00
Patrick Pelissier
7534aa0d61
Add internal M_UNLIKELY_NOMEM to help coverage computation
2023-04-03 00:05:29 +02:00
Patrick Pelissier
4e4e21793c
Add _get_emplace functions for associative array
2023-03-29 22:59:43 +02:00
Patrick Pelissier
39a719c3f0
Fix warnings
2023-03-28 23:43:21 +02:00
Patrick Pelissier
8b643b4878
Add support for emplace detection in associative array + M_LET
2023-03-28 23:43:08 +02:00
Patrick Pelissier
ea2715aa75
Remove static assert. Some old compilers failed to simplify into a constant expression, resulting in build failure
2023-03-24 23:54:49 +01:00
Patrick Pelissier
66f5e6c67d
Support for more than one expression in M_DEFER
2023-03-18 17:56:44 +01:00
Patrick Pelissier
42d3042c15
Add NOCLEAR property to M_BASIC_OPLIST and prepare injection for M_DEFER
2023-03-18 17:25:08 +01:00
Patrick Pelissier
08b4bc9052
M_LET_IF reuses clear mechanism provided by M_DEFER
2023-03-18 15:14:31 +01:00
Patrick Pelissier
d1094999f5
Update M_ASSERT to separate requirement for predicate
2023-03-18 09:15:11 +01:00
Patrick Pelissier
ab3aa33fac
Add M_SET_THROUGH_INIT_SET
2023-03-18 08:08:23 +01:00
Patrick Pelissier
535e00366a
Correct reported errors
2023-03-18 00:21:37 +01:00
Patrick Pelissier
144ae9c5ed
Add ID support for GAIA
2023-03-17 21:47:04 +01:00
Patrick Pelissier
94b6d1b9fd
Fix computation of HASH_FINAL
2023-03-13 22:17:10 +01:00
Patrick Pelissier
2f57766249
Rename NOEXCEPT to NOCLEAR property as NOEXCEPT
...
doesn't provide enough guarantee to the exception handler.
2023-03-12 20:23:31 +01:00
Patrick Pelissier
11dc7afc06
Add NOEXCEPT property and M_TEST_NOEXCEPT_P macro to test it
2023-03-05 19:44:04 +01:00
Patrick Pelissier
800a1e5c36
Add support for RET in API transformation and register global bool oplist
2023-02-22 22:46:46 +01:00
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