Patrick Pelissier
93a1be616d
Rename parameter pool to context
2025-05-07 21:02:24 +02:00
Patrick Pelissier
692c0487af
Update oplist for new memory model
2025-05-07 21:02:24 +02:00
Patrick Pelissier
256ff916a2
Port serial to new memory format
2025-05-07 21:02:24 +02:00
Patrick Pelissier
1cf7c4fa4d
Port to new memory model: M_MEMORY_FULL cannot return anymore
2025-05-07 21:02:23 +02:00
Patrick Pelissier
e16c6987e4
Port to new memory interface (remove mempool support, but it was undocumented)
2025-05-07 21:02:23 +02:00
Patrick Pelissier
aa4cbfebdb
Port to new memory interface
2025-05-07 21:02:23 +02:00
Patrick Pelissier
1e196fe22a
Port to new spec M_MEMORY_FULL
2025-05-07 21:02:23 +02:00
Patrick Pelissier
6d621703eb
Copyright go to 2025 year
2025-03-01 11:03:38 +01:00
Patrick Pelissier
d22e75d7a0
Make I/O functions exception aware.
...
Simplify their logic
Fix other bugs.
2024-03-08 00:15:08 +01:00
Patrick Pelissier
26cec1591a
* Remove some obsolete macros
...
* Fix spelling
* A little bit of refactoring
2024-01-19 21:37:47 +01:00
Patrick Pelissier
52b58c5a51
Happy new year 2024
2024-01-19 21:37:47 +01:00
Patrick Pelissier
422f3c2c04
Add GENTYPE operator to all oplists
2023-12-30 16:23:02 +01:00
Patrick Pelissier
b50813713a
Define internal M_INLINE:
...
it is used to control the inline semantics.
By combining it with optimize option "-fno-inline"
for the internal M*LIB function (using _Pragma optimize)
we can control easily if we want to use an inline version
or call of an external function.
Define new user API:
* M_USE_EXTERN_DECL : define it before including any MLIB header to requests to call the M*LIB functions and don't inline then.
* M_USE_EXTERN_DEF : define it once in a translation unit to define the M*LIB functions. This translation unit shall contain all templated macro too.
If you use one option, you need to use the other one too for another translation unit.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
302c5eb300
Remove export passthrough of NEW/DEL/REALLOC/FREE interface
...
from the container oplist.
It has no real practical purpose.
NEW/DEL/REALLOC/FREE shall be a property of the container
to be defined, and not a property for an already defined container.
2023-04-29 10:50:04 +02:00
Patrick Pelissier
219c62ff5d
Provide a way to alter the standard naming convention for the functions
...
Close #72
2023-04-22 09:33:08 +02:00
Patrick Pelissier
fc34fa80b5
Properly mark condition for entering memory failure.
2023-04-07 23:50:03 +02:00
Patrick Pelissier
2f76652f2b
Maintenance
2023-03-03 22:50:14 +01:00
Patrick Pelissier
afff412f7a
Maintenance: continue splitting huge macros into smaller ones.
2023-03-02 00:39:08 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
0fec33b38e
* Add emplace generation for dict/hashmap.
...
(still need more tests).
* Factorize emplace generation for R+TREE/Prioqueue
2022-10-02 22:24:22 +02:00
Patrick Pelissier
1368b201eb
Fix warnings in release mode.
2022-08-09 00:19:55 +02:00
Patrick Pelissier
abffe201e5
Change the suffix of the functions dealing with C-String to _cstr
...
instead of _str.
See #99 for details.
2022-07-30 12:00:55 +02:00
Patrick Pelissier
95b104ee48
Issue in generation of functions:
...
if the method in the oplist uses API_* transformation,
if this method is a macro itself,
it may delay the expansion too much and
the macro may not be expanded at all in the final code generation.
Fix issue by adding a supplementary evaluation in the macro expansion.
Add test cases
2022-05-06 01:10:31 +02:00
Patrick Pelissier
677acdd14e
Use of new M_INIT_EMPLACE_VAI macro
2022-04-23 10:21:33 +02:00
Patrick Pelissier
0c1e888a78
Add emplace generation for RB Tree
2022-04-23 09:19:42 +02:00
Patrick Pelissier
e1abf0528c
Rename M_DEFAULT_OPLIST in M_BASIC_OPLIST (cleaner name)
2022-04-08 22:54:29 +02:00
Patrick Pelissier
b8cd679679
Move generating macro into the m_ namespace and create a wrapper using historical names for compatibility with existing code
2022-03-24 20:46:49 +01:00
Patrick Pelissier
5e57338928
Rename string_ into m_string_ in header files (Test files still test classic API)
2022-03-20 18:30:32 +01:00
Patrick Pelissier
5e001fdd9d
Move internal type to correct internal namespace
2022-03-19 17:01:20 +01:00
Patrick Pelissier
19b01b404d
Migrate to 2022
2022-03-12 20:25:45 +01:00
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