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
Patrick Pelissier
0bade1563c
Also build exn.exe by default
2023-06-11 23:32:02 +02:00
Patrick Pelissier
1278d2f8a0
Implement noinline another way
2023-06-11 23:32:02 +02:00
Patrick Pelissier
53af2aae68
Add example of separating inline & function code
2023-06-11 23:32:02 +02:00
Patrick Pelissier
17ded6fcc8
Update M_USE_EXTERN_FINE_GRAINED to avoid warnings
2023-06-11 23:32:02 +02:00
Patrick Pelissier
19ce371533
Add support for M_USE_EXTERN_FINE_GRAINED to enable / disable inline semantics alongside the translation unit by redefining it when needed
2023-06-11 23:32:02 +02:00
Patrick Pelissier
0bd1bcb68e
Another way to request the desired semantics, compatible with clang
2023-06-11 23:32:02 +02: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
2628536d20
Add +m_string_it_set_ref
2023-06-10 01:50:14 +02:00
Patrick Pelissier
ecfa4a9152
Add new function string_pop_u
...
to pop the last unicode code point
of a string.
2023-06-03 00:59:34 +02:00
Patrick Pelissier
dafe4bcec5
Add basic test for M_DEFAULT_ARGS
...
Print hint to developper in case of incorrect usage
2023-06-03 00:56:13 +02:00
Patrick Pelissier
8544a7f289
Update example
2023-05-30 14:01:30 +02:00
Patrick Pelissier
aa18915d61
Fix overflow computation
2023-05-21 00:15:58 +02:00
Patrick Pelissier
df4bc0a56c
Remove alloc warning for analyzer:
...
it is not able to track allocations correctly and only give false warnings.
valgraind or memory sanitizer are much more reliable to track memory errors.
2023-05-13 00:52:06 +02:00
Patrick Pelissier
b6046e5e23
Fix new warnings with GCC13
2023-05-13 00:52:06 +02:00
Patrick Pelissier
b487bfe5ad
Adding missing inline
2023-05-08 23:54:16 +02:00
PpHd
408272c810
Merge pull request
...
Add m_string_cat_vprintf
2023-05-08 23:35:54 +02:00
kitterion
6a9ee17eca
Add tests
2023-05-08 23:17:19 +03:00
kitterion
05c5a94634
Add m_string_cat_vprintf
2023-05-08 20:52:47 +03:00
Patrick Pelissier
b1b0927e9f
Update examples
2023-05-06 21:54:08 +02:00
Patrick Pelissier
37770365a1
Fix several bugs:
...
* in case of some invalid format starting with ']' directly it wrongly assume that the parsing was valid.
* incase of exception handling, and an exception was raised during the internal parsing, some destructors wern't called.
2023-05-05 22:16:39 +02:00
Patrick Pelissier
82bdcc685a
Add internal macro MQLET for internal M_LET use
2023-05-05 22:15:13 +02:00
Patrick Pelissier
26fa733f70
Fix format
2023-05-05 22:14:41 +02:00
Patrick Pelissier
cd2fc05573
Add FIXED_SIZE property
2023-05-05 21:41:05 +02:00
Patrick Pelissier
33430d4359
Update
2023-04-29 18:46:09 +02:00
Patrick Pelissier
dc95b49f05
Update
2023-04-29 12:07:10 +02:00
Patrick Pelissier
3ec24cfa40
Update
2023-04-29 11:41:08 +02:00
Patrick Pelissier
12b099dcf8
Update
2023-04-29 11:25:56 +02:00
Patrick Pelissier
b885d6136c
Update
2023-04-29 11:20:00 +02:00
Patrick Pelissier
b51c4bea2b
Update
2023-04-29 11:19:54 +02:00
Patrick Pelissier
302c5eb300
Remove export passthrough of NEW/DEL/REALLOC/FREE interface
...
from the container oplist.
It has no real practical purpose.
NEW/DEL/REALLOC/FREE shall be a property of the container
to be defined, and not a property for an already defined container.
2023-04-29 10:50:04 +02:00
Patrick Pelissier
6d2900a2bd
Improve coverage of test suite.
2023-04-27 00:04:44 +02:00
Patrick Pelissier
573e09c56e
Remove variable number of elements support which was not working.
...
Request an explicit number of elements.
2023-04-27 00:04:03 +02:00
Patrick Pelissier
0a39a17d36
The undefined number of element value of serial _array_start
...
is now (size_t)-1 and no longer 0.
Moreoever, a serialization interface may refuse outputting data
if it doesn't know the number of elements.
In which case, the container shall explictly compute the number
of elements and recall the serial object _array_start method.
2023-04-27 00:01:50 +02:00
Patrick Pelissier
a913d0947c
Rewrite code to fix coverage
2023-04-26 23:34:13 +02:00
Patrick Pelissier
abbd8ad6ce
Update
2023-04-26 22:56:23 +02:00
Patrick Pelissier
a09c9fe1c3
Update
2023-04-26 22:56:23 +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
272a326375
Fix warning issue for coverage
2023-04-22 09:23:18 +02:00
Patrick Pelissier
eca79f2c80
Improve coverage of test suite
2023-04-21 22:44:34 +02:00
Patrick Pelissier
2feda4059f
Fix issue in case of invalid IO
2023-04-21 22:44:23 +02:00
Patrick Pelissier
de0ef67cf2
Fix build issue with VC++
2023-04-19 23:06:23 +02:00
Patrick Pelissier
95762a058c
Fix const attribute of _get_emplace
2023-04-19 22:42:21 +02:00
Patrick Pelissier
acd8671017
Fix test case according to contract.
2023-04-19 22:37:54 +02:00
Patrick Pelissier
a6c1688f23
Fix issue in remove root node for tree (part 2)
2023-04-19 22:37:40 +02:00
Patrick Pelissier
f6ed549ce5
Fix issue in tree_remove for root node index (Part 2)
...
Enable support of removing root node
In this case, it considers the first child of the root as the new root (breaking symetry)
2023-04-18 23:24:48 +02:00
Patrick Pelissier
8639fdbd98
Fix issue in tree_remove when it is root node (part 1)
2023-04-18 22:56:56 +02:00
Patrick Pelissier
693b09387f
Improve coverage of test suite.
2023-04-18 22:19:41 +02:00
Patrick Pelissier
4052d3794b
Tree: Transform runtime tests into assertion
...
as it is proven that it cannot happen.
2023-04-18 22:19:28 +02:00