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
Patrick Pelissier
6c888f9b68
Add missing operator
2017-02-27 20:43:56 +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