Patrick Pelissier
7f79abec3f
Fix issue with INIT_WITH of array/list/....
...
combined with tuple:
_push_back_raw was used within an expanded macro
and as a consequence was expanded multiple times,
resulting in adding a new term in the sequence
for each field of the tuple.
2021-07-04 00:01:00 +02:00
Patrick Pelissier
368392fb8f
Add CLEAN operator for default oplist
...
(same as INIT operator)
2021-07-01 22:12:15 +02:00
Patrick Pelissier
ca65d81b60
* Fix conflict between M_MAP2 /M_MAP2B
...
(this arises through M_LET & M_GET_METHOD)
* Rename M_GET_OPPROPERTY into M_GET_PROPERTY
* M_LET can be configured to always use INIT_WITH for special kind of objects.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
dedb79dbc5
Use of new initializer macro
2021-07-01 22:12:15 +02:00
Patrick Pelissier
5c612ce521
Update M_LET to handle both set & init_with depending on the user syntax. Add M_INIT_WITH_VAI to use this new feature.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
61671d1b18
Minor fix
2021-07-01 22:12:15 +02:00
Patrick Pelissier
a19a010d1e
Add WIP version for a M_LET recursive
2021-07-01 22:12:14 +02:00
Patrick Pelissier
36003b6bb3
* Add support for extented variable for M_[F]PRINT
...
* Update documentation
* Add test.
2021-07-01 00:13:31 +02:00
Patrick Pelissier
3c83e4088c
Add internal macro M_MERGE_ARGLIST
2021-06-20 11:06:19 +02:00
Patrick Pelissier
0535ceeaeb
Add support of string_t by M_PRINT macro.
2021-06-19 22:46:41 +02:00
Patrick Pelissier
e688f0b1df
Add internal method M_GET_OPPROPERTY to get the subproperty of an oplist
...
Add test for such macro
Rename operator CLASS into PROPERTIES
2021-06-17 00:20:35 +02:00
Patrick Pelissier
cf8b198dac
Fix issue in M_LET: if the INIT/INIT_SET/INIT_WITH uses the macro M_IF, it may be not expanded in some cases (since the M_CALL_* is used itself within an expanded tainted M_IF). Fix this by calling M_CALL_* outside the expanded M_IF.
2021-05-23 00:53:54 +02:00
Patrick Pelissier
c75d5da02d
Fix: use of M_CALL_INIT / M_CALL_CLEAR instead of M_GET_INIT / M_GET_CLEAR so that API transformation can be applied
2021-05-23 00:42:43 +02:00
Patrick Pelissier
cdffb15066
Simplify code
2021-05-23 00:34:08 +02:00
Patrick Pelissier
cd0ad0dba9
Factorize code
2021-05-23 00:31:23 +02:00
Patrick Pelissier
3c8b238e75
Add operator CLASS and new keywords
2021-05-22 17:33:34 +02:00
Patrick Pelissier
74202d52b3
Adding default value for LIMITS
...
enabling to avoid defining then for all types.
2021-04-16 23:23:42 +02:00
Patrick Pelissier
603c92cd0e
Cleanup uneeded final comma separator
2021-04-10 23:27:49 +02:00
Patrick Pelissier
3e7de27c00
Rename M_HASH_SEED into M_USE_HASH_SEED
...
as it a user overridable macro
(API break).
2021-04-03 23:15:12 +02:00
Patrick Pelissier
052989a5a2
Update m_serial_ll_ct to have more basic types.
2021-03-28 11:09:59 +02:00
Patrick Pelissier
2f10aba390
Workaround issue with address sanitizer
2021-03-14 21:26:04 +01:00
Patrick Pelissier
ae285c0a01
Add also const string in serial object
2021-03-09 20:55:46 +01:00
Patrick Pelissier
165ec09061
Rename user customizable macros
...
to be compliant with other
and clearer that they can be customized.
2021-02-20 00:10:26 +01:00
Patrick Pelissier
517da1b999
Rename generated internal functions
...
to avoid "poluting" userspace naming.
2021-02-13 11:45:05 +01:00
Patrick Pelissier
0515cfd068
Add macro M_GREATER_THAN_P & M_LESS_OR_EQUAL_P (src, tests, doc)
2021-02-07 09:53:13 +01:00
Patrick Pelissier
d85df43329
Replace UNERDLOW/OVERFLOW by M_UNDERFLOW/M_OVERFLOW as some systems (Windows/MacOS) perform '#define UNDERFLOW value' in their headers, preventing the detection at preprocessing time.
2021-02-07 09:36:00 +01:00
Patrick Pelissier
16e2e07d41
* Fix M_REVERSE as per the doc (don't add parenthesis on the returned arglist). * Update usage to take this into account.
2021-02-07 00:50:10 +01:00
Patrick Pelissier
6e006d216b
Add macro M_GREATER_OR_EQUAL_P (src, test, doc)
2021-02-07 00:25:47 +01:00
Patrick Pelissier
da613ad188
* Add macro M_LESS_THAN_P (src, test, doc). * Robustify M_INC & M_DEC so that overflow & underflow keeps returning overflow & underflow
2021-02-07 00:10:55 +01:00
Patrick Pelissier
f2d5de252b
Add M_FILTER and M_FILTER_C macros (src, tests, doc)
2021-02-06 23:24:55 +01:00
Patrick Pelissier
0cb1a8054f
Add M_REPLICATE & M_REPLICATE_C (src, test, doc)
2021-02-06 22:32:38 +01:00
Patrick Pelissier
07eb5697ab
Remove limitation of M_AS_STR to be called within a M_APPLY
2021-02-06 22:22:50 +01:00
Patrick Pelissier
9eba30648d
Rename M_INVERT into M_REVERSE to be more coherent with REVERSE operator
2021-02-06 21:58:45 +01:00
Patrick Pelissier
7e70371197
Format & comment code
2021-02-06 21:28:18 +01:00
Patrick Pelissier
9ebc12a98f
Update to 0.5.1
2021-02-06 21:03:19 +01:00
Patrick Pelissier
0de771036b
Add M_REDUCE3
...
Add M_MAP3_C
Add operator LIMITS.
2021-02-05 00:11:44 +01:00
Patrick Pelissier
c625c39883
Add a new implementation of M_CSTR using GNU C extension which provides faster & smaller code
2021-01-18 18:16:45 +01:00
Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +01:00
Patrick Pelissier
cd357c5eb7
Rewrite the wrappers of strncpy & strncat:
...
Add one argument about the allocation of the dest buffer
Theses wrappers are internal (so no impact to API)
and only used in a few place in m-string.
This make the wrappers able to use the function
strncpy_s & strncat_s for MSVC rather than using
reimplementation of the original functions.
2021-01-13 08:34:47 +01:00
Patrick Pelissier
944d29e8bc
Workaround CLANG preprocessor failure on Windows platform
2021-01-10 20:03:28 +01:00
Patrick Pelissier
c9ed4ba820
Fix compiler error with MSVC with new implementation of offsetof
2021-01-10 18:01:19 +01:00
Patrick Pelissier
df97ea848c
Fix error for C++
2021-01-10 10:01:54 +01:00
Patrick Pelissier
93d810421d
Fix warning with newest gcc
2021-01-10 09:57:07 +01:00
Patrick Pelissier
5f05c1e169
Make stdarg an optional header. Some works remain to do to make stdio fully optional
2021-01-10 09:40:37 +01:00
Patrick Pelissier
3df2408ffb
Add macro M_CSTR
2021-01-10 09:26:27 +01:00
Patrick Pelissier
c3574aa290
Update comments
2021-01-10 09:02:52 +01:00
Patrick Pelissier
9aa08bfc59
Add support for struct in M_AS_TYPE
2021-01-07 22:13:10 +01:00
Patrick Pelissier
6d533bd52a
Add (internal) macro M_CONDITIONAL
2021-01-07 22:13:10 +01:00
Patrick Pelissier
1b4c608087
Rename operator TEST_EMPTY into EMPTY_P to be compliant with iterator operator
2021-01-07 22:13:10 +01:00
Patrick Pelissier
6ccc81fd92
Remove unused operator UPDATE_TYPE
2021-01-07 22:13:09 +01:00