Commit Graph
40 Commits
Author SHA1 Message Date
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