Commit Graph
170 Commits
Author SHA1 Message Date
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