Patrick Pelissier
6af1c29469
Remove broken _it_end operator for standard dictionnary
...
(OA dict has a _it_end operator which should work).
2017-05-10 21:38:01 +02:00
Patrick Pelissier
163ea62554
Add _it_equal_p operator for both dictionnary.
2017-05-10 21:34:06 +02:00
Patrick Pelissier
c210460f79
Add iteration operators for OA Dict.
2017-05-10 21:29:09 +02:00
Patrick Pelissier
c1ddbdb94d
Add _clean, _swap & _move for dict/oa
2017-05-09 23:55:51 +02:00
Patrick Pelissier
4b908fb22d
Add _init_set, _set & _init_move for dict with Open Addressing.
2017-05-08 12:24:06 +02:00
Patrick Pelissier
b207a2c03d
Replace GET_INIT_MOVE by DO_INIT_MOVE
...
(Can't use oplist in default case).
2017-05-08 00:27:50 +02:00
Patrick Pelissier
50aa4f8b73
Remove unused dependency.
2017-05-05 00:06:22 +02:00
Patrick Pelissier
27fd810259
Rename M_OPLIST_CAT into M_OPCAT, M_OPLIST_FLAT into M_OPFLAT
...
Add M_OPLIST_EXTEND
Use it instead of M_OPLIST_CAT.
2017-05-01 17:24:22 +02:00
Patrick Pelissier
cad77ab80b
Fix issue for OA dict and shrink down:
...
we shall not call hash for deleted or empty entries.
2017-04-24 14:41:36 +02:00
Patrick Pelissier
1919d33602
Rewrite the way of handling the delete limits:
...
* count the number of deleted & populated items.
* if this number is greater than coeff_up, perform a shrink_up
* if the the population don't have more than half the size of the hash table,
* don't increase the hash table.
2017-04-24 13:22:46 +02:00
Patrick Pelissier
621f32649e
Fix bug in dict oa for remove.
...
Improve assertions checks.
2017-04-24 10:39:39 +02:00
Patrick Pelissier
8ce7db4033
Fix some issues in Open Addressing dict.
2017-04-24 09:49:34 +02:00
Patrick Pelissier
7a60d8df62
Add Open Addressing implementation for dict:
...
* better for small type.
* need OOR_SET & OOR_EQUAL operators to handle out-of-range values.
2017-04-24 09:00:36 +02:00
Patrick Pelissier
d19e1a5b41
Add M_EMPTY_DEFAULT which is like M_NOTHING_DEFAULT except that it doesn't
...
evaluate its arguments.
2017-04-23 23:36:08 +02:00
Patrick Pelissier
adf15bca6f
Rewrite code to use dict_t & dict_it_t (clearer)
...
Add missing contracts.
2017-04-23 18:53:47 +02:00
Patrick Pelissier
02be3b6d69
Remove internal dict macros for core macro.
2017-04-17 19:19:58 +02:00
Patrick Pelissier
30c5d99ca7
Fix indentation
2017-04-13 21:14:16 +02:00
Patrick Pelissier
2dd3b727ff
Add mempool to dict.
2017-04-02 10:30:55 +02:00
Patrick Pelissier
ebf24d41cf
Export back NEW / DEL / REALLOC of oplist to container oplist
2017-03-30 20:57:44 +02:00
Patrick Pelissier
ff2c6d51e6
Add some likely / unlikely to some tests.
...
Probably useless.
2017-03-27 23:06:02 +02:00
Patrick Pelissier
b75a68860e
Add set as a part of a dictionary.
2017-03-21 20:54:49 +01:00
Patrick Pelissier
6277d5623c
Fix issue in dict_end prototype
2017-03-14 23:51:37 +01:00
Patrick Pelissier
c5bc77b801
Rename type into name for oplist description of dict (saner)
2017-03-14 21:27:12 +01:00
Patrick Pelissier
75c07d9ac7
Add _swap for dict
2017-03-14 21:25:34 +01:00
Patrick Pelissier
eaf3af8c07
Implement IT_END operator.
...
Add missing IT_LAST operator
2017-03-13 10:32:57 +01:00
Patrick Pelissier
72ba5cbd3d
Fix bug:
...
give the proper oplist to the array definition;
otherwise some oplists are defined in default.
2017-03-11 12:07:01 +01:00
Patrick Pelissier
e21b45d9ac
Fix #3 (Empty containers & IN_STR operator).
2017-03-10 01:29:49 +01:00
Patrick Pelissier
6464acff57
Handle a little bit better the empty container case.
2017-03-10 00:08:28 +01:00
Patrick Pelissier
049ff58566
Add note
2017-03-07 22:42:27 +01:00
Patrick Pelissier
ee578a5c44
Add sub oplist for dictionnary oplist
2017-03-06 22:38:10 +01:00
Patrick Pelissier
4d019ca1f2
Update library name in headers.
2017-02-20 21:29:21 +01:00
Patrick Pelissier
cb433aa2a8
Rename macros:
...
* CAT* --> M_C*
2017-02-19 00:36:42 +01:00
Patrick Pelissier
8e9d20ba1a
Add initial stuff
2017-02-18 18:51:04 +01:00