Patrick Pelissier
a523a97a0e
Update doc
2024-03-18 22:44:53 +01:00
Patrick Pelissier
6f75bb938b
Update doc
2024-03-18 22:32:16 +01:00
Patrick Pelissier
a22046bc2a
Update doc
2024-03-15 14:40:47 +01:00
Patrick Pelissier
84ee15b2e7
Remove workaround
...
This header is already quite demanding on compiler compliance , so there is no need to implement workaround for old compilers.
2024-03-15 14:40:36 +01:00
Patrick Pelissier
fd6a8f1361
Update doc
2024-03-14 23:27:23 +01:00
Patrick Pelissier
d22e75d7a0
Make I/O functions exception aware.
...
Simplify their logic
Fix other bugs.
2024-03-08 00:15:08 +01:00
Patrick Pelissier
ca25dfb537
Add missing TYPE operator name in the error message if it is missing in the oplist
2024-02-27 01:12:29 +01:00
Patrick Pelissier
e2159109b3
Update analysis of issues
2024-02-24 12:17:30 +01:00
Patrick Pelissier
cc6bdbf06c
Add missing method name in the error message
...
if the method is missing.
2024-02-23 22:52:05 +01:00
PpHd
cd37efc69d
Merge pull request #115 from derskythe/feat-styled-readme
...
Refine explanations and improve formatting in README.md
2024-02-08 13:32:47 +01:00
Patrick Pelissier
d7a232364f
Update infrastructure to the fact that the bench directory has been deleted
2024-01-19 22:27:33 +01:00
Patrick Pelissier
f7580e7ce9
Move bench directory to https://github.com/P-p-H-d/c-stl-comparison
...
since it is better to have the comparison centralized in one place.
2024-01-19 21:53:20 +01:00
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
8902a752f5
Migrate to V0.7.2
2023-12-31 13:02:42 +01:00
PpHd
3445da13f3
Merge generic interface (WIP)
2023-12-31 12:53:10 +01:00
Patrick Pelissier
127530abaa
Fix format
2023-12-30 16:27:25 +01:00
Patrick Pelissier
ed0f538fb7
Add documentation of generic interface
2023-12-30 16:23:02 +01:00
Patrick Pelissier
76ef061dec
Add basic example of generic interface
2023-12-30 16:23:02 +01:00
Patrick Pelissier
c98786a3b3
Update TODO items
2023-12-30 16:23:02 +01:00
Patrick Pelissier
422f3c2c04
Add GENTYPE operator to all oplists
2023-12-30 16:23:02 +01:00
Patrick Pelissier
5ceb34d980
Cosmetics changes
2023-12-30 16:23:02 +01:00
Patrick Pelissier
73e3d1d1bd
Register string_t globally
2023-12-30 16:23:02 +01:00
Patrick Pelissier
044a085fb6
Fix support for pop generic macro function
2023-12-30 16:23:02 +01:00
Patrick Pelissier
5344423ad9
Reorder header / comment
2023-12-30 16:23:02 +01:00
Patrick Pelissier
76ea989865
Fix warnings
2023-12-30 16:23:02 +01:00
Patrick Pelissier
29c4ba3dcc
Add support for M_PRINT
2023-12-30 16:23:02 +01:00
Patrick Pelissier
42184f69db
Disable generic tests for TCC
2023-12-30 16:23:02 +01:00
Patrick Pelissier
fb8bf65233
Worlaround for warning with clang
2023-12-30 16:23:02 +01:00
Patrick Pelissier
1d86e51f4a
Improve test suite
2023-12-30 16:23:02 +01:00
Patrick Pelissier
53c35a22d7
First version of Generic header
2023-12-30 16:23:02 +01:00
Patrick Pelissier
722737d60c
Add M_QUAD internal macros
2023-12-30 16:23:02 +01:00
Patrick Pelissier
f951a947ec
Adding a try catch example
2023-12-30 13:42:47 +01:00
Patrick Pelissier
d9401371a6
Fix warnings reported by CLANG,
...
the C warning generator.
2023-12-23 13:16:42 +01:00
Patrick Pelissier
690fd72c8b
Fix documentation
2023-12-23 11:24:25 +01:00
Patrick Pelissier
d318493c6c
Remove M_PRINT_ARG macro to simplify maintenance
...
(M_FPRINT_MACRO with stdout can be used instead)
2023-12-22 23:46:07 +01:00
Patrick Pelissier
fecece19cb
Add retry for TCC due the random segfault it generates
2023-12-22 23:45:39 +01:00
Patrick Pelissier
ea640482a7
Add new examples with custom allocation
2023-12-20 19:25:27 +01:00
Patrick Pelissier
3e558af559
Remove unused function
2023-12-20 19:24:57 +01:00
Patrick Pelissier
91a602f774
Add bench of boost unordered flat hashmap
2023-12-19 20:58:02 +01:00
Patrick Pelissier
6a5c136c72
Complete bench-verstable with bench on big structure
2023-12-13 19:35:08 +01:00
Patrick Pelissier
e50fdc82ef
Add benchmark for verstable
2023-12-12 23:59:17 +01:00
Patrick Pelissier
ec0a082701
Update ISSUE
2023-12-12 22:57:13 +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
15492394ad
Update list of exported files
2023-12-08 20:58:47 +01:00
Patrick Pelissier
09f40b5695
Fix format
2023-12-08 20:58:33 +01:00
Patrick Pelissier
eabfcd1d49
Update list of ignored files
2023-12-08 00:25:53 +01:00
Patrick Pelissier
00aeafc616
Update comments
2023-12-06 23:55:11 +01:00
Patrick Pelissier
f512051807
Migrate to actions/checkout@v4
2023-12-06 23:52:04 +01:00
Patrick Pelissier
4e8b929da9
Migrate to vmactions/freebsd-vm v1
2023-12-06 23:51:40 +01:00
Patrick Pelissier
5841f936e6
Work around static analyzer
...
that raise an issue on freeing non heap pointer
2023-12-02 13:48:21 +01:00
Patrick Pelissier
2ee40339b0
Using emplace to generate init_with for shared_ptr:
...
Equivalent to C++ make_shared)
2023-12-02 13:21:45 +01:00
Patrick Pelissier
0c8eca893d
Add example of REST client
...
by using libcurl for HTTP connection
and M*LIB for JSON formating.
2023-11-25 13:33:27 +01:00
Patrick Pelissier
b16048a55b
Add test cases for tuple emplace
2023-11-25 13:32:57 +01:00
Patrick Pelissier
9dc582c6bc
Add emplace set functions for tuple
2023-11-25 13:30:08 +01:00
Patrick Pelissier
1df8bf84fb
Fix oplist definition for tuple.
...
The oplist didn't include as many sub-oplists as the number of variables.
2023-11-25 13:29:48 +01:00
Patrick Pelissier
e017a90e5c
Fix format
2023-11-04 19:28:32 +01:00
Patrick Pelissier
58b317b759
Add timeout for run in VM
2023-11-04 18:50:43 +01:00
Patrick Pelissier
3a057fc319
M_STATIC_ASSERT: provide expression compatible
...
macro even in pure C11 mode
(Remove GCC extension)
Add M_OPL_AS_STR to display the oplist conditionnaly as the generated string may be too big for some compilers.
Translate some M_STATIC_FAILURE into M_STATIC_ASSERT
as M_STATIC_FAILURE is not an expression whereas M_STATIC_ASSERT is an expression.
2023-11-04 18:48:13 +01:00
Patrick Pelissier
703ab6ff9c
Update examples
2023-11-04 18:48:13 +01:00
Patrick Pelissier
f7f5db61d3
Fix formatting
2023-11-01 11:13:54 +01:00
Patrick Pelissier
32b00eb433
Add new operator GENTYPE
2023-10-21 19:05:08 +02:00
Patrick Pelissier
796f2619e5
Change M_BY_NARGS semantics:
...
simplify suffix by __ # NARGS
instead of __NARGS_ # NARGS
Driver: reduce macro name length.
2023-10-20 00:02:38 +02:00
Patrick Pelissier
268192138a
WIP M_ON_EXCEPTION
2023-10-19 22:54:51 +02:00
Patrick Pelissier
0671a2ea41
Update doc
2023-10-15 22:21:12 +02:00
Patrick Pelissier
07dce84e51
Tuple init: handle case of exception
...
during construction of tuple
2023-10-14 20:15:14 +02:00
Patrick Pelissier
5f4303624f
Adding macro M_CHAIN_OBJ
2023-10-14 15:55:59 +02:00
Patrick Pelissier
19e61467d5
Adding tuple generation
...
for analysis of generated code.
2023-10-14 15:31:37 +02:00
Patrick Pelissier
1454bcebe4
Add unique name identifier
...
in order to avoid Wshadow warning
in generated code.
2023-10-14 15:30:57 +02:00
Patrick Pelissier
d48f2ff84d
Update comment
2023-10-06 22:38:36 +02:00
Patrick Pelissier
269636b4d8
Update doc with new macro M_CHAIN_INIT
2023-09-09 18:40:59 +02:00
Patrick Pelissier
bf68340106
Add macro M_CHAIN_INIT for support of partially constructed object.
2023-09-09 18:40:32 +02:00
Patrick Pelissier
5dba526e29
Update ISSUES
2023-09-08 22:12:16 +02:00
Patrick Pelissier
469239adcd
Update comments
2023-08-24 23:32:47 +02:00
Patrick Pelissier
589abda0c2
Fix bug in list insertion:
...
The output iterator has its previous field incorrect.
2023-08-13 23:27:12 +02:00
Patrick Pelissier
8f141896ba
Clarify operators for memory allocation
2023-08-02 23:20:02 +02:00
Patrick Pelissier
a0cbec4329
Support of output failure for serialization of strings
2023-08-02 23:20:02 +02:00
Patrick Pelissier
df66db562d
Add comments
2023-08-01 00:33:43 +02:00
Patrick Pelissier
1829a70601
Update documentation
2023-07-20 23:42:15 +02:00
Patrick Pelissier
e9b25f2414
Rename internal field size to capacity
...
to match what it is used for.
2023-07-13 21:48:33 +02:00
Patrick Pelissier
c9bb739f24
Fix format
2023-07-10 00:59:18 +02:00
Patrick Pelissier
e049b83a9e
Rename M_SUFFIX_FUNCTION_BY_NARGS in M_BY_NARGS
...
and updates suffix with __NARGS_
in order to be more explicit.
2023-07-10 00:58:31 +02:00
Patrick Pelissier
31ac3999a1
Add new operators
2023-07-07 22:17:39 +02:00
Patrick Pelissier
a0818419ab
Fix format
2023-07-04 01:08:40 +02:00
Patrick Pelissier
496f885a84
Add threads backend for FreeRTOS tasks.
2023-07-04 01:07:59 +02:00
Patrick Pelissier
d5d9a4bd5c
Update documentation of threads
2023-07-04 00:46:32 +02:00
Patrick Pelissier
ca9571a110
Fix no stdio:
...
M_CSTR macro cannot be available if there is no stdio
2023-06-29 21:26:22 +02:00
Patrick Pelissier
4497214b9c
Fix spelling
2023-06-29 00:32:23 +02:00
PpHd
ccb1658afd
Provide way of avoiding code duplication for multiple source C files
...
Use of compiler extension for that, only compatible for GCC /CLANG.
This provides easy and total customization (for example non template functions like strings can also avoid code duplication).
2023-06-13 23:46:58 +02:00
Patrick Pelissier
eaf2783f1a
Synchro with master branch
2023-06-11 23:32:42 +02:00
Patrick Pelissier
5705819814
Update doc
2023-06-11 23:32:02 +02:00
Patrick Pelissier
91f5f513c4
Update macro names
...
Make global logic easier.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
3dec4e2cbe
Fix example
2023-06-11 23:32:02 +02:00
Patrick Pelissier
e70766beaa
Update list of ignored file
2023-06-11 23:32:02 +02:00
Patrick Pelissier
d7639f0ae0
Update example to match new semantic
2023-06-11 23:32:02 +02:00
Patrick Pelissier
c63ce84e45
Update logic to select which linkage to use
...
so that user code can be written easily
M_USE_EXTERN_DECL / M_USE_DECL activates functions that are not inlined.
If M_USE_EXTERN_DEF / M_USE_DEF is also defined, then the definition is emitted instead of the declaration.
2023-06-11 23:32:02 +02:00
Patrick Pelissier
a043c379c0
Update user code as per new liberty
2023-06-11 23:32:02 +02:00
Patrick Pelissier
92bb380117
Rewrite order in preprocessing if to simplify user code
2023-06-11 23:32:02 +02:00
Patrick Pelissier
6bb7a184db
Fix compil rules
2023-06-11 23:32:02 +02:00
Patrick Pelissier
fa9163be9d
Make linker options optional
2023-06-11 23:32:02 +02:00