Patrick Pelissier
a9fc7e15f8
Rename GET_SET_KEY operator in SAFE_GET_KEY operator
2021-10-30 23:57:50 +02:00
Patrick Pelissier
6b064870f5
Rename CLEAN operator in RESET operator
2021-10-30 23:26:27 +02:00
Patrick Pelissier
51d4e930f5
Rename the suffix _get_at to the _safe_get suffix
...
(Better & clearer naming of the function)
2021-10-30 00:04:07 +02:00
Patrick Pelissier
826d251ffe
Rename RBTREE & BPTREE _clean in _reset to avoid confusing _clean & _clear functions. See #97
2021-10-28 17:55:54 +02:00
Patrick Pelissier
a950e15625
Adding method for NAME operator for basic containers
2021-06-12 11:11:30 +02:00
Patrick Pelissier
e28d403216
Undo previous changes until further analysis (it broke CI)
2021-03-28 11:53:18 +02:00
Patrick Pelissier
4b71bbec7e
Protect key from being changed while iterating.
2021-03-28 11:13:55 +02:00
Patrick Pelissier
60cfc63c4e
Add static assertion.
2021-03-28 09:39:52 +02:00
Patrick Pelissier
58fc40d0f1
Update oplist
2021-03-28 09:32:23 +02:00
Patrick Pelissier
3d7e9e7c03
Add _get_at method for B+TREE
2021-03-28 09:29:04 +02:00
Patrick Pelissier
8e9aa9cac4
Fix _min & _max for B+Tree
...
Make code match the documentation if there is no element in the tree.
2021-02-23 15:59:45 +01:00
Patrick Pelissier
6636800c5b
Remove obsolete / deprecated function/macros.
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
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