Commit Graph
100 Commits
Author SHA1 Message Date
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