Patrick Pelissier
3377acd9e6
Test another bit for _pop_at
2021-02-22 11:30:59 +01:00
Patrick Pelissier
709168652a
Reformat and specify clz for bitset size = 0
2021-02-21 21:41:51 +01:00
Patrick Pelissier
e25e9ba29b
Make the contract of Array & Buffer fail after a clear.
2021-02-21 21:08:35 +01:00
Patrick Pelissier
ed5eac6e9d
Update doc
2021-02-21 21:08:35 +01:00
Patrick Pelissier
651768f012
Fix name in doc
2021-02-21 21:08:35 +01:00
Patrick Pelissier
88c0a881da
Update
2021-02-20 00:22:24 +01:00
Patrick Pelissier
5b9dd504e5
Add chapter "Global User Customization"
2021-02-20 00:20:54 +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
6cc972bab2
Rename header define to be compliant with others.
2021-02-20 00:08:07 +01:00
Patrick Pelissier
333047fc4c
Make assertions more robust.
...
Fix read out of bound (with test cases).
2021-02-14 00:15:43 +01:00
Patrick Pelissier
3e4a5932c2
Rename internal function / types.
...
Reformat
2021-02-13 11:45:16 +01:00
Patrick Pelissier
e2f6b81a03
Remove M_LOCK from readme as it is obsolete.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
0231aad947
Update coding rules.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
6636800c5b
Remove obsolete / deprecated function/macros.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
d1f41de0cb
Rename internal functions
...
to use internal prefix.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
c4d339cb62
Rename internal interface.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
56b2adc57d
Fix internal name.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
a73bee2650
Micro-optimization of DICT_OA
...
by reducing the number of cmp instructions.
2021-02-13 11:45:16 +01:00
Patrick Pelissier
517da1b999
Rename generated internal functions
...
to avoid "poluting" userspace naming.
2021-02-13 11:45:05 +01:00
Patrick Pelissier
25497bd96f
Factorize code so that _DEF macros use _DEF_AS ones
2021-02-07 23:04:59 +01:00
Patrick Pelissier
d12b1edc39
Update doc
2021-02-07 23:04:45 +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
e84bc9fc0d
Fix link
2021-02-07 09:41:10 +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
57fcb4012b
Update doc
2021-02-07 00:42:10 +01:00
Patrick Pelissier
5be981def3
Fix warning
2021-02-07 00:41:59 +01:00
Patrick Pelissier
493e38abfc
Fix formatting
2021-02-07 00:31:15 +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
3dad326bea
Update doc
2021-02-06 23:54:16 +01:00
Patrick Pelissier
480a791f4c
Update tests
2021-02-06 23:41:04 +01:00
Patrick Pelissier
753c46ef14
Add OrderPP
2021-02-06 23:40:58 +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
e4dc06a0e2
Update doc
2021-02-06 22:13:06 +01:00
Patrick Pelissier
cd2012f33d
Update doc
2021-02-06 21:58:52 +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
527f6d8d9a
Add metalang99
2021-02-06 21:05:26 +01:00
Patrick Pelissier
9ebc12a98f
Update to 0.5.1
2021-02-06 21:03:19 +01:00
Patrick Pelissier
bb21d9a6ad
Update Makefile to control that both versions are the same when making a distribution
2021-02-06 21:00:25 +01:00
Patrick Pelissier
ad39cdd393
Add some tests for new function
2021-02-05 00:17:18 +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
6d6afa4cfd
Update doc
2021-01-29 20:43:46 +01:00
Patrick Pelissier
7546cbedd2
Update doc
2021-01-20 20:44:48 +01:00
Patrick Pelissier
8d5962eefd
Update target html & doc
2021-01-20 20:44:36 +01:00
Patrick Pelissier
8597b0b8c0
Fix warning on clang and old gcc
2021-01-18 18:21:01 +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
bce86460fe
Rewrite test cases to avoid potential warnings
2021-01-18 18:16:05 +01:00
Patrick Pelissier
f002eebc83
Update constraint
2021-01-18 18:01:42 +01:00
Patrick Pelissier
139da2e49f
Update example
2021-01-16 10:25:55 +01:00
Patrick Pelissier
91d40a0f43
V0.5.0
2021-01-13 20:18:01 +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
561f67b3b9
Update list of ignored files
2021-01-13 08:27:00 +01:00
Patrick Pelissier
15a02e3306
Update final message
2021-01-10 20:04:14 +01:00
Patrick Pelissier
944d29e8bc
Workaround CLANG preprocessor failure on Windows platform
2021-01-10 20:03:28 +01:00
Patrick Pelissier
aefba70c1e
Rework once again how to detect a failure in an application:
...
IF errorlevel 1 only works for positive error code
IF not errorlevel 0 only works for negative error code
There are not reliable. So, use && and || instead.
Remove expected failure on test as all tests pass now
(and it was broken).
2021-01-10 18:08:48 +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
f560839516
Add example of string_sets
2021-01-10 09:51:53 +01:00
Patrick Pelissier
8a9d5f6a00
Add macro string_sets (like string_cats)
2021-01-10 09:51:38 +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
ffc2ec8c4b
Fix format
2021-01-10 09:25:27 +01:00
Patrick Pelissier
b0ebbb306e
Update
2021-01-10 09:20:42 +01:00
Patrick Pelissier
c3574aa290
Update comments
2021-01-10 09:02:52 +01:00
Patrick Pelissier
eabc867c2a
Rename used namespace for C++ to m_lib
2021-01-10 08:48:46 +01:00
Patrick Pelissier
a03b2e80c6
Document string_cats
2021-01-07 22:13:10 +01:00
Patrick Pelissier
c4f23640d5
Add test for string_cats
2021-01-07 22:13:10 +01:00
Patrick Pelissier
a42b854f14
Add macro string_cats to concat multiple strings
2021-01-07 22:13:10 +01:00
Patrick Pelissier
9aa08bfc59
Add support for struct in M_AS_TYPE
2021-01-07 22:13:10 +01:00
Patrick Pelissier
06b79a6caa
Add tests for 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
6f7d3fcd79
Add limiation on M_EMPTY_P
2020-12-31 00:12:36 +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
a580aaac83
Add more test cases for M_EMPTY_P
2020-12-31 00:11:37 +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
826ecf76c0
Workaround a compiler warning
2020-12-30 19:02:00 +01:00
Patrick Pelissier
2cf5bff32d
Fix negative error code termination for MSVS (See #86 )
2020-12-30 17:58:43 +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
ab9284ca20
Update documentation
2020-12-27 10:44:41 +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
76b9f9a715
Add test cases for M_GET_STRING
2020-12-26 08:58:52 +01:00
Patrick Pelissier
2ee82c478b
Remove useless type (see #82 )
2020-12-24 10:58:51 +01:00
Patrick Pelissier
211121435d
Fix warning in C++ mode with G++ 10
2020-12-24 08:13:44 +01:00
Patrick Pelissier
fffd1702a5
CLANG 3.8 stdatomic works. Update minimun version
2020-12-24 07:35:45 +01:00
Patrick Pelissier
9aa99bf230
Update package list before installing multilib
2020-12-21 15:23:49 +01:00
Patrick Pelissier
1671ca8d67
Add more assertions
2020-12-21 15:16:16 +01:00
Patrick Pelissier
ad16b310e1
Fix overflow issue in bitset_last_p (see #81 )
2020-12-21 15:08:19 +01:00
Patrick Pelissier
4dbcfd25b3
Fix non support of break in M_LET_IF
2020-12-16 15:27:41 +01:00
Patrick Pelissier
01167b09c4
Add an example of M_LET_IF
2020-12-16 11:07:11 +01:00
Patrick Pelissier
15d0b86c62
Update documentation & add tests as per lastest changes
2020-12-16 11:07:11 +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