Commit Graph
44 Commits
Author SHA1 Message Date
Patrick Pelissier 54d4b80368 Reformat macro to 80 characters 2020-10-21 23:23:40 +02:00
Patrick Pelissier 7f26ef0f1c Add new macros to define container
with the full given name.
2020-10-03 14:07:14 +02:00
Patrick Pelissier b396b42808 Update comments 2020-10-03 14:07:14 +02:00
Patrick Pelissier b3a1a75f6f Rename internal types:
a suffix ending with _ct means confidential type
ans is reserved for M*LIB internal usage.

OPLIST doesn't use the external types
but rather the internal types.
It enables to be independent of the real names
of the external types.
Such external names are planned to be fully customizable
(i.e. the user may define a name that suits its coding style)
2020-10-03 14:07:14 +02:00
Patrick Pelissier 5f9feb833c Replace TAB by SPACE 2020-07-25 19:17:25 +02:00
Patrick Pelissier 8a36b5ff15 Workaround to avoid CLANG unused function warnings 2020-07-09 22:14:00 +02:00
Patrick Pelissier dfd12107de Add new function _clear_ptr 2020-07-02 10:39:05 +02:00
Patrick Pelissier f2a06ede62 Add mechanism to disable temporary compiler warnings in a sequence of code. 2020-07-01 11:47:55 +02:00
Patrick Pelissier 7ebe0608ae Define _init_new method only if NEW method has not been disabled 2020-06-29 16:03:38 +02:00
Patrick Pelissier 78d0bfb286 Port new error oplist format to all containers. 2020-05-30 18:00:43 +02:00
Patrick Pelissier 9c58e73c37 * Add M_CHECK_COMPATIBLE
* Fix issue in oplist
2020-05-17 10:26:40 +02:00
Patrick Pelissier 49a2e600c4 Add control of sub-oplist when creating a new oplist of a container
Add test case of this new control
Fix some corner bugs in some containers evolving their own oplists.
2020-05-15 21:19:39 +02:00
Patrick Pelissier 45d2a529b5 Add more validation of oplists before expanding data 2020-05-10 11:16:46 +02:00
Patrick Pelissier 4f7b0b9455 Happy new year 2020 2020-01-04 15:41:06 +01:00
Patrick Pelissier 60a10eb799 Uniformize the macro names 2019-06-09 12:02:38 +02:00
Patrick Pelissier 8b3a4a802c Happy new year! 2019-01-02 18:12:07 +01: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 fd3453bb2a Port to M_CALL infrastructure M-I-SHARED 2018-09-10 07:55:47 +02:00
Patrick Pelissier 48a970ceb9 Avoid using '__' within words.
It seems to be a reserved naming of C++.
2018-08-19 11:31:09 +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 0295eea145 Rewrite the prototype of intrusive shared object
to be more clear when there is a shared pointer
and when there is not.
2018-02-26 21:38:33 +01:00
Patrick Pelissier 210e05f7fc Update copyright to 2018 2018-01-29 20:28:30 +01:00
Patrick Pelissier 11ab580b55 Do not call DEL operator if DEL operator has been disabled. 2017-11-25 22:47:15 +01:00
Patrick Pelissier 8717f0ad1a Fix issue for setting shared pointers if both dest & src
point to the same object.
2017-11-25 22:41:55 +01:00
Patrick Pelissier efe3e1778b Add some likely to some conditions 2017-11-25 22:40:23 +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 5c5fbd9bf0 Remove warnings for some compilers. 2017-08-05 19:26:50 +02:00
Patrick Pelissier 7a49348a4d Fix forgotten convertion. 2017-07-27 19:45:40 +02:00
Patrick Pelissier ad27d331a1 Remove ishared prefix from the Intrusive Shared Port
See commit on shared pointer.
2017-07-25 22:27:00 +02:00
Patrick Pelissier c567c7b848 Fix bug 2017-05-10 17:54:48 +02:00
Patrick Pelissier 72c5c3f371 Replace stdatomic.h (C11 standard compliant header) by a custom one
to increase C++ compatibility as stdatomic.h doesn't work in C++!

(I would like to thanks the one(s) who thought it was a good idea
***not*** to include stdatomic.h -and thread.h- in the C++ standard!)
2017-04-13 21:50:16 +02:00
Patrick Pelissier 1e729940c4 Fix issue in initializing an atomic_int with an int
(not supported by C11).
2017-04-08 11:03:59 +02:00
Patrick Pelissier 15e8a7b7d7 Fix error : doesn't allocate not enought memory! 2017-04-07 17:41:22 +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 2ade0805e7 Fix issue with clang 4. 2017-03-18 14:22:19 +01:00
Patrick Pelissier f004dadcee Add _init_new for i-shared 2017-03-17 00:29:07 +01:00
Patrick Pelissier 5ff056656a Clean up shared_ptr interface:
* remove release
* add clean
2017-03-16 22:26:15 +01:00
Patrick Pelissier ea9d624050 Add oplist for i-shared oplist 2017-03-06 22:34:11 +01:00
Patrick Pelissier e338ad90b8 Reindent 2017-02-25 22:13:16 +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