Patrick Pelissier
1e196fe22a
Port to new spec M_MEMORY_FULL
2025-05-07 21:02:23 +02:00
Patrick Pelissier
450d2c9000
Update spec of M_MEMORY_FULL
2025-05-07 21:02:23 +02:00
Patrick Pelissier
93112a5a7c
Update example
2025-05-07 21:02:23 +02:00
Patrick Pelissier
1f2584ccea
Port to new memory model
2025-05-07 21:02:23 +02:00
Patrick Pelissier
5b4c9cd618
Update spec of memory functions
2025-05-07 21:02:23 +02:00
Patrick Pelissier
f4e3d9cd4c
Release V0.7.4
2025-05-07 21:02:01 +02:00
Patrick Pelissier
4988661b7d
Fix target armv6 (2) for Continuous Integration
2025-05-06 00:47:29 +02:00
Patrick Pelissier
7033a922c7
Fix target armv6 for Continuous Integration
2025-05-05 23:50:43 +02:00
Patrick Pelissier
dd607252eb
Add target risc64, ppc64le and armv6 for Continuous Integration
2025-05-05 23:46:09 +02:00
Patrick Pelissier
73da9a4316
Update obsolete header section
2025-04-18 21:58:15 +02:00
Patrick Pelissier
b3a0d70147
Fix memory safety errors in examples.
2025-04-08 21:46:16 +02:00
Patrick Pelissier
c55bb6b9ad
Fix random segfault on AARCH64 CI
2025-03-13 22:24:13 +01:00
Patrick Pelissier
68fdc2dde1
Fix undefined behavior in using setjmp
2025-03-06 15:38:44 +01:00
Patrick Pelissier
8877af10b0
Update copyright
2025-03-03 23:45:04 +01:00
Patrick Pelissier
782963dec5
Add example of disabling small name usage
2025-03-01 12:20:28 +01:00
Patrick Pelissier
36d11bc2bd
Fix small name usage
2025-03-01 12:19:35 +01:00
Patrick Pelissier
6d621703eb
Copyright go to 2025 year
2025-03-01 11:03:38 +01:00
Patrick Pelissier
76b40d247d
Fix #133 : forgotten const for second argument (reported by Brian Sipos)
2025-02-03 23:12:22 +01:00
Patrick Pelissier
033deac9f5
Workaround for GCC 12 bug in warning
2025-02-03 23:06:41 +01:00
Patrick Pelissier
b60553165d
Fix usage of M_USE_SMALL_NAME (Reported by Brian Sipos)
2025-02-03 22:33:07 +01:00
Patrick Pelissier
e1a4d359a2
Update doc
2025-02-02 10:50:41 +01:00
Patrick Pelissier
4ab2615a1c
Clarify constraint on _splice
2024-12-25 20:48:34 +01:00
Patrick Pelissier
9136a4a972
Update
2024-12-08 19:34:15 +01:00
Patrick Pelissier
55dcf0e438
Fix example
2024-11-30 13:04:45 +01:00
Patrick Pelissier
fb604f02b7
Update / add todo
2024-11-30 10:26:11 +01:00
Patrick Pelissier
1db417e30e
Rename _new_copy into _clone
2024-11-30 10:25:51 +01:00
Patrick Pelissier
5b77fe7207
Add some missing const in the interface
2024-11-30 10:25:36 +01:00
Patrick Pelissier
dd509f2b7e
Update documentation of new shared pointer interface.
2024-11-30 10:25:15 +01:00
Patrick Pelissier
50d4e15297
Simplify lock as mutex should be released by the thread that performed the initial lock to be portable
2024-11-26 22:26:25 +01:00
Patrick Pelissier
f6d1b16338
Fix C++ warning
2024-11-25 00:04:54 +01:00
Patrick Pelissier
64a035559d
Update test suite
2024-11-24 23:57:22 +01:00
Patrick Pelissier
c4bc37560c
Improve testing of new shared pointer
...
Adding measure of coverage. Need to move some codes outside the main C file, to avoid polluting the measure of the coverage by some functions we don't need to measure.
2024-11-24 18:21:21 +01:00
Patrick Pelissier
e7309b7d3a
Add forgotten "const" attribute to string_length_u and string_utf8_p
2024-11-24 18:20:19 +01:00
Patrick Pelissier
c461b4eca4
Update shared pointer new interface
2024-11-24 11:26:30 +01:00
Patrick Pelissier
f21d427de1
Convert example to new shared ptr interface
2024-11-16 18:02:13 +01:00
Patrick Pelissier
0f9edaa7ee
Fix oplist usage of new shared-ptr
2024-11-16 18:01:58 +01:00
Patrick Pelissier
64888127c4
Update to get the lastest v2
2024-11-16 16:55:42 +01:00
Patrick Pelissier
d5b4ec249b
Update test suite
2024-11-16 13:26:21 +01:00
Patrick Pelissier
0bcd78a8f5
Fix warning.
2024-11-12 22:31:05 +01:00
Patrick Pelissier
27b0850af4
Fix case of the same variable is passed as 2/3 arguments of a function.
2024-11-12 22:26:45 +01:00
Patrick Pelissier
ae55ccfc40
Update test to consider change of default for deque
2024-11-11 23:56:33 +01:00
Patrick Pelissier
5bf644ccf0
Improve test suite
2024-11-11 22:38:10 +01:00
Patrick Pelissier
3f09adc507
Fix ADD/SUB/MUL/DIV methods of a shared pointer
2024-11-11 22:38:02 +01:00
Patrick Pelissier
4e851142c2
Change the operator POP of a DEQUE to pop_front instead of pop_back:
...
it is more inline with what we expects / uses a deque for.
(buffer FIFO)
2024-11-11 22:36:56 +01:00
Patrick Pelissier
fec6b42260
Add comment
2024-11-11 21:47:54 +01:00
Patrick Pelissier
9dbc48aa5d
Update
2024-11-09 19:07:08 +01:00
Patrick Pelissier
b92bae34eb
Update comments
2024-11-09 14:54:16 +01:00
Patrick Pelissier
8faf7f79c4
Add first test cases for m-shared-ptr
2024-11-09 14:27:16 +01:00
Patrick Pelissier
c3e29a16df
Fix warnings
2024-11-09 14:26:57 +01:00
Patrick Pelissier
1bc33a10fc
Fix issues (WIP)
2024-11-09 11:12:12 +01:00
Patrick Pelissier
b7074d1c69
Fix some issues
2024-11-06 23:13:23 +01:00
Patrick Pelissier
26d541fe06
Move internal functions to internal namespace
2024-11-05 23:17:28 +01:00
Patrick Pelissier
2991c7cc5a
Add oplist
2024-11-02 23:35:21 +01:00
Patrick Pelissier
4e7cbae766
Add short name support
2024-11-02 17:35:25 +01:00
Patrick Pelissier
d5e0620e4c
Minor fix
2024-11-02 17:21:59 +01:00
Patrick Pelissier
32cfbd23bc
Update comments.
2024-11-02 16:59:40 +01:00
Patrick Pelissier
0e09681a6a
Move m_typeof to core module.
2024-10-30 23:42:45 +01:00
Patrick Pelissier
bc8098b337
Update comments.
2024-10-30 23:31:47 +01:00
Patrick Pelissier
c5692e7e9f
Update comment
2024-10-28 17:46:48 +01:00
Patrick Pelissier
f43db93791
Adding first WIP version of the new shared pointer header.
2024-10-27 22:01:00 +01:00
Patrick Pelissier
14c954c6ce
Adding new property:
...
multithread safety if the container handles itself the multi thread
2024-10-27 20:38:36 +01:00
Patrick Pelissier
60280087c7
Fix default of FULL_P
2024-10-27 20:37:57 +01:00
Patrick Pelissier
1e57d9c6d6
Fix default of FULL_P
2024-10-27 19:48:47 +01:00
Patrick Pelissier
eeaf74d24f
Add FULL_P operator
...
Add M_EMPLACE_LIST_TYPE_VAR_ALTER which doesn't put a comma before.
2024-10-26 16:56:54 +02:00
Patrick Pelissier
a318d36c35
Fix concurrent access.
2024-10-19 11:55:41 +02:00
Patrick Pelissier
edcf8ee37a
Final update of the byte string
2024-10-05 11:40:23 +02:00
Patrick Pelissier
8a1f30eeff
Finish implementation of Byte String
2024-10-05 10:23:47 +02:00
Patrick Pelissier
2995b119b7
Add precision
2024-10-05 10:21:19 +02:00
Patrick Pelissier
08bd5a888b
Fix formatting
2024-10-05 10:21:09 +02:00
Patrick Pelissier
2f1b17f805
Fix for clang
2024-09-26 22:36:45 +02:00
Patrick Pelissier
0379f5f1c6
Add header for handling Byte String as per #123
...
API designed for streaming bytes and easy integration with other libraries.
2024-09-26 22:33:03 +02:00
Patrick Pelissier
45b11fb49b
Fix #129 :
...
Support of incomplete type in m-shared.
2024-09-21 12:39:29 +02:00
Patrick Pelissier
82ea4341de
Fix documentation ( #128 )
2024-08-19 22:02:56 +02:00
Patrick Pelissier
341d145b4d
Fix internal terminoligy
2024-07-26 23:22:58 +02:00
Patrick Pelissier
847f52fa5e
Fix clang warning
2024-07-11 22:07:51 +02:00
Patrick Pelissier
02828a0109
Fix interface of Intrusive List
...
(Reported by Brian Sipos):
* incorrect clear operator usage
* useless prototype of _insert, inconsistent with the policy of other functions
* syntax error in _insert
2024-07-11 21:41:14 +02:00
Patrick Pelissier
0f7d5bf366
Update doc
2024-06-15 09:51:51 +02:00
Patrick Pelissier
1277c75ea3
Update doc
2024-06-15 09:47:10 +02:00
Patrick Pelissier
47a51ee5c4
Update doc
2024-06-15 09:45:13 +02:00
Patrick Pelissier
3f102c2270
Use of memcmp instead of strcmp for string_equal_p
2024-06-12 23:15:56 +02:00
Patrick Pelissier
4ba55dc3ca
Rename new USE directive to be uniform with string one.
2024-06-08 00:08:27 +02:00
Patrick Pelissier
2c0db40158
Simplify logic for set_at of both dict,
...
(after analyzing which condition is likely)
which should help code size & performance
a little bit.
2024-06-01 23:49:08 +02:00
Patrick Pelissier
8987288a10
Fix spelling
2024-06-01 11:05:35 +02:00
Patrick Pelissier
cf8c2afddd
Fix warning on previous modification
2024-06-01 11:03:39 +02:00
Patrick Pelissier
0a8e336037
Fix internal & subtil issue
...
when comparing two methods to check for their presence in an oplist, we may generate the name of an already existing macro.
For example, in the oplist (SIZE())
when we expanded we get the macro M_ADD_SIZE to check if ADD is present,
but M_ADD_SIZE is an already existing macro, which generates an error.
To avoid this issue, define a prefix for the definition of the operators (M_X)
2024-06-01 10:47:21 +02:00
Patrick Pelissier
e7e29d913e
Add new example of variant
2024-06-01 10:16:59 +02:00
Patrick Pelissier
f3ebc8c7eb
Update comments
2024-06-01 10:16:47 +02:00
Patrick Pelissier
2d4fc9dc97
Allow generation of EMPLACE_TYPE
...
for variant if all oplists defined a FIELD operator.
2024-06-01 10:16:39 +02:00
Patrick Pelissier
afedb06dee
Fix buffer overflow in 32 bits mode
2024-05-28 23:31:26 +02:00
Patrick Pelissier
3fd2146bbe
Fix issue in 32 bits mode
2024-05-28 23:31:16 +02:00
Patrick Pelissier
8e70b6175a
Fix clang warning
2024-05-28 23:14:44 +02:00
Patrick Pelissier
67e9c8ff06
New internal string format:
...
* maximum size of a string is 2^32-1 now by default on a 64 bits system (can be increased using M_USE_STRING_LARGE_INDEX if needed).
* This reduce consumption of a string_t from 24 bytes to 16 bytes.
* Change the stack representation of a string, so that it lets 15 allocated bytes for the user even in 64 bytes mode. For 32 bits system, it increases to 15 allocated byte for stack representation.
* synthetic performance benchmark shows a little bit of decrease of performance. But performance in real application shows a significant increase (probably due to the reduced size of the type).
*Augment test suite to be sure to test all corner cases of the new representaiton.
2024-05-28 23:05:54 +02:00
Patrick Pelissier
bf59c53921
Migrate to V0.7.4
2024-05-27 00:39:00 +02:00
Patrick Pelissier
5589105f5c
Update comments
2024-05-27 00:34:24 +02:00
Patrick Pelissier
66d2aa26d3
Fix clang warning
2024-05-15 21:19:43 +02:00
Patrick Pelissier
1ae904dff2
Add support of INITçWITH for variant
...
in C11 / provided all types of the variant are exclusive.
2024-05-15 20:46:20 +02:00
Patrick Pelissier
4549f4ab91
Improve comments
2024-05-14 21:29:47 +02:00
Patrick Pelissier
75d5627378
Simplify logic and should increase performance
2024-05-13 23:25:11 +02:00
Patrick Pelissier
8cbd27e629
Fix overflow
2024-05-12 22:59:58 +02:00
Patrick Pelissier
333cc2ccf8
Provide prefetch on non GCC target & compatible
2024-05-12 22:59:58 +02:00