Patrick Pelissier
26cec1591a
* Remove some obsolete macros
...
* Fix spelling
* A little bit of refactoring
2024-01-19 21:37:47 +01:00
Patrick Pelissier
52b58c5a51
Happy new year 2024
2024-01-19 21:37:47 +01:00
Patrick Pelissier
422f3c2c04
Add GENTYPE operator to all oplists
2023-12-30 16:23:02 +01:00
Patrick Pelissier
7bf3ea3a87
Update Function Object interface
...
to make interface trivially copiable
There is no need to perform a copy-protected type as there is no init/clear for this type.
It is always created through an instance.
2023-12-09 12:40:45 +01:00
Patrick Pelissier
b50813713a
Define internal M_INLINE:
...
it is used to control the inline semantics.
By combining it with optimize option "-fno-inline"
for the internal M*LIB function (using _Pragma optimize)
we can control easily if we want to use an inline version
or call of an external function.
Define new user API:
* M_USE_EXTERN_DECL : define it before including any MLIB header to requests to call the M*LIB functions and don't inline then.
* M_USE_EXTERN_DEF : define it once in a translation unit to define the M*LIB functions. This translation unit shall contain all templated macro too.
If you use one option, you need to use the other one too for another translation unit.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
219c62ff5d
Provide a way to alter the standard naming convention for the functions
...
Close #72
2023-04-22 09:33:08 +02:00
Patrick Pelissier
2f76652f2b
Maintenance
2023-03-03 22:50:14 +01:00
Patrick Pelissier
a2ae209992
Happy new year
2023-01-02 12:57:41 +01:00
Patrick Pelissier
89d4db174e
Fix format
2022-12-23 11:48:15 +01:00
Patrick Pelissier
f5bbc0a7fb
Implement multiple kind of workarounds for GCC 12
...
as it produces more false warnings
Include missing header in C++ mode
2022-12-22 20:42:20 +01:00
Patrick Pelissier
ea3584e048
Rename internal macro to internal namespace
2022-11-29 23:16:55 +01:00
Patrick Pelissier
e1abf0528c
Rename M_DEFAULT_OPLIST in M_BASIC_OPLIST (cleaner name)
2022-04-08 22:54:29 +02:00
Patrick Pelissier
b8cd679679
Move generating macro into the m_ namespace and create a wrapper using historical names for compatibility with existing code
2022-03-24 20:46:49 +01:00
Patrick Pelissier
19b01b404d
Migrate to 2022
2022-03-12 20:25:45 +01:00
Patrick Pelissier
9bd820c652
Force use of INIT_WITH for function object.
2021-07-01 22:12:15 +02:00
Patrick Pelissier
517da1b999
Rename generated internal functions
...
to avoid "poluting" userspace naming.
2021-02-13 11:45:05 +01:00
Patrick Pelissier
25497bd96f
Factorize code so that _DEF macros use _DEF_AS ones
2021-02-07 23:04:59 +01:00
Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +01:00
Patrick Pelissier
978e0ea5d7
Fix format
2020-11-14 22:45:18 +01:00
Patrick Pelissier
6aa28b4cfe
Fix warnings on ARM
2020-10-30 08:02:37 +01:00
Patrick Pelissier
0818d0ac7c
Fix macro formatting.
2020-10-23 21:46:34 +02:00
Patrick Pelissier
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
22f595c015
Update comment
2020-10-17 12:39:09 +02:00
Patrick Pelissier
8340cf70fb
Add macros
...
FUNC_OBJ_ITF_DEF_AS
FUNC_OBJ_INS_DEF_AS
2020-10-03 14:07:14 +02:00
Patrick Pelissier
1943650ca3
Factorization of the name of the object
...
at the top level to be able to create
new high level macros that enables
to select the full name of the type.
2020-10-03 14:07:14 +02:00
Patrick Pelissier
5722f19939
Update comments
2020-10-03 14:07:14 +02:00
Patrick Pelissier
7cf14b5d8a
Update formatting
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
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +02:00
Patrick Pelissier
6001781e68
Cleanup namespace, add comments, and remove dead code
2020-05-17 21:39:24 +02:00
Patrick Pelissier
3885cb29a2
Add control of type and oplists
2020-05-17 11:53:27 +02:00
Patrick Pelissier
3cde7a1731
Add protection for use of oplist within a container oplist
2020-05-15 21:46:03 +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
6774afd751
Add checks of missing oplist in the last _DEF macros
2020-05-11 20:54:50 +02:00
Patrick Pelissier
7d17223332
Update comments
2020-05-10 11:15:56 +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
1e7b543c0f
Fix issue with oplists with 3 arguments and fix warnings
2020-05-04 00:30:14 +02:00
Patrick Pelissier
deb595372b
Add first version of Function Object
2020-05-03 17:49:02 +02:00