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
4d0e799c7a
Remove obsolete function.
2020-12-05 12:27:33 +01:00
Patrick Pelissier
19ff6bfeac
Add equal_p method for m-prioqueue
2020-11-15 09:39:01 +01:00
Patrick Pelissier
c1f99359be
Fix issue in update of priority in priority queue:
...
* Rename _update_further into _update.
* it now supports increase or decrease of priority.
* _update_further is deprecated (and was broken).
2020-11-14 23:48:08 +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
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
7f26ef0f1c
Add new macros to define container
...
with the full given name.
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
1b206931df
Transform TAB into SPACE
2020-07-22 20:51:45 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
f03a4503eb
Fix some warnings
2020-07-03 22:15:54 +02:00
Patrick Pelissier
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +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
4f7b0b9455
Happy new year 2020
2020-01-04 15:41:06 +01:00
Patrick Pelissier
60a10eb799
Uniformize the macro names
2019-06-09 12:02:38 +02:00
Patrick Pelissier
65a243fc13
Add missing const
2019-06-08 10:06:47 +02:00
Patrick Pelissier
8ce7e0483f
Update comment
2019-02-13 08:24:21 +01: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
12bf9c0f59
ERASE method returns bool (like dictionnary)
2018-10-27 22:43:06 +02:00
Patrick Pelissier
e0c456490a
Fix definition of oplist for containers:
...
if no argument is given, it shall behave as if it was defined with
a standard C type.
2018-09-15 17:59:50 +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
74c12e6ea2
Port to M_CALL for R/B TREE.
2018-09-10 21:34:18 +02:00
Patrick Pelissier
b52222cad9
Add operator INIT_WITH for oplist with PUSH.
2018-09-01 21:22:18 +02:00
Patrick Pelissier
3b0e940284
Add missing _ptr & _srcptr alias.
2018-08-19 17:58:23 +02:00
Patrick Pelissier
937bbef818
Add method _erase & _update_further for priority queue.
2018-08-12 21:35:09 +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
6a70eba83f
Document some missing methods for priority queues.
2018-08-01 19:35:54 +02:00
Patrick Pelissier
8b0b115709
Update comment.
2018-07-17 23:03:33 +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
f0131b2c39
Fix prototype of _front:
...
missing const.
2018-06-20 23:25:25 +02:00
Patrick Pelissier
9fed336c9e
Add proper const to prototype.
2018-05-01 12:44:43 +02:00
Patrick Pelissier
210e05f7fc
Update copyright to 2018
2018-01-29 20:28:30 +01:00
Patrick Pelissier
9200b742c5
Add iterators for priority queue.
2018-01-04 22:09:20 +01:00
Patrick Pelissier
ae93fc85c7
Remove broken code.
2017-12-17 10:05:25 +01:00
Patrick Pelissier
48036ace19
Add new test.
2017-12-16 17:51:58 +01:00
Patrick Pelissier
1d15adcef8
Update
2017-12-12 21:57:59 +01:00
Patrick Pelissier
179df4bda5
Add priority queue based on binary heap
2017-12-12 21:55:19 +01:00