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
Patrick Pelissier
7484dee707
Fix a corner case for M_EMPTY_P where it performs too much evaluation steps
2020-12-31 00:12:21 +01:00
Patrick Pelissier
52bef353e0
Workaround WIN clang that claims to be C11 but fails to deliver a working assert.h (See #85 )
2020-12-30 19:03:10 +01:00
Patrick Pelissier
1377d7a1c2
Fix usage of strncpy_s and strncat_s
...
Provides a full wrapper around strncpy & strncat
(for MSVS as it complains on using strncpy & strncat).
See #86
2020-12-28 23:35:50 +01:00
Patrick Pelissier
5dab01c1c7
Fix spelling
2020-12-26 09:08:42 +01:00
Patrick Pelissier
f9c434401b
Fix M_GET_STRING_ARG (See #84 )
2020-12-26 09:00:39 +01:00
Patrick Pelissier
4dbcfd25b3
Fix non support of break in M_LET_IF
2020-12-16 15:27:41 +01:00
Patrick Pelissier
edbcecb272
Add support for else condition in M_LET_IF. Fix also a bug in computing unique variable per line
2020-12-16 11:07:11 +01:00
Patrick Pelissier
e893560a48
Add macros M_LET_IF and M_DEFER to help handling with runtime errors
2020-12-14 21:26:07 +01:00
Patrick Pelissier
bdf29af9e9
* Add DJB Xor hash * Rename function (see #78 )
2020-11-29 22:05:24 +01:00
Patrick Pelissier
85ea1f40dc
Use classic hash rather than fast one for C-String (fix assertion failure for C-String hash)
2020-11-29 19:36:28 +01:00
Patrick Pelissier
ef1145603a
Update comments.
2020-10-31 17:30:14 +01:00
Patrick Pelissier
d169a06f79
Rename STRING_ASSERT_SLOW into M_ASERT_SLOW
2020-10-31 17:30:14 +01:00
Patrick Pelissier
a29682ca29
Create M_ASSERT macro to encapsulate assert within M*LIB
...
The goal is to enable the user to override this macro if needed so that it can enable or disable the M*LIB witout impacting its own assertions.
2020-10-29 22:46:17 +01:00
Patrick Pelissier
f5afd6e275
Update comments.
2020-10-25 21:16:43 +01:00
Patrick Pelissier
7b5fd14bcf
Update comment.
2020-10-24 23:29:02 +02:00
Patrick Pelissier
0818d0ac7c
Fix macro formatting.
2020-10-23 21:46:34 +02:00
Patrick Pelissier
032388b790
Update message
2020-10-21 23:57:24 +02:00
Patrick Pelissier
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
7a517ee3ae
Upate comments.
2020-10-16 20:53:34 +02:00
Patrick Pelissier
eb8b106f48
Update comments.
2020-10-03 14:07:14 +02:00
Patrick Pelissier
6d47074457
Rename internal types of m-core
2020-10-03 14:07:14 +02:00
Patrick Pelissier
5f9feb833c
Replace TAB by SPACE
2020-07-25 19:17:25 +02:00
Patrick Pelissier
ab6c90f42f
Fix issue with a warning that it triggers now but now before, whereas the code has not changed. Another random warning
2020-07-11 20:39:27 +02:00
Patrick Pelissier
6ca65dd60c
Update comment
2020-07-11 18:36:46 +02:00
Patrick Pelissier
40c8dbae1e
Update detection of disabled method
2020-07-11 18:01:48 +02:00
Patrick Pelissier
18af53cf38
Disable Wformat-nonliteral in the protected section
2020-07-11 17:18:43 +02:00
Patrick Pelissier
e2c60aa45c
Fix another warnings that are triggered in another random combinaison of compiler settings
2020-07-10 12:59:31 +02:00
Patrick Pelissier
56d2a74818
Fix some warnings
2020-07-09 23:38:34 +02:00