Patrick Pelissier
9863a8325c
Fix assertion. NULL pointer is accepted for HASH providing the size is 0
2019-01-26 09:10:18 +01:00
Patrick Pelissier
325ca30c61
Add M_CACHELINE_ALIGN macro
2019-01-15 19:10:39 +01:00
Patrick Pelissier
7f9007ca1a
Add UPDATE_TYPE
2019-01-11 07:58:20 +01:00
Patrick Pelissier
c990277855
Add extension attribute support
2019-01-02 22:34:39 +01:00
Patrick Pelissier
8b3a4a802c
Happy new year!
2019-01-02 18:12:07 +01:00
Patrick Pelissier
8b9f605ffa
Add exponential backoff structure & functions
2019-01-02 18:09:16 +01:00
Patrick Pelissier
c154cdf46c
Add operator GET_SIZE
2018-11-25 17:52:24 +01:00
Patrick Pelissier
31c3baa42b
Update comment
2018-10-30 20:10:15 +01:00
Patrick Pelissier
99d883253c
Add TEST_EMPTY operator
2018-10-28 22:13:48 +01:00
Patrick Pelissier
08d2af22db
Add KEY_OPLIST & VALUE_OPLIST operators
2018-10-28 10:38:41 +01:00
Patrick Pelissier
70179bb1d7
Add VALUE_TYPE operator
2018-10-28 10:33:25 +01:00
Patrick Pelissier
83226c5ce8
Add KEY_TYPE operator
2018-10-28 10:03:47 +01:00
Patrick Pelissier
bd315c7e43
Add method ERASE_KEY
2018-10-27 23:04:56 +02:00
Patrick Pelissier
4e6dad939a
API Compatibility change: rename _remove for DICT & B+TREE into _erase for API uniformization.
2018-10-27 22:56:00 +02:00
Patrick Pelissier
c169c05bba
Clarify name of old methods SET_KEY, GET_KEY, GET_SET_KEY
2018-10-27 22:34:34 +02:00
Patrick Pelissier
7a067a4b90
Add M_PTR_OPLIST
2018-10-27 11:13:09 +02:00
Patrick Pelissier
3774f8fd11
Fix M_POD_OPLIST in C11 mode
2018-10-26 20:18:32 +02:00
Patrick Pelissier
5b74d54c64
Remove unused macro.
2018-09-25 20:10:44 +02:00
Patrick Pelissier
1380a91bf1
Update comments.
2018-09-17 22:20:39 +02:00
Patrick Pelissier
2e3b312fab
Fix issue of recursive usage of M_GLOBAL_OPLIST_OR_DEF
...
Update the way to use the macro to avoid being limited by the
preprocessor limitation.
2018-09-14 20:57:55 +02:00
Patrick Pelissier
1838a490ba
Update doc
2018-09-08 09:47:47 +02:00
Patrick Pelissier
8bfdf2bd5f
Add M_IF_METHOD2_BOTH
2018-09-08 08:48:09 +02:00
Patrick Pelissier
d4cd327ea3
Add API transform call for all operators.
2018-09-02 10:40:09 +02:00
Patrick Pelissier
822c27399c
Add M_INIT_VAI to initialize a container with a VA.
...
(pretty much like it was done for ALGO).
Use if for array & list so that you can init them in M_LET
by giving it a VA.
2018-09-01 21:12:02 +02:00
Patrick Pelissier
0e717389c1
Add API transform support for the method in an oplist.
2018-09-01 20:42:51 +02:00
Patrick Pelissier
b894d64063
Add support for INIT_WITH in M_LET in C99 mode.
2018-09-01 09:47:32 +02:00
Patrick Pelissier
d95a11365a
* New method INIT_WITH
...
* Prepare variable number of arguments for M_LET with INIT_WITH
2018-09-01 09:39:09 +02:00
Patrick Pelissier
dbcade3087
Add support for given an argument for the initialization of a variable in M_LET
...
if the variable is within parenthesis:
M_LET((a,b), string_t)
==> It will init a & set it to b.
For the moment, we can only init with value of the same type (through init_set)
2018-08-31 00:02:03 +02:00
Patrick Pelissier
71db5f9a79
Support for break to break the execution of M_LET
2018-08-25 00:11:20 +02:00
Patrick Pelissier
e33e77595f
Simplify the logic for parsing bool.
2018-08-24 21:03:25 +02:00
Patrick Pelissier
d4016b310d
Add support for conditionnal support for stdio.h
...
(needed for special environnement where no stdio is supported).
2018-08-24 20:59:54 +02:00
Patrick Pelissier
a41177a110
Add support for bool in default type support.
...
Needs to rewritefully how to dispatch the default type for IN_STR method
Add also proper non-support for const char* & char * for IN_STR & PARSE_STR
(We cannot do it reliabelty, so the function says it always fail).
2018-08-24 20:45:26 +02:00
Patrick Pelissier
e1147fb33d
Add support for IN_STR for default C types.
2018-08-23 19:58:02 +02:00
Patrick Pelissier
70753c1082
Add method parse_str for the oplist of default C type.
2018-08-21 20:04:11 +02:00
Patrick Pelissier
2ab2b9efd6
Add primitive to parse standard C types (except const char*)
2018-08-21 19:53:55 +02:00
Patrick Pelissier
dbb34b75fd
Add method for the operator OUT_STR for the default type.
2018-08-21 19:26:18 +02:00
Patrick Pelissier
e95d13adb1
Add support for multiple M_LET on the same line
...
without warning about shadow variables.
2018-08-04 08:34:35 +02:00
Patrick Pelissier
143a5fdf4f
Fix issue if given type is a T * = TYPE:
...
token pasting created const T *, which is not the same as
const TYPE = T * const
2018-08-03 20:20:57 +02:00
Patrick Pelissier
984b8e7da0
Fix const cast issue for 'void *' pointer.
2018-08-03 18:55:01 +02:00
Patrick Pelissier
b8f8ffe0a2
Perform same optimization than previous commit for
...
M_GLOBAL_OPLIST_OR_DEF
2018-08-02 22:48:28 +02:00
Patrick Pelissier
02e8681f76
M_GLOBAL_OPLIST:
...
More robust implementation that delays the evaluation of the concatenation
2018-08-02 20:02:15 +02:00
Patrick Pelissier
603fb9db62
Replace some size displayed with '%lu' as unsigned long
...
with proper '%zu' as size_t.
2018-08-02 19:34:10 +02:00
Patrick Pelissier
b01459d1ef
Add out_str for CSTR_OPLIST
2018-08-01 23:36:04 +02:00
Patrick Pelissier
660c5a2db4
Add M_GET_STRING to transform a standard numerical C type into a string_t
...
(with a method compatible with the operator GET_STR).
2018-08-01 23:26:58 +02:00
Patrick Pelissier
faedca81d1
Add M_CORE_VERSION_* macros.
2018-08-01 22:28:50 +02:00
Patrick Pelissier
166d408f5e
Add support for out_str for the default C types if C11 is enabled.
2018-08-01 20:12:24 +02:00
Patrick Pelissier
017f25d9d5
M_PRINT_ARG & M_FPRINT_ARG don't put a final semicolon at the end
...
of their expansion anymore (cleaner and no longer needed with the
new available tools).
2018-08-01 19:59:57 +02:00
Patrick Pelissier
96202aa78f
Do not use reserved identifiers of the C standard (See 7.1.3 Reserved identifiers)
2018-07-14 14:35:14 +02:00
Patrick Pelissier
67b1e65d97
Update comment
2018-07-08 00:33:18 +02:00
Patrick Pelissier
8dafe3b7a6
Add macro M_GET_AT.
2018-07-04 17:39:03 +02:00