Patrick Pelissier
923e009fd3
Fix issue for new method _get_at for OA dict.
2018-06-29 22:32:10 +02:00
Patrick Pelissier
70a4fd99f4
iFix buiild issue with mutex based atomics.
2018-06-29 21:43:33 +02:00
Patrick Pelissier
feb4011f57
Add new example.
2018-06-29 19:41:55 +02:00
Patrick Pelissier
bf2a04ff66
Add method _get_at:
...
_get or create an entry.
2018-06-29 19:41:34 +02:00
Patrick Pelissier
e16d352e71
Fix prototype (forgot const)
2018-06-29 19:41:20 +02:00
Patrick Pelissier
817724ce39
Fix issue for get_word:
...
the separators need to be skipped first.
2018-06-29 19:40:35 +02:00
Patrick Pelissier
0fda117ffe
Add push/pop_front/back_move methods.
2018-06-27 20:10:42 +02:00
Patrick Pelissier
e5be1e1f05
Add a name to the structure.
2018-06-27 20:10:28 +02:00
Patrick Pelissier
7d7af8cf59
Add a name to the structure.
2018-06-27 20:10:12 +02:00
Patrick Pelissier
cbc09f83d4
Disable MOVE & INIT_MOVE for such containers (TBC).
2018-06-27 20:09:45 +02:00
Patrick Pelissier
31913ae80e
Add bench for DualPushList.
2018-06-27 20:09:24 +02:00
Patrick Pelissier
522632bea6
Remove deprecated macro SNAPSHOT_DEF.
...
Shall use SNAPSHOT_SPSC_DEF
2018-06-27 20:04:18 +02:00
Patrick Pelissier
397f75a4db
Add missing method _front for bitset.
2018-06-27 07:33:23 +02:00
Patrick Pelissier
0bf84a321b
Add missing methods _capacity for MPMC queue & SPSC queue.
2018-06-27 07:28:34 +02:00
Patrick Pelissier
5915208dee
API breakage:
...
Rename _pop method into _pop_at method
as the provided function is a _pop_at method, not a _pop method.
Remove _pop from the oplist as it doesn't follow _pop convention.
2018-06-27 07:17:33 +02:00
Patrick Pelissier
2167931e3f
Remove _pop method from OPLIST as it doesn't follow _pop
...
convention.
2018-06-27 07:17:09 +02:00
Patrick Pelissier
2d18171914
Rename _pop method into _pop_at methods
...
as the provided function follow the prototype of a _pop_at method
rather than a _pop method.
2018-06-27 07:13:10 +02:00
Patrick Pelissier
28f6a7d399
Add missing _empty_p methods for dictionnaries.
2018-06-27 07:10:18 +02:00
Patrick Pelissier
8e042435e5
Update comment and use of a different hash function.
2018-06-23 13:26:46 +02:00
Patrick Pelissier
cddf8712e4
Update comment.
2018-06-23 13:12:28 +02:00
Patrick Pelissier
88fd96e022
Add a more complete example of use.
2018-06-23 13:10:33 +02:00
Patrick Pelissier
17e715f408
Remove _last as it is a duplicate with _back!
2018-06-23 11:07:06 +02:00
Patrick Pelissier
c821d9ea65
Add methods _front & _last for arrays.
2018-06-23 11:05:29 +02:00
Patrick Pelissier
5cb8a9ddd0
Document priority queue API.
2018-06-20 23:25:41 +02:00
Patrick Pelissier
f0131b2c39
Fix prototype of _front:
...
missing const.
2018-06-20 23:25:25 +02:00
Patrick Pelissier
bc3c68a3cb
Move a section.
2018-06-14 22:34:42 +02:00
Patrick Pelissier
b81d387778
Simplify the code by factoring similar branches.
2018-06-11 23:08:56 +02:00
Patrick Pelissier
0afbe72672
Fix spelling.
2018-06-11 21:09:20 +02:00
Patrick Pelissier
5fc63485f3
Update
2018-06-07 21:56:09 +02:00
Patrick Pelissier
1bc84c98f8
Update
2018-06-07 21:51:19 +02:00
Patrick Pelissier
737af45c85
Adding the long term ISSUES in configuration.
2018-06-07 21:47:23 +02:00
Patrick Pelissier
e08fbc7d86
Move all core macros to support up to 52 arguments.
2018-06-06 23:33:23 +02:00
Patrick Pelissier
91090d20de
Remove non defined operators from the oplist.
2018-06-06 00:00:08 +02:00
Patrick Pelissier
05a22e20b8
Add documentation on B+TREE.
2018-06-05 23:58:49 +02:00
Patrick Pelissier
7c43f343a3
Update
2018-06-05 00:39:07 +02:00
Patrick Pelissier
029e6aa251
Remove reference to libraries without working sites.
2018-06-04 23:11:18 +02:00
Patrick Pelissier
2f26d4ffd3
Add more tests / improve coverage.
2018-06-02 21:26:54 +02:00
Patrick Pelissier
d306bae035
Generate cleaner coverage.
2018-06-02 21:26:32 +02:00
Patrick Pelissier
34dc8b32cb
Fix broken _swap
2018-06-02 21:26:20 +02:00
Patrick Pelissier
fe38244d7c
Micro optimisation.
2018-06-02 19:31:07 +02:00
Patrick Pelissier
25e8c9f637
Update comments.
2018-06-02 19:23:46 +02:00
Patrick Pelissier
337b568b5e
Update comments.
2018-06-02 19:21:59 +02:00
Patrick Pelissier
e696192ef7
Update comments.
...
Cosmetic change.
2018-05-31 23:09:11 +02:00
Patrick Pelissier
928fc077b8
Remove a warning.
2018-05-30 23:17:37 +02:00
Patrick Pelissier
2a448b932c
Update doc
2018-05-30 23:17:30 +02:00
Patrick Pelissier
d40d23a50e
Add test for _splice_at for Intrusive list.
2018-05-30 20:21:37 +02:00
Patrick Pelissier
c4548c4355
Fix splice_at which was broken.
2018-05-30 20:21:27 +02:00
Patrick Pelissier
50fdea813b
Update doc
2018-05-30 19:26:13 +02:00
Patrick Pelissier
0ff163e541
Fix issue for intrusive list and _splice_back.
2018-05-29 23:00:25 +02:00
Patrick Pelissier
38cd8847a2
Adding a generic merge sort if container has both _splice_back & _splice_at
...
methods
2018-05-28 23:51:41 +02:00
Patrick Pelissier
e62ae9fb94
Fix the iterators calculation of _splice_at.
...
NOTE: iterator seems broken for _splice_back. To check
2018-05-28 23:51:10 +02:00
Patrick Pelissier
187b6cf072
Update to new specification.
2018-05-28 23:46:30 +02:00
Patrick Pelissier
a3fad5966a
Update test to reflect the new specifications.
2018-05-28 23:46:10 +02:00
Patrick Pelissier
74350f3638
Reuse a local variable instead of reading once again from memory.
2018-05-28 23:45:40 +02:00
Patrick Pelissier
ee2c7caac2
Update _splice_at with new specification.
...
Fix issue of _splice_at (iterator not properly set).
Export _split_at methods in oplist.
2018-05-28 23:44:15 +02:00
Patrick Pelissier
c915a6912e
Update specification of _splice_at.
...
It is more interressing to have the iterator of the target list
to advance too. It allows copying items from list to list in the same order.
2018-05-28 23:43:05 +02:00
Patrick Pelissier
d5cd232441
Add method SPLICE_AT as a generic method.
2018-05-28 23:42:46 +02:00
Patrick Pelissier
c4c14b0fc6
Add _splice_at
2018-05-28 22:08:55 +02:00
Patrick Pelissier
e5f5563249
Add method _splice_at for dual_push_list
2018-05-28 21:58:45 +02:00
Patrick Pelissier
2a6893efb4
Add method _splice_at for singly list.
2018-05-28 21:22:14 +02:00
Patrick Pelissier
9fd920945a
Remove condition that the list shall be different for splice_back.
...
No need.
2018-05-28 20:59:27 +02:00
Patrick Pelissier
a116daa7a1
Splice_back may work if old & new are the same list.
2018-05-28 20:58:51 +02:00
Patrick Pelissier
0b8759380b
Fix name of called method to avoid infinite recursion...
2018-05-27 11:17:11 +02:00
Patrick Pelissier
00c5e3544f
Export _splice_back methods.
...
Add _push_move & _pop_move methods for dual push list.
2018-05-27 11:16:16 +02:00
Patrick Pelissier
53a79e3170
Export splice_back method for list
2018-05-27 11:06:35 +02:00
Patrick Pelissier
5810bf9acd
Add method SPLICE_BACK.
2018-05-27 11:05:00 +02:00
Patrick Pelissier
7815feddba
Proper expand algorithms for intrusive list.
2018-05-24 22:58:16 +02:00
Patrick Pelissier
f529a5eea8
Use of a trick to make the function compatible with other
...
definition of the _it method (use of const for the container).
2018-05-24 22:57:27 +02:00
Patrick Pelissier
40e9550b29
Generate algo for intrusive list.
2018-05-23 21:10:58 +02:00
Patrick Pelissier
64d0202f95
ALGO macros accept now a type instead of an oplist
...
if a global oplist has been registered for the type.
Add macro ALGO_LET_INIT_VA which declares, initializes, sets and clears
a container.
2018-05-22 20:39:51 +02:00
Patrick Pelissier
da9483aa3a
Add reference to C standard about CONST_CAST.
2018-05-22 19:38:38 +02:00
Patrick Pelissier
0221e555fe
Fix bug in deque: _clean doesn't call CLEAR on all created objects.
2018-05-22 05:46:37 +02:00
Patrick Pelissier
494ee2c099
Add proper check of allocation for testing object.
2018-05-22 05:46:04 +02:00
Patrick Pelissier
dc92ad9c02
Fix compatbility issue with C++ which doesn't support
...
compound literal...
2018-05-21 23:00:48 +02:00
Patrick Pelissier
8a4a019973
Fix build issue with C++
2018-05-21 07:23:19 +02:00
Patrick Pelissier
a1a49ebf4b
Update comment
2018-05-20 22:38:00 +02:00
Patrick Pelissier
45263a6261
Fix parenthesis
2018-05-20 18:07:58 +02:00
Patrick Pelissier
7ccede36b1
Test with deque too.
2018-05-19 12:52:40 +02:00
Patrick Pelissier
482e1631fa
Remove warning in case of some kind of type
...
(Famous problem of C not allowing to cast
a T (*)[N] into a const T (*)[N].
2018-05-19 12:51:31 +02:00
Patrick Pelissier
d0fe7f3e25
Add method _push_move & _pop_move.
...
Add assertion on _pop_back to check that the container is not empty.
2018-05-19 11:21:57 +02:00
Patrick Pelissier
86083e3a92
Add methods push_move & pop_move.
...
Rewrite _pop_back to be a little bit faster for complex structure as it used
DO_MOVE instead of plain _set.
2018-05-19 11:21:18 +02:00
Patrick Pelissier
281f567d97
Add proper usage of const.
2018-05-19 11:10:09 +02:00
Patrick Pelissier
7f887720cc
Add methods PUSH_MOVE & POP_MOVE.
2018-05-19 11:09:36 +02:00
Patrick Pelissier
717268add9
Simplify the macro usage.
2018-05-19 11:09:20 +02:00
Patrick Pelissier
2f7e3b1596
Update documentation.
2018-05-19 11:08:54 +02:00
Patrick Pelissier
1a3cd2f626
Add experimental support for cmp function with user define order.
2018-05-16 22:36:26 +02:00
Patrick Pelissier
2fbea43a5c
Add M_MAP3 macro.
2018-05-16 20:00:41 +02:00
Patrick Pelissier
70788e932e
Update doc
2018-05-16 19:47:06 +02:00
Patrick Pelissier
949d12052e
Update
2018-05-16 07:52:37 +02:00
Patrick Pelissier
2af35673bb
Update comments about TODO.
2018-05-15 21:02:34 +02:00
Patrick Pelissier
4a64ca58ac
Update tested systems.
2018-05-15 20:41:15 +02:00
Patrick Pelissier
815c594fa6
Add new libraries
2018-05-15 20:41:06 +02:00
Patrick Pelissier
fc4dba4569
Add DSC versions of the _sort function to reverve the sort (DSC=descending).
2018-05-14 23:08:46 +02:00
Patrick Pelissier
1d8df98339
Rename undocumented methods _union & _intersect to _sort_union & _sort_intersect
...
as they depend on the sort order.
2018-05-14 22:58:52 +02:00
Patrick Pelissier
745aabcfd5
Factorisation of all calls to GET_CMP within the sort functions
...
to a single function.
2018-05-14 22:55:17 +02:00
Patrick Pelissier
be100790f1
Uniformize the comparaisons to always be in the same order.
2018-05-14 22:51:07 +02:00
Patrick Pelissier
afc5e82906
Externalize _sort generation from the main macro.
2018-05-14 22:49:11 +02:00
Patrick Pelissier
2951d4b7fa
Document new methods.
2018-05-14 22:30:08 +02:00
Patrick Pelissier
dcd300211f
Add methods _cmp_field for tuples.
2018-05-14 22:29:58 +02:00
Patrick Pelissier
f796d27bb4
Update
2018-05-13 09:55:08 +02:00