Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier 8c8a1e2822 Fix bug reported by florommel on dict's reserve 2025-07-18 20:11:13 +02:00
Patrick Pelissier ad646f5e04 Update links 2025-07-01 22:17:49 +02:00
Patrick Pelissier 9ecc031fd7 Fix doc 2025-06-10 22:18:24 +02:00
Patrick Pelissier ea3c2c5019 Update doc 2025-06-10 22:15:34 +02:00
Patrick Pelissier a9dc2eef12 Update doc 2025-05-31 00:11:49 +02:00
Patrick Pelissier 39a0a4f672 Fix format 2025-05-29 15:06:36 +02:00
Patrick Pelissier 4ffa4a15ac Rename example 2025-05-29 15:01:21 +02:00
Patrick Pelissier 2d5c9e71ae Add new example 2025-05-29 14:58:25 +02:00
Patrick Pelissier e802e22b7b Port to new API 2025-05-29 14:58:09 +02:00
Patrick Pelissier 3fbe8ec0b6 Update _transform, _reduce and _map_reduce to be more flexible
Rename _map_reduce to _transform_reduce
2025-05-29 10:41:20 +02:00
Patrick Pelissier 34085aa637 WIP to allow recursive variant 2025-05-29 10:40:19 +02:00
Patrick Pelissier 77033e2020 Move to V0.8.1 2025-05-29 10:39:42 +02:00
Patrick Pelissier 5c57ad1f51 Add example on tree 2025-05-24 17:40:29 +02:00
Patrick Pelissier 27621db95d Add method _left, right, _up and _down for tree to get directly an iterator to the requested element 2025-05-24 17:38:57 +02:00
Patrick Pelissier eab3f701a8 Fix displayed size in case of overflow computation 2025-05-24 10:18:15 +02:00
Patrick Pelissier cbc5f17cf0 Update Makefile and dependencies 2025-05-11 11:22:49 +02:00
PpHd 02a39fce3f Merge pull request #134 from P-p-H-d/feature/new-memory-model
New memory model
2025-05-08 22:14:17 +02:00
Patrick Pelissier 7c4f94a674 Remove obsolete m-mempool.h header 2025-05-07 22:09:56 +02:00
Patrick Pelissier 8c70a1f96c Remove obsolete m-concurrent.h header 2025-05-07 22:01:38 +02:00
Patrick Pelissier 25dcdeed69 Remove obsolete m-i-shared.h header 2025-05-07 21:57:53 +02:00
Patrick Pelissier 7e8cb07a6c Port to shared-ptr interface 2025-05-07 21:50:26 +02:00
Patrick Pelissier 2296f203fd Remove obsolete m-shared.h header 2025-05-07 21:34:18 +02:00
Patrick Pelissier 790ae33334 Remove obsolete m-c-mempool.h header 2025-05-07 21:28:13 +02:00
Patrick Pelissier d795476157 Update version 2025-05-07 21:02:55 +02:00
Patrick Pelissier 6a2bdc49fb Update API incompatibility & documentation 2025-05-07 21:02:24 +02:00
Patrick Pelissier 725f42852e Update markdown 2025-05-07 21:02:24 +02:00
Patrick Pelissier bfcc4134d6 Fix markdown 2025-05-07 21:02:24 +02:00
Patrick Pelissier de6ccc293e Update doc
Update M_USE_GLOBAL_CONTEXT definition to be simpler.
2025-05-07 21:02:24 +02:00
Patrick Pelissier d9953daf59 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 1a62f5a4ed Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 3721129da1 Update prototype of memory functions
to always get the memory context parameter
(even if it is not needed) to provide a cleaner
and simpler user interface
(instead of requesting the user to use directly m_context).
2025-05-07 21:02:24 +02:00
Patrick Pelissier f585167fa8 Simplify code (remove redundant intermediary macro) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 6d5d34fb72 Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 196db1cf62 Improve test suite 2025-05-07 21:02:24 +02:00
Patrick Pelissier 174c62015b Workaround wrong analyze by GCC analyzer 2025-05-07 21:02:24 +02:00
Patrick Pelissier fb3140e645 Fix warning of unused variable. 2025-05-07 21:02:24 +02:00
Patrick Pelissier 431e3a1228 Update doc (WIP) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 3ddf9438da Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 6e8aa58bd6 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier df37a5d8f1 Fix 2025-05-07 21:02:24 +02:00
Patrick Pelissier 2ad8d42401 Update summary 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8f47fb35ae Use of context for nearly all M*LIB 2025-05-07 21:02:24 +02:00
Patrick Pelissier a1a5ae749d Fix oplist of bitset 2025-05-07 21:02:24 +02:00
Patrick Pelissier 147bc0a363 Fix ALGO and oplist doesn't providing IT_REF 2025-05-07 21:02:24 +02:00
Patrick Pelissier 33aa102b7c Port DualPush list to new format 2025-05-07 21:02:24 +02:00
Patrick Pelissier bd9485a3fe Port algo to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 0de3c622e3 Port algo to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 93a1be616d Rename parameter pool to context 2025-05-07 21:02:24 +02:00
Patrick Pelissier 692c0487af Update oplist for new memory model 2025-05-07 21:02:24 +02:00
Patrick Pelissier 22ccae74c3 Minor optimization of stable_sort 2025-05-07 21:02:24 +02:00
Patrick Pelissier 586d0ae13a Update documentation 2025-05-07 21:02:24 +02:00
Patrick Pelissier c7bad98a7e Port ARRAY oplist to support local memcontext 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8e3a06b852 Simplify OPLIST definition as INIT_MOVE is mandatory for arrays 2025-05-07 21:02:24 +02:00
Patrick Pelissier d548117538 Make M*LIB stricter for INIT_MOVE operator:
* either the default INIT_MOVE operator works ('=')
* either an INIT_MOVE method is defined
* or it is disabled.
As a consequence, fix usage of testobj_t and mpz_t in the repository

The emulation layer of INIT_MOVE using INIT_SET+CLEAR is removed:
it wasn't working correctly with the local memory context
(INIT_MOVE doesn't need any local memory context to work,
 whereas INIT_SET/CLEAR does)
Remove macro M_DO_INIT_MOVE as it is now useless and uses M_CALL_INIT_MOVE.

The INIT_MOVE default method no longer sets the old 'src' to '0':
it was useless (it doesn't catch any error) and complicates compiler parsing.

Fix POD & A1 & CSTR & classic oplists definition (missing INIT_MOVE operators).
2025-05-07 21:02:24 +02:00
Patrick Pelissier 3a39ce5a4a Reformat 2025-05-07 21:02:24 +02:00
Patrick Pelissier fa41f3affd M_INIT_VAI supports API 2025-05-07 21:02:24 +02:00
Patrick Pelissier 0d0747dea9 Update oplists 2025-05-07 21:02:24 +02:00
Patrick Pelissier ab75397e21 TCC now supports m-generic 2025-05-07 21:02:24 +02:00
Patrick Pelissier cc97aa887f Fix reference 2025-05-07 21:02:24 +02:00
Patrick Pelissier b275859a37 Fix issue if BString is empty 2025-05-07 21:02:24 +02:00
Patrick Pelissier 256ff916a2 Port serial to new memory format 2025-05-07 21:02:24 +02:00
Patrick Pelissier 77195fb1d0 Remove m-mutex header 2025-05-07 21:02:24 +02:00
Patrick Pelissier c2cfb2f0a0 Cleanup & support of M_USE_GLOBAL_POOL 2025-05-07 21:02:24 +02:00
Patrick Pelissier 03cceafd73 Update 2025-05-07 21:02:24 +02:00
Patrick Pelissier 505e2c4a62 Fix spelling 2025-05-07 21:02:24 +02:00
Patrick Pelissier daadf693f7 Update doc 2025-05-07 21:02:24 +02:00
Patrick Pelissier 98b3bbd7a1 Fix for MACOS 2025-05-07 21:02:24 +02:00
Patrick Pelissier decec8f7ae Fix for tcc 2025-05-07 21:02:24 +02:00
Patrick Pelissier ce3f674ba8 Add new header m-queue (Doc to do) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 01f5228a36 Port to new memory model:
Communication thread buffer needs to use the global pool,
and not a local pool, since the allocation is done accross
several threads.
Therefore the non thread fixed queue & stack interfaces are moved into
a dedicated header (m-queue)
and remove support for non thread stack & queue into m-buffer
Remove also deprecated policy too.
2025-05-07 21:02:24 +02:00
Patrick Pelissier a7294abe0c Update documentation and error message 2025-05-07 21:02:24 +02:00
Patrick Pelissier 77e5666802 Update string oplist definition with pool 2025-05-07 21:02:24 +02:00
Patrick Pelissier 689527c2dc Port m-shared-ptr to new memory model
(use global pool)
2025-05-07 21:02:24 +02:00
Patrick Pelissier 5d1ebdf5bb Update obsolete header files:
* remove obsolete m-mutex header file
* mark m-concurrent, m-shared and m-i-shared as obsolete (They won't support new memory model)
2025-05-07 21:02:24 +02:00
Patrick Pelissier 10d918bbc9 Port to new memory model (add global context 0) 2025-05-07 21:02:24 +02:00
Patrick Pelissier 8069fae3d5 Remove use of invalid representation, which is refused by clang & C++ 2025-05-07 21:02:24 +02:00
Patrick Pelissier 94dd0a5571 Add example of using pool 2025-05-07 21:02:24 +02:00
Patrick Pelissier 32a3d95104 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier d08aeb32fe Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 26fc2bcffe Port tree to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 7617048073 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 57e7510ae7 Format 2025-05-07 21:02:23 +02:00
Patrick Pelissier 324ba5d256 Port to new memory model: M_MEMORY_FULL cannot return anymore 2025-05-07 21:02:23 +02:00
Patrick Pelissier 8939b4d046 New memory model is for 0.8.0 version 2025-05-07 21:02:23 +02:00
Patrick Pelissier 1cf7c4fa4d Port to new memory model: M_MEMORY_FULL cannot return anymore 2025-05-07 21:02:23 +02:00
Patrick Pelissier 839e7c2957 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 06e3046268 Port to new memory interface 2025-05-07 21:02:23 +02:00
Patrick Pelissier e959c001aa Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier bcc9f2c894 Port B+TREE to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 6e828eabaf Port list to new memory pool
Remove support for mempool. A new support for mempool should be provided later through the new memory context parameter (TODO / better API)
2025-05-07 21:02:23 +02:00
Patrick Pelissier 7677b13d8a Update contract comment. 2025-05-07 21:02:23 +02:00
Patrick Pelissier e16c6987e4 Port to new memory interface (remove mempool support, but it was undocumented) 2025-05-07 21:02:23 +02:00
Patrick Pelissier aa4cbfebdb Port to new memory interface 2025-05-07 21:02:23 +02:00
Patrick Pelissier 66f376ea80 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier 6de8eab5c3 Add comments, rename macro for maintenance 2025-05-07 21:02:23 +02:00
Patrick Pelissier 9e63289a38 Port to new memory model 2025-05-07 21:02:23 +02:00
Patrick Pelissier bf617ab6ab Port to new memory interface (WIP) 2025-05-07 21:02:23 +02:00
Patrick Pelissier 3f8c30e592 Port ARRAY & STRING to new memory model with memory context support 2025-05-07 21:02:23 +02:00
Patrick Pelissier 37b2f4d2ac Update test suite to properly allocation & deallocation 2025-05-07 21:02:23 +02:00
Patrick Pelissier 50e8d1f469 Fix old size parameter for memory allocation 2025-05-07 21:02:23 +02:00