Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier fcdfd836ec Add method _count_if 2018-07-15 11:05:58 +02:00
Patrick Pelissier b2f005239b API breakage:
rename _constains into _contain_p
to be more uniform with other predicate functions,
and to use infinitive form for the method.
2018-07-15 10:54:38 +02:00
Patrick Pelissier bc3fa890bd Add method _find_if. 2018-07-15 10:48:22 +02:00
Patrick Pelissier 95dbbf6e75 Simplification of the example. 2018-07-15 02:53:35 +02:00
Patrick Pelissier 22f2ae7341 Add methods _all_of_p, _any_of_p and _none_of_p. 2018-07-14 18:21:46 +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 cef8a13cc2 Add a new test. 2018-07-14 14:18:25 +02:00
Patrick Pelissier 54271231a0 Update doc. 2018-07-14 14:13:18 +02:00
Patrick Pelissier d1bb651596 Update doc. 2018-07-14 14:03:17 +02:00
Patrick Pelissier 10b7f65437 Update DEV. 2018-07-13 10:54:41 +02:00
Patrick Pelissier 3a70324d43 Fix spelling. 2018-07-13 10:42:26 +02:00
Patrick Pelissier 21b72cd174 Update 2018-07-13 10:40:45 +02:00
Patrick Pelissier ce8656f1b2 Update 2018-07-13 10:40:40 +02:00
Patrick Pelissier 9277dc967b Update 2018-07-11 00:04:45 +02:00
Patrick Pelissier 67b1e65d97 Update comment 2018-07-08 00:33:18 +02:00
Patrick Pelissier 79fe9da2da Update 2018-07-05 12:21:02 +02:00
Patrick Pelissier 3164e2698d Improve comments. 2018-07-05 12:12:16 +02:00
Patrick Pelissier ffae33e6f7 Update 2018-07-05 12:12:09 +02:00
Patrick Pelissier 8dafe3b7a6 Add macro M_GET_AT. 2018-07-04 17:39:03 +02:00
Patrick Pelissier e23616169b Improve comments. 2018-07-04 17:38:48 +02:00
Patrick Pelissier 9d7fc942f7 Rename DICT_SET_DEF2 into DICT_SET_DEF 2018-07-03 15:50:14 +02:00
Patrick Pelissier 982d8cf19d DICT_*_DEF* doesn't require anymore oplists for defining the function:
it can get them from global oplists or default oplits.
2018-07-03 15:44:40 +02:00
Patrick Pelissier aae460623d Replace _set_at by _push 2018-07-03 15:07:36 +02:00
Patrick Pelissier df14e5bcb6 Update 2018-07-03 10:42:51 +02:00
Patrick Pelissier 15d5a83c16 Update doc 2018-07-03 10:42:11 +02:00
Patrick Pelissier 4b0f7543ee Rename _set_at to _push method for SET dictionnary.
Add proper _splice method for SET dictionnary.
2018-07-03 10:40:26 +02:00
Patrick Pelissier 362c64aa9c Fix URL to show preview. 2018-07-03 10:11:40 +02:00
Patrick Pelissier 56c497cf2c Add ref card. 2018-07-03 10:08:16 +02:00
Patrick Pelissier e0dc2da80a Add synthesis of the API. 2018-07-03 09:35:35 +02:00
Patrick Pelissier 41362f12ea Add comment about _hash for dict. 2018-07-01 22:54:19 +02:00
Patrick Pelissier 3765c0b0fb Add _equal_p method for OA dictionary. 2018-07-01 22:44:56 +02:00
Patrick Pelissier d1f2b62f66 Replace _set_at2 by _get_at for array.
(Break API)
2018-07-01 22:35:05 +02:00
Patrick Pelissier 26b8c1d0a2 Add method _move & _init_move. 2018-07-01 17:16:36 +02:00
Patrick Pelissier aa195f9f6f Add methods _cget. 2018-07-01 17:16:25 +02:00
Patrick Pelissier cd1d59264e Fix build issue with C++ 2018-06-29 22:50:41 +02:00
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