Patrick Pelissier
9c723da768
Change format of errror on oplist
...
This is to enable M_GLOBAL_OPLIST_OR_DEF to properly expand the erroneous oplist to the backend generator, that will report the error.
As such the erreneous oplist is surrounded by two pairs of brackets (())
2020-05-30 17:54:22 +02:00
Patrick Pelissier
8be06cadb3
Add comments on description.
2020-05-20 23:21:27 +02:00
Patrick Pelissier
f4c24f07af
Update comment description of macros and functions
2020-05-20 22:36:36 +02:00
Patrick Pelissier
024b62a7a7
Add instance for M_CHECK_COMPATIBLE to be able to check multiple types within one container.
2020-05-17 10:26:08 +02:00
Patrick Pelissier
c59731775e
* Provide alternative for M_STATIC_ASSERT in GNUC + C11 with improved error messages
...
* Add internal macro M_CHECK_COMPATIBLE_OPLIST to check if a type and an oplist could match.
2020-05-17 09:36:50 +02:00
Patrick Pelissier
e9db1d28b8
Try to work around to print the oplist
2020-05-15 21:45:21 +02:00
Patrick Pelissier
0bedcba32b
Rewrite M_STATIC_ASSERT to include an error code and message
...
Add more control on the default expanded macros to check if arguments are compatible
2020-05-15 14:51:20 +02:00
Patrick Pelissier
6c222b9ad7
Raise proper failure if M_let is used without an oplist
...
Raise proper failure if a TYPE operator is used in an oplist that doesn't export it.
2020-05-09 11:15:44 +02:00
Patrick Pelissier
79f2f396b9
Add macro M_STATIC_FAILURE to abort expansion in case of error
2020-05-09 10:55:25 +02:00
Patrick Pelissier
9ba2de4b70
Add macro M_IF_FUNCOBJ to handle conditional expression if the function object is defined
2020-05-05 23:34:12 +02:00
Patrick Pelissier
48526ff5c7
Simplify logic due to fix of M_PARENTHESIS_P
2020-05-04 00:33:00 +02:00
Patrick Pelissier
01fd5d929e
* Fix M_RET_ARG so that it accepts also a list of the exact number of arguments (instead of one more) * Add more keywords for pattern recognation
2020-05-03 13:13:45 +02:00
Patrick Pelissier
2d60bd2c1b
Fix a bug in M_PARENTHESIS_P
2020-05-02 10:19:31 +02:00
Patrick Pelissier
1c792dd0a4
Add option for init_with to dispatch to different methods in function of the number of args
2020-05-02 10:06:08 +02:00
Patrick Pelissier
963d819e22
* Add NAME operator. * Register default oplist for char,short,int,long,float,double
2020-05-02 09:55:10 +02:00
Patrick Pelissier
a0a32d8c6c
ALGO_REDUCE accept dest with different type than the container
2020-04-20 23:49:16 +02:00
Patrick Pelissier
5b8750ee2a
* Add support for product in ALGO_REDUCE
2020-04-10 08:28:16 +02:00
Patrick Pelissier
e7fcefb391
* Dict supports INIT_WITH method too.
2020-03-29 00:49:36 +01:00
Patrick Pelissier
068d023917
Factorize in m-core.h the pattern recognication.
2020-03-28 11:36:51 +01:00
Patrick Pelissier
1fe9e4c14c
Export ADD / MUL / DIV / SUB for basic C types.
2020-03-26 21:44:19 +01:00
Patrick Pelissier
4f7b0b9455
Happy new year 2020
2020-01-04 15:41:06 +01:00
Patrick Pelissier
0c3730d9a3
Migrate version to 0.3.1
2019-12-27 16:41:42 +01:00
Patrick Pelissier
7128f5add2
* Add support for API_6 & API_7. * Fix issue for DO_INIT_MOVE that doesn't support API calls
2019-12-15 19:43:26 +01:00
Patrick Pelissier
605ce9b938
* Update version * Update comments * Improve robustness
2019-12-14 11:12:59 +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
ffed880e0a
Fix static assert for C++ (disable them totally as static_assert doesn't work -- It can't be used in expressions)
2019-11-30 00:08:59 +01:00
Patrick Pelissier
a79b67cea2
Generate better error message in case of missing methods in OPLIST for GCC/CLANG
2019-11-29 23:45:48 +01:00
Patrick Pelissier
bc3c8b5bcd
Fix M_DO_INIT_MOVE / M_DO_MOVE to be more conservative. M_MOVE_DEFAULT doesn't work for all types ([1] structure). A MOVE operator should be defined however.
2019-11-29 23:23:27 +01:00
Patrick Pelissier
3489bb42bc
Add static assertion and use it for move/copy/cmp default
2019-11-29 23:13:28 +01:00
Patrick Pelissier
e6a9b8fc8e
Add M_EMPTY_OPLIST
2019-11-02 08:16:45 +01:00
Patrick Pelissier
ce93c00a7b
Workaround limitation of M_MOVE_DEFAULT for [1] structure (==> It supposes now that the destination parameter is **not** a type with [1] tricks or at least not a pointer to it, instead of having this constraint for both arguments).
2019-07-16 23:21:41 +02:00
Patrick Pelissier
8e7eae5751
Update comments.
2019-06-09 09:32:35 +02:00
Patrick Pelissier
417b0295be
Add C++ compatibility
2019-05-18 11:17:14 +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
b6d5b5462b
Update interface needed for serial
2019-05-18 11:17:14 +02:00
Patrick Pelissier
ada1b9861f
Add size_of_type field for reading too
2019-05-18 11:17:13 +02:00
Patrick Pelissier
b525723084
Implement Serial Json Read tuple
2019-05-18 11:17:13 +02:00
Patrick Pelissier
6c7ff1c723
Update/fix bugs
2019-05-18 11:17:13 +02:00
Patrick Pelissier
5222fabf02
Add tuple support for serial
2019-05-18 11:17:13 +02:00
Patrick Pelissier
44abead174
Update IN_SERIAL & OUT_SERIAL for default types.
2019-05-18 11:17:13 +02:00
Patrick Pelissier
492d5f0f9a
Add IN_SERIAL & OUT_SERIAL for default types.
2019-05-18 11:17:13 +02:00
Patrick Pelissier
9bc5ac3df8
Start implementating generic serialization
2019-05-18 11:17:13 +02:00
Patrick Pelissier
2cd0a8db74
Uniformize the way of displaying the location of errors in the error message
2019-05-11 01:16:54 +02:00
Patrick Pelissier
1e171f9cc0
Increase NARGS support to 75
2019-05-10 21:39:18 +02:00
Patrick Pelissier
8d16ea4bf4
Increase maximum number of operators per oplist to 75
2019-05-10 21:26:18 +02:00
Patrick Pelissier
a0c2ead91d
Fix bug for M_AS_TYPE and small types
2019-05-10 10:20:38 +02:00
Patrick Pelissier
6153383dab
Update indent
2019-05-07 16:05:47 +02:00
Patrick Pelissier
74fed41818
Update version
2019-05-07 16:01:50 +02:00
Patrick Pelissier
ccccedc2d5
Rework failure messages.
2019-04-22 18:30:46 +02:00
Patrick Pelissier
446afb04c7
Remove unused macro M_INIT_FAILURE
2019-04-22 12:07:53 +02:00