Patrick Pelissier
2cfac5c332
Fix build issue in C11 for new macros.
2020-10-03 14:07:14 +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
e04b120d41
Add new macros _DEF_AS so that
...
user can define its own name for the generated types.
2020-10-03 14:07:14 +02:00
Patrick Pelissier
eb8b106f48
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
784c42d850
Update _insert functions to update
...
iterators as per new specification.
2020-07-19 00:55:35 +02:00
Patrick Pelissier
2063bf879d
Formatting: replace TAB by SPACE.
2020-07-14 00:26:26 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +02:00
Patrick Pelissier
9340c2e55c
Fix memory leak for _parse_str in case of error.
2020-05-24 19:50:32 +02:00
Patrick Pelissier
d1ae26f0fd
* Add control than the type and the oplist are compatible
2020-05-17 10:27:30 +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
055e74d350
Add more check for valid oplists before expanding further
2020-05-09 16:10:56 +02:00
Patrick Pelissier
34f70a031f
Use M_STATIC_FAILURE to stop expanding methods in case of detected failure
2020-05-09 10:56:05 +02:00
Patrick Pelissier
4f7b0b9455
Happy new year 2020
2020-01-04 15:41:06 +01:00
Patrick Pelissier
90f248fbe8
Rename interface field of serial object into m_interface (WINDOWS compatibility as it defines a macro called interface)
2019-12-06 21:13:37 +01:00
Patrick Pelissier
6b8938cf76
Update comments.
...
Rename / Uniformize internal macros.
2019-06-09 10:01:50 +02:00
Patrick Pelissier
05a68157bc
Add local argument to serial interface to enable serial interface to create local parameters if needed (for example for serial binary)
2019-05-18 11:17:14 +02:00
Patrick Pelissier
585ea1293d
Add in_serial / out_serial for lists
2019-05-18 11:17:14 +02: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
6b5434d64f
Fix regression:
...
even if there is no INIT method for the base type,
the container still defines a INIT method.
2018-10-21 22:27:52 +02:00
Patrick Pelissier
2b6a266b93
Optimize _pop_back for dual push list.
2018-09-22 11:58:22 +02:00
Patrick Pelissier
a1c3681002
Optimization of _init_set for list.
2018-09-22 11:37:23 +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
bb8de993b6
Start porting to M_CALL infrastructure, enabling support for
...
API transformation.
2018-09-08 22:49:12 +02:00
Patrick Pelissier
5eb5d2420e
Make INIT method optional for oplists.
2018-09-08 08:57:02 +02:00
Patrick Pelissier
2174c28aa2
Make INIT operator optionnal for ARRAY & LIST.
2018-09-08 08:21:13 +02:00
Patrick Pelissier
822c27399c
Add M_INIT_VAI to initialize a container with a VA.
...
(pretty much like it was done for ALGO).
Use if for array & list so that you can init them in M_LET
by giving it a VA.
2018-09-01 21:12:02 +02:00
Patrick Pelissier
0fa7aed1c4
Add missing synonim
2018-08-19 20:07:58 +02:00
Patrick Pelissier
3b0e940284
Add missing _ptr & _srcptr alias.
2018-08-19 17:58:23 +02:00
Patrick Pelissier
df8306c721
Export IT_INSERT method
2018-08-08 22:43:44 +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
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
e5be1e1f05
Add a name to the structure.
2018-06-27 20:10:28 +02:00
Patrick Pelissier
74350f3638
Reuse a local variable instead of reading once again from memory.
2018-05-28 23:45:40 +02:00
Patrick Pelissier
ee2c7caac2
Update _splice_at with new specification.
...
Fix issue of _splice_at (iterator not properly set).
Export _split_at methods in oplist.
2018-05-28 23:44:15 +02:00
Patrick Pelissier
e5f5563249
Add method _splice_at for dual_push_list
2018-05-28 21:58:45 +02:00
Patrick Pelissier
2a6893efb4
Add method _splice_at for singly list.
2018-05-28 21:22:14 +02:00
Patrick Pelissier
9fd920945a
Remove condition that the list shall be different for splice_back.
...
No need.
2018-05-28 20:59:27 +02:00
Patrick Pelissier
a116daa7a1
Splice_back may work if old & new are the same list.
2018-05-28 20:58:51 +02:00
Patrick Pelissier
0b8759380b
Fix name of called method to avoid infinite recursion...
2018-05-27 11:17:11 +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
53a79e3170
Export splice_back method for list
2018-05-27 11:06:35 +02:00
Patrick Pelissier
86083e3a92
Add methods push_move & pop_move.
...
Rewrite _pop_back to be a little bit faster for complex structure as it used
DO_MOVE instead of plain _set.
2018-05-19 11:21:18 +02:00
Patrick Pelissier
3a09efde91
Skip spaces in serialisation.
2018-05-03 17:22:50 +02:00
Patrick Pelissier
4efa8c1ef9
Add function _parse_str for list.
2018-05-03 17:14:10 +02:00
Patrick Pelissier
b05b515f3d
Reformat
2018-04-15 20:58:52 +02:00
Patrick Pelissier
171402f99f
Fix bug
2018-02-25 11:52:21 +01:00