Patrick Pelissier
dc803f23bb
Add missing const
2019-03-09 16:38:44 +01:00
Patrick Pelissier
8b3a4a802c
Happy new year!
2019-01-02 18:12:07 +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
c87696f5c1
Add _hash, _equal_p, _out_str, _in_str, _get_str, _parse_str
...
for intrusive list.
2018-10-03 22:01:40 +02:00
Patrick Pelissier
4f3dad4bea
Add _reverse for I-LIST
2018-10-01 21:22:19 +02:00
Patrick Pelissier
fc608b21ee
Update comment
2018-09-25 20:02:58 +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
2ff7631c9c
Port to M_CALL infrastructure.
2018-09-10 07:53:07 +02:00
Patrick Pelissier
3b0e940284
Add missing _ptr & _srcptr alias.
2018-08-19 17:58:23 +02:00
Patrick Pelissier
c7b533f21e
Cleanup terminology
2018-08-19 10:54:48 +02:00
Patrick Pelissier
eb4f249a54
Add missing CLEAN method in export OPLIST.
2018-08-14 23:09:12 +02:00
Patrick Pelissier
143a5fdf4f
Fix issue if given type is a T * = TYPE:
...
token pasting created const T *, which is not the same as
const TYPE = T * const
2018-08-03 20:20:57 +02:00
Patrick Pelissier
27a08da430
Add node contract check.
2018-07-31 08:19:45 +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
26b8c1d0a2
Add method _move & _init_move.
2018-07-01 17:16:36 +02:00
Patrick Pelissier
cbc09f83d4
Disable MOVE & INIT_MOVE for such containers (TBC).
2018-06-27 20:09:45 +02:00
Patrick Pelissier
34dc8b32cb
Fix broken _swap
2018-06-02 21:26:20 +02:00
Patrick Pelissier
c4548c4355
Fix splice_at which was broken.
2018-05-30 20:21:27 +02:00
Patrick Pelissier
0ff163e541
Fix issue for intrusive list and _splice_back.
2018-05-29 23:00:25 +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
c4c14b0fc6
Add _splice_at
2018-05-28 22:08:55 +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
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
210e05f7fc
Update copyright to 2018
2018-01-29 20:28:30 +01:00
Patrick Pelissier
379a810fbc
Clean up some code.
2017-10-31 17:30:55 +01:00
Patrick Pelissier
2e564088b0
Simplify the inclusion of headers.
2017-09-16 10:14:45 +02:00
Patrick Pelissier
1930bdeac1
_DEF macros checks if a global oplist is register if there is no one
...
given in the macro call. If it founds one, it will be it instead
of M_DEFAULT_OPLIST.
2017-09-16 08:31:22 +02:00
Patrick Pelissier
172e0bbe14
Fix bug of _swap.
2017-08-20 21:51:05 +02:00
Patrick Pelissier
2f0e2397bd
Add function _swap
2017-08-14 17:06:14 +02:00
Patrick Pelissier
98f66ecf8e
Add it_insert
2017-08-13 10:18:54 +02:00
Patrick Pelissier
980170d88f
Add list _splice_back
2017-08-12 10:10:28 +02:00
Patrick Pelissier
98f383052e
Add MILIST_CONTRACT
...
Add ilist_splice
2017-08-08 22:57:56 +02:00
Patrick Pelissier
f7277884a6
Fix issue for intrusive list & free :
...
we read the next pointer after freeing the memory !
2017-08-05 13:06:04 +02:00
Patrick Pelissier
750de41984
Replace FREE method by DEL method as it is a single object.
2017-08-01 23:08:15 +02:00
Patrick Pelissier
eb769c7b20
Add new functions to intrusive lists:
...
* next_obj
* previous_obje
* it_remove
clear function will call clear operator from the type
and if defined, also the free operator on the object
of the list.
2017-08-01 22:57:13 +02:00
Patrick Pelissier
da9d87bf4b
Remove ilist_ prefix from Intrusive List
...
See commit on Shared Pointer
Additional Fix:* the iterator name is also impacted
and shall be converted in the sources (_it_ change from being a prefix to a suffix).
2017-07-25 22:27:48 +02:00
Patrick Pelissier
ac48547fee
Fix issue for last_p which doesn't detect an end of iteration as valid.
2017-07-15 21:32:07 +02:00
Patrick Pelissier
081b9d7f6c
Use of M_CONST_CAST for intrusive list.
2017-05-26 12:41:52 +02:00
Patrick Pelissier
e2f0955385
Do the same for intrusive list.
2017-04-23 18:39:31 +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
4fa296c379
Port to M_TYPE_FROM_FIELD
2017-03-15 22:06:19 +01:00
Patrick Pelissier
eaf3af8c07
Implement IT_END operator.
...
Add missing IT_LAST operator
2017-03-13 10:32:57 +01:00
Patrick Pelissier
80de5d06c8
Additional clean up
2017-03-06 22:06:22 +01:00
Patrick Pelissier
e83a43172a
Fixes #1
2017-03-06 22:04:37 +01:00
Patrick Pelissier
d29f9efca1
Intrusive list are defined as a struct instead of a mirror
...
of the previous interface:
prepare change for C++ compatibility.
2017-03-06 21:51:52 +01:00
Patrick Pelissier
41a78097fd
Add oplist parameter to ilist
2017-03-03 23:38:24 +01:00
Patrick Pelissier
2b27d36692
Remove check_instance from i-list
2017-02-27 21:17:32 +01:00
Patrick Pelissier
bf9714e00a
Rewrite casting to be more safe.
2017-02-27 20:47:47 +01:00