Patrick Pelissier
8b3a4a802c
Happy new year!
2019-01-02 18:12:07 +01:00
Patrick Pelissier
d3934dccb9
Add missing const in prototypes.
2018-11-24 11:46:28 +01:00
Patrick Pelissier
a8b5c3ff4e
Improve assertions
2018-11-10 17:54:13 +01:00
Patrick Pelissier
74aa514903
Add missing const
2018-11-01 16:11:12 +01:00
Patrick Pelissier
618e37b07c
Remove pop operator as there is no method for it.
2018-10-29 16:51:17 +01:00
Patrick Pelissier
02d4bf0e09
Export method _empty_p for operator TEST_EMPTY for all containers.
2018-10-29 11:06:54 +01:00
Patrick Pelissier
08d2af22db
Add KEY_OPLIST & VALUE_OPLIST operators
2018-10-28 10:38:41 +01:00
Patrick Pelissier
70179bb1d7
Add VALUE_TYPE operator
2018-10-28 10:33:25 +01:00
Patrick Pelissier
83226c5ce8
Add KEY_TYPE operator
2018-10-28 10:03:47 +01:00
Patrick Pelissier
3d6b737c46
Export *KEY operators in OPLIST for array, dict, B+tree
2018-10-27 23:37:06 +02:00
Patrick Pelissier
adbafc0b02
Fix usage of pop_at after later change.
2018-10-27 22:59:19 +02:00
Patrick Pelissier
4e6dad939a
API Compatibility change: rename _remove for DICT & B+TREE into _erase for API uniformization.
2018-10-27 22:56:00 +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
bb8de993b6
Start porting to M_CALL infrastructure, enabling support for
...
API transformation.
2018-09-08 22:49:12 +02:00
Patrick Pelissier
3b0e940284
Add missing _ptr & _srcptr alias.
2018-08-19 17:58:23 +02:00
Patrick Pelissier
4ef1b079cb
Can omit optlist in B+TREE definition
2018-08-05 11:08:18 +02:00
Patrick Pelissier
09e117cd57
Update comments.
...
Update _new_node: it shall never return NULL.
2018-07-24 00:34:35 +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
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
91090d20de
Remove non defined operators from the oplist.
2018-06-06 00:00:08 +02:00
Patrick Pelissier
4b1ed25ef3
Rewrite inner loop. should be a little bit faster.
2018-05-11 22:41:00 +02:00
Patrick Pelissier
a5ac43e5f3
Fix issue with oplist of set.
2018-05-11 17:57:33 +02:00
Patrick Pelissier
0557527bfe
Update format of serialisation for B+TREE:
...
as the tree is ordered, a '[]' has to be used.
2018-05-11 17:32:32 +02:00
Patrick Pelissier
951a9d7989
Fix issue in parse.
2018-05-07 23:08:01 +02:00
Patrick Pelissier
fafce60f9e
Add method _parse_str
...
NOTE: _in_str, _out_str, _get_str & _parse_str remain to be tested.
2018-05-03 18:06:11 +02:00
Patrick Pelissier
131da660c8
Fix bug in _clean.
2018-04-20 19:30:01 +02:00
Patrick Pelissier
085d5b411c
Add oplist for B*TREE
2018-04-13 20:16:23 +02:00
Patrick Pelissier
353d2d4cc9
Fix issue in copy of B*TREE:
...
the _next field wasn't properly set for the deepest nodes.
2018-04-10 23:23:36 +02:00
Patrick Pelissier
b38d84419a
Add methods hash, eqal_p, out_str, in_str & get_str
...
Format of serialisation needs to be properly uniformised between:
dictionnary,
red-black tree,
set,
b+tree with key,value,
b+tree with only key.
2018-04-09 18:42:34 +02:00
Patrick Pelissier
f3b2b6b41e
Add methods _swap, _move & _init_move
2018-04-09 18:06:48 +02:00
Patrick Pelissier
10f900ea3e
Rewrite code to avoid warning if optimisations are turned on.
2018-04-08 20:27:37 +02:00
Patrick Pelissier
e6a6eb9be5
Fix issue in it_from for B+TREE
2018-04-08 11:13:48 +02:00
Patrick Pelissier
b005ec1845
Fix function max for B+TREE
2018-04-08 10:48:02 +02:00
Patrick Pelissier
a166620a6d
Add method _from, _to_p, _min & _max for B+TREE
2018-04-08 10:39:27 +02:00
Patrick Pelissier
67af80c772
Fix issue in it_end for B+TREE
2018-04-08 07:22:34 +02:00
Patrick Pelissier
73354a04d5
Add method _init_set & _set for B+tree
2018-04-07 12:10:19 +02:00
Patrick Pelissier
44209ed93e
Add more tests
2018-04-07 11:19:58 +02:00
Patrick Pelissier
d2f5698397
iMake oplist optional for BPTREE_DEF
2018-04-07 11:10:13 +02:00
Patrick Pelissier
91db494898
Add basic iterator for B+tree
...
I can't match the exact interface of a dictionary of the key and the value are in separate place in the structure
(so I can't return a pair of (key,value)). Instead I return a pair of pointer (key_ptr, value_ptr).
I don't see any other way which doesn't evolve copy of the key/value.
For the RBtree interface, no such problem occurs.
2018-04-05 22:44:36 +02:00
Patrick Pelissier
75217d4914
Rewrite / cleanup
2018-04-04 22:57:47 +02:00
Patrick Pelissier
ceaf004719
Remove wrong comment
2018-04-04 22:55:19 +02:00
Patrick Pelissier
27b7380433
B+TREE: Add _size operator
2018-04-04 22:54:39 +02:00
Patrick Pelissier
7ca254ade9
B+TREE: Add _pop function.
2018-04-04 22:39:46 +02:00
Patrick Pelissier
c91864c2a7
B+TREE: _remove returns a boolean indicating if the item
...
removed was present or not
2018-04-04 22:35:47 +02:00
Patrick Pelissier
8e335535cc
Add new container without a value.
2018-04-03 20:01:04 +02:00
Patrick Pelissier
2f53d98806
Fix issue with kind_s being redefined if the macro is used again.
...
Fix issue of not using proper method for type.
Render usage of value optional so that we can create B+TREE with only keys.
2018-04-03 18:29:28 +02:00
Patrick Pelissier
6127371920
Add B+TREE container.
...
Fix #4
2018-04-03 12:40:29 +02:00