Patrick Pelissier
517da1b999
Rename generated internal functions
...
to avoid "poluting" userspace naming.
2021-02-13 11:45:05 +01:00
Patrick Pelissier
25497bd96f
Factorize code so that _DEF macros use _DEF_AS ones
2021-02-07 23:04:59 +01:00
Patrick Pelissier
25fe26deaa
Happy new year
2021-01-13 20:18:01 +01:00
Patrick Pelissier
1b4c608087
Rename operator TEST_EMPTY into EMPTY_P to be compliant with iterator operator
2021-01-07 22:13:10 +01:00
Patrick Pelissier
983a63fbbc
Add more comments to explain how it works.
2020-11-14 22:45:39 +01:00
Patrick Pelissier
a29682ca29
Create M_ASSERT macro to encapsulate assert within M*LIB
...
The goal is to enable the user to override this macro if needed so that it can enable or disable the M*LIB witout impacting its own assertions.
2020-10-29 22:46:17 +01:00
Patrick Pelissier
0818d0ac7c
Fix macro formatting.
2020-10-23 21:46:34 +02:00
Patrick Pelissier
54d4b80368
Reformat macro to 80 characters
2020-10-21 23:23:40 +02:00
Patrick Pelissier
9bb1957afa
Rename internal types.
2020-10-16 20:51:24 +02:00
Patrick Pelissier
c180981768
Add macros
...
CONCURRENT_DEF_AS
CONCURRENT_RP_DEF_AS
2020-10-03 14:07:14 +02:00
Patrick Pelissier
b396b42808
Update comments
2020-10-03 14:07:14 +02:00
Patrick Pelissier
b3a1a75f6f
Rename internal types:
...
a suffix ending with _ct means confidential type
ans is reserved for M*LIB internal usage.
OPLIST doesn't use the external types
but rather the internal types.
It enables to be independent of the real names
of the external types.
Such external names are planned to be fully customizable
(i.e. the user may define a name that suits its coding style)
2020-10-03 14:07:14 +02:00
Patrick Pelissier
2063bf879d
Formatting: replace TAB by SPACE.
2020-07-14 00:26:26 +02:00
Patrick Pelissier
8a36b5ff15
Workaround to avoid CLANG unused function warnings
2020-07-09 22:14:00 +02:00
Patrick Pelissier
78d0bfb286
Port new error oplist format to all containers.
2020-05-30 18:00:43 +02:00
Patrick Pelissier
d1ae26f0fd
* Add control than the type and the oplist are compatible
2020-05-17 10:27:30 +02:00
Patrick Pelissier
49a2e600c4
Add control of sub-oplist when creating a new oplist of a container
...
Add test case of this new control
Fix some corner bugs in some containers evolving their own oplists.
2020-05-15 21:19:39 +02:00
Patrick Pelissier
439177ec71
Add protection against wrong oplist in more headers
2020-05-09 21:38:32 +02:00
Patrick Pelissier
4f7b0b9455
Happy new year 2020
2020-01-04 15:41:06 +01:00
Patrick Pelissier
6c3f7683a5
Uniformize API
2019-06-09 11:26:45 +02:00
Patrick Pelissier
928b81f454
Fix return value for in_serial/out_serial
2019-05-18 11:17:14 +02:00
Patrick Pelissier
7ed85fb97a
Add in_serial / out_serial for concurrent containers
2019-05-18 11:17:14 +02:00
Patrick Pelissier
01ad221972
Rewrite RP so that writers cannot starve and avoid warnings with thread sanitizer.
2019-04-11 20:07:27 +02:00
Patrick Pelissier
95fcd054a3
Fix error in lock orders.
2019-04-04 21:22:37 +02:00
Patrick Pelissier
8b3a4a802c
Happy new year!
2019-01-02 18:12:07 +01:00
Patrick Pelissier
0a8f727908
Remove CONCURRENT_RP2_DEF (Insuficient performance)
2018-11-27 07:47:06 +01:00
Patrick Pelissier
ae171115bc
Export method _size in concurrent if operator GET_SIZE defined.
2018-11-25 18:03:25 +01:00
Patrick Pelissier
f07656757f
Add another candidate for concurrent with parallel reader.
2018-11-25 11:44:28 +01:00
Patrick Pelissier
a1c22fb679
Add first alpha version of Concurrent Container with support concurrent reading.
2018-11-24 19:31:31 +01:00
Patrick Pelissier
3640041c47
Port internal functions of concurrent to use the local lock interface.
2018-11-24 12:20:37 +01:00
Patrick Pelissier
10cf2f2270
Prepare concurent for using different lock strategy
2018-11-24 11:37:09 +01:00
Patrick Pelissier
357c37c69d
Add missing const qualifier
2018-10-31 11:33:41 +01:00
Patrick Pelissier
69d699b80e
Add contract
2018-10-31 11:26:00 +01:00
Patrick Pelissier
40832dd727
Add assertions
2018-10-31 08:24:06 +01:00
Patrick Pelissier
f8d82ae74a
Fix oplist definition.
2018-10-30 20:00:50 +01:00
Patrick Pelissier
16234bde82
Add const
2018-10-30 17:23:59 +01:00
Patrick Pelissier
31a5d7ee3b
Add oplist
2018-10-30 10:56:02 +01:00
Patrick Pelissier
155d01b8c3
Fix blocking=false for _pop & _get
2018-10-29 18:10:07 +01:00
Patrick Pelissier
3a0dd2ffe7
Fix errors
2018-10-29 17:15:20 +01:00
Patrick Pelissier
3dde8d45c1
Add _empty_p & _pop_move_blocking
2018-10-29 13:26:16 +01:00
Patrick Pelissier
4691f95b73
Add blocking methods for concurrent container.
2018-10-29 11:18:20 +01:00
Patrick Pelissier
15f6484dd2
Fix comment
2018-10-29 11:02:55 +01:00
Patrick Pelissier
2ead3905e5
Rename m-protect to m-concurrent
2018-10-28 22:17:33 +01:00