28 Commits
Author SHA1 Message Date
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