Patrick Pelissier
1a1339da6b
Remove deprecated features
2021-11-20 13:05:50 +01:00
Patrick Pelissier
6b064870f5
Rename CLEAN operator in RESET operator
2021-10-30 23:26:27 +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
9eabc86bdd
Fix issue in _next / _previous in some corner cases. Fix issue in _remove (IT was not updated to next item)
2021-10-10 20:35:18 +02:00
Patrick Pelissier
09a8b93634
Add method _remove for RBTREE
2021-10-10 10:17:55 +02:00
Patrick Pelissier
c057247126
Add missing exported method
2021-10-10 10:01:44 +02:00
Patrick Pelissier
7a08ddce9e
Remove UPDATE opertor as there are no default operators that define it (and no one uses it as it is poorly documented). Replace by SET for RB-THREE. Replace by ADD for the splice function of dictionary
2021-10-02 13:06:30 +02:00
Patrick Pelissier
85a363d325
Update definition of returned iterator of _it_from of RB tree
...
from the greatest element of 'rbtree' lower of equal than 'data'
to the lowest element of the tree 'rbtree' greater or equal than 'data'
It is more logical and natural:
if you have a tree of elements between [2, 4], and you want
to iterate all elements from 0 to 10, the old definition doesn't allow
you to iterate easily over this subset.
2021-07-16 22:46:44 +02:00
Patrick Pelissier
7dc1a9dc0e
Update RB Tree:
...
* Fix issue of the searched element is the root node (See #93 )
for _it_from. It now returns a proper iterator.
* Update _it_from to match the last documentation:
if there is no element lower or equal to the searched node,
it returns a null iterator.
* Update _it_while_p so that it returns false if it is null iterator.
2021-07-16 21:47:37 +02:00
Patrick Pelissier
0171c49413
Unlikely some if conditions.
2021-07-05 22:45:57 +02:00
Patrick Pelissier
a79cd9da97
Fix issue for RB Tree _it_equal_p method
...
if both iterators are equal and are associated
to a RB tree without any element.
2021-07-05 22:44:58 +02:00
Patrick Pelissier
ac4d93fe29
Clean RB Tree _pop_at to avoid an aliasing issue.
2021-07-05 20:21:26 +02:00
Patrick Pelissier
a950e15625
Adding method for NAME operator for basic containers
2021-06-12 11:11:30 +02:00
Patrick Pelissier
fdeb9f1322
Format
2021-03-28 11:48:59 +02: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
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
978e0ea5d7
Fix format
2020-11-14 22:45:18 +01:00
Patrick Pelissier
6aa28b4cfe
Fix warnings on ARM
2020-10-30 08:02:37 +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
acb886c391
Add macro RBTREE_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
5f9feb833c
Replace TAB by SPACE
2020-07-25 19:17:25 +02:00
Patrick Pelissier
1b206931df
Transform TAB into SPACE
2020-07-22 20:51:45 +02:00
Patrick Pelissier
56d2a74818
Fix some warnings
2020-07-09 23:38:34 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +02:00
Patrick Pelissier
b7f84236d3
* Update comments
...
* Micro optimization
2020-05-25 21:41:16 +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
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
45d2a529b5
Add more validation of oplists before expanding data
2020-05-10 11:16:46 +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
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
c535766c22
Update/Clean up basic type
2019-06-17 07:26:11 +02:00
Patrick Pelissier
747da27489
Uniformize
2019-06-09 10:49:18 +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
a8620c3aff
Export method _size for operator GET_SIZE
2018-11-25 18:00:47 +01:00
Patrick Pelissier
ee0c77edc8
Replace SET+CLEAR by MOVE.
2018-11-04 20:28:56 +01:00
Patrick Pelissier
74aa514903
Add missing const
2018-11-01 16:11:12 +01:00