Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +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
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
0818d0ac7c
Fix macro formatting.
2020-10-23 21:46:34 +02:00
Patrick Pelissier
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
895f362628
Fix a majorant stack usage of B+TREE
2020-10-17 22:46:43 +02:00
Patrick Pelissier
d24b52586d
Put a type within internal namespaces.
2020-10-17 22:25:22 +02:00
Patrick Pelissier
1e534bd307
Rename derefence type of an iterator of a dict or a B+Treee into _ittref_t.
2020-10-16 21:01:29 +02:00
Patrick Pelissier
c039f07f2d
Add macros
...
BPTREE_DEF2_AS
BPTREE_DEF_AS
BPTREE_MULTI_DEF2_AS
BPTREE_MULTI_DEF_AS
2020-10-03 14:07:14 +02:00
Patrick Pelissier
b396b42808
Update comments
2020-10-03 14:07:14 +02:00
Patrick Pelissier
b3a1a75f6f
Rename internal types:
...
a suffix ending with _ct means confidential type
ans is reserved for M*LIB internal usage.
OPLIST doesn't use the external types
but rather the internal types.
It enables to be independent of the real names
of the external types.
Such external names are planned to be fully customizable
(i.e. the user may define a name that suits its coding style)
2020-10-03 14:07:14 +02:00
Patrick Pelissier
8a6652646a
Fix formatting (Replace TAB with SPACE)
2020-07-14 00:34:59 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
279b46b4e2
Fix -Wsign-conversion warnings.
2020-06-13 19:43:38 +02:00
Patrick Pelissier
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +02:00
Patrick Pelissier
65e3f1049b
* Update comments.
...
* Fix position of const for some prototypes.
2020-05-25 00:23:12 +02:00
Patrick Pelissier
9340c2e55c
Fix memory leak for _parse_str in case of error.
2020-05-24 19:50:32 +02:00
Patrick Pelissier
9710e014f2
Reindent function
2020-05-24 19:19:19 +02:00
Patrick Pelissier
d1ae26f0fd
* Add control than the type and the oplist are compatible
2020-05-17 10:27:30 +02:00
Patrick Pelissier
49a2e600c4
Add control of sub-oplist when creating a new oplist of a container
...
Add test case of this new control
Fix some corner bugs in some containers evolving their own oplists.
2020-05-15 21:19:39 +02:00
Patrick Pelissier
113fdbf388
Add more controls on proper presence of oplist for _DEF macros
2020-05-09 17:16:00 +02:00
Patrick Pelissier
055e74d350
Add more check for valid oplists before expanding further
2020-05-09 16:10:56 +02:00
Patrick Pelissier
fca1120990
No longer export IT_REF for map containers (See API changes)
2020-05-08 11:33:28 +02:00
Patrick Pelissier
4f7b0b9455
Happy new year 2020
2020-01-04 15:41:06 +01:00
Patrick Pelissier
90f248fbe8
Rename interface field of serial object into m_interface (WINDOWS compatibility as it defines a macro called interface)
2019-12-06 21:13:37 +01:00
Patrick Pelissier
aca800ef8a
Fix warning with lastest GCC about strict overflow
2019-11-24 08:50:55 +01:00
Patrick Pelissier
791f586c7e
Add back contract support for multimap / multiset
2019-07-08 21:18:59 +02:00
Patrick Pelissier
8d3b0cc94b
Prepare support in contract for multimap/multiset
2019-07-08 21:14:15 +02:00
Patrick Pelissier
9a4c6ba0d5
WIP for multimap / multiset.
2019-07-08 16:23:45 +02:00
Patrick Pelissier
6408b28513
Update comments, function name and prepare for multimap / multiset
2019-07-08 11:17:08 +02:00
Patrick Pelissier
32b3e21564
Start supporting multimap/multiet
2019-07-07 21:18:34 +02:00
Patrick Pelissier
1ef28bedcb
Rename internal functions for clarity
2019-07-07 21:16:04 +02:00
Patrick Pelissier
23240a44d5
Change how the keys are split. Before key[i] ==> node[i] has all keys < key[i], node[i+1] has all keys >= key[i]. After key[i] ==> node[i] has all keys <= key[i], node[i+1} has all keys > key[i].
2019-07-06 00:03:26 +02:00
Patrick Pelissier
047b6c5a58
Update
2019-07-04 21:10:38 +02:00
Patrick Pelissier
951425e963
Update comments
2019-07-04 10:42:24 +02:00
Patrick Pelissier
e69cbfcab3
Add parameter isMulti
2019-07-04 09:53:58 +02:00
Patrick Pelissier
37f3cd6a72
Rename method _it_to_p into _it_until_p. Add method _it_while_p
2019-07-03 18:57:24 +02:00
Patrick Pelissier
ec7b5dd120
Remove deprecated methods
2019-07-03 18:06:52 +02:00
Patrick Pelissier
06d6a90a21
Uniformize internal macros
2019-06-09 11:02:45 +02:00
Patrick Pelissier
05a68157bc
Add local argument to serial interface to enable serial interface to create local parameters if needed (for example for serial binary)
2019-05-18 11:17:14 +02:00
Patrick Pelissier
363c55668d
Add in_serial / out_serial methods for several containers
2019-05-18 11:17:14 +02:00
Patrick Pelissier
8b3a4a802c
Happy new year!
2019-01-02 18:12:07 +01:00
Patrick Pelissier
d3934dccb9
Add missing const in prototypes.
2018-11-24 11:46:28 +01:00
Patrick Pelissier
a8b5c3ff4e
Improve assertions
2018-11-10 17:54:13 +01:00
Patrick Pelissier
74aa514903
Add missing const
2018-11-01 16:11:12 +01:00
Patrick Pelissier
618e37b07c
Remove pop operator as there is no method for it.
2018-10-29 16:51:17 +01:00
Patrick Pelissier
02d4bf0e09
Export method _empty_p for operator TEST_EMPTY for all containers.
2018-10-29 11:06:54 +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