Patrick Pelissier
824011657a
Improve once again mapping of the buffer structure to avoid
...
false sharing.
2018-08-15 10:33:20 +02:00
Patrick Pelissier
8e2031bf5a
Add comments.
2018-08-15 10:30:17 +02:00
Patrick Pelissier
8bb5f5475e
Avoid putting the push mutex & the pop mutex inside the same cache line.
...
Avoid false sharing for multi-threading scenario and should increase performance.
2018-08-15 10:21:23 +02:00
Patrick Pelissier
eb4f249a54
Add missing CLEAN method in export OPLIST.
2018-08-14 23:09:12 +02:00
Patrick Pelissier
3aa3b87709
Add missing CLEAN method in export OPLIST.
2018-08-14 23:08:33 +02:00
Patrick Pelissier
0046157862
Fix issue for SWAP method not exported correctly for tuple.
2018-08-14 08:00:16 +02:00
Patrick Pelissier
acbf1efad6
Fix issue: CLEAN method was not properly exported by tuple.
2018-08-14 07:58:37 +02:00
Patrick Pelissier
5d1eb45d5c
Export CLEAN method.
2018-08-14 07:49:31 +02:00
Patrick Pelissier
c52c41c885
Export CLEAN method for tuple if it is defined.
2018-08-13 20:14:37 +02:00
Patrick Pelissier
822f9aacf6
Add CLEAN method for tuple.
2018-08-13 20:05:32 +02:00
Patrick Pelissier
7d5608ca0e
Export CLEAN method for string.
2018-08-13 20:03:06 +02:00
Patrick Pelissier
937bbef818
Add method _erase & _update_further for priority queue.
2018-08-12 21:35:09 +02:00
Patrick Pelissier
c506443ed0
Add comment about ALGO_EXTRACT
2018-08-08 22:54:56 +02:00
Patrick Pelissier
5f42f26587
Fix warning about shadowed variables
2018-08-08 22:49:49 +02:00
Patrick Pelissier
f84e96d790
Reexport IT_INSERT for array.
...
Even it is slow, it may be useful.
2018-08-08 22:49:25 +02:00
Patrick Pelissier
ede57a20be
Add ALGO ALGO_INSERT that allows inserting a container into another one.
2018-08-08 22:44:17 +02:00
Patrick Pelissier
df8306c721
Export IT_INSERT method
2018-08-08 22:43:44 +02:00
Patrick Pelissier
1bb144e256
VARIANT: Oplist is now optional for their definition.
2018-08-07 23:18:37 +02:00
Patrick Pelissier
7d83603646
TUPLE: Oplist is now optional for tuple definition.
2018-08-06 23:20:02 +02:00
Patrick Pelissier
7e4d51bab0
Add support for global oplist for deque
2018-08-05 22:33:13 +02:00
Patrick Pelissier
4ef1b079cb
Can omit optlist in B+TREE definition
2018-08-05 11:08:18 +02:00
Patrick Pelissier
e95d13adb1
Add support for multiple M_LET on the same line
...
without warning about shadow variables.
2018-08-04 08:34:35 +02:00
Patrick Pelissier
92d7009804
Fis issue if given type is a T * = TYPE:
...
token pasting created const T *, which is not the same as
const TYPE = T * const
2018-08-03 20:35:37 +02:00
Patrick Pelissier
354327e40b
Fix issue for string_strim if string was empty and not allocated.
2018-08-03 20:23:24 +02:00
Patrick Pelissier
34d56c54c8
Test strim with an empty string.
...
(Shall do nothing).
2018-08-03 20:22:32 +02:00
Patrick Pelissier
143a5fdf4f
Fix issue if given type is a T * = TYPE:
...
token pasting created const T *, which is not the same as
const TYPE = T * const
2018-08-03 20:20:57 +02:00
Patrick Pelissier
030510613c
Add more assertions.
2018-08-03 19:57:38 +02:00
Patrick Pelissier
984b8e7da0
Fix const cast issue for 'void *' pointer.
2018-08-03 18:55:01 +02:00
Patrick Pelissier
aba1ac1646
Fix issue in 64 bits with overwriting enabled for buffer.
2018-08-02 23:31:48 +02:00
Patrick Pelissier
6b93d7644a
Proper constant definition for unicode error.
2018-08-02 23:31:17 +02:00
Patrick Pelissier
68c737dcef
Clean up interface if (internal) genint:
...
it returns at most an 2048, so an unsigned int is more enought
(and internally it was already used!).
So transform the interface to take as input unsigned int.
Fix maximum size supported by the genint package.
Add proper constant used for error, and use it in the code.
2018-08-02 23:19:05 +02:00
Patrick Pelissier
b8f8ffe0a2
Perform same optimization than previous commit for
...
M_GLOBAL_OPLIST_OR_DEF
2018-08-02 22:48:28 +02:00
Patrick Pelissier
02e8681f76
M_GLOBAL_OPLIST:
...
More robust implementation that delays the evaluation of the concatenation
2018-08-02 20:02:15 +02:00
Patrick Pelissier
603fb9db62
Replace some size displayed with '%lu' as unsigned long
...
with proper '%zu' as size_t.
2018-08-02 19:34:10 +02:00
Patrick Pelissier
b01459d1ef
Add out_str for CSTR_OPLIST
2018-08-01 23:36:04 +02:00
Patrick Pelissier
667f1f5951
Update documentation.
2018-08-01 23:28:01 +02:00
Patrick Pelissier
660c5a2db4
Add M_GET_STRING to transform a standard numerical C type into a string_t
...
(with a method compatible with the operator GET_STR).
2018-08-01 23:26:58 +02:00
Patrick Pelissier
8a4d013354
Fix issues (normal contract where used for I/O whereas they could be used
...
with OA Dict)
2018-08-01 22:55:54 +02:00
Patrick Pelissier
faedca81d1
Add M_CORE_VERSION_* macros.
2018-08-01 22:28:50 +02:00
Patrick Pelissier
166d408f5e
Add support for out_str for the default C types if C11 is enabled.
2018-08-01 20:12:24 +02:00
Patrick Pelissier
017f25d9d5
M_PRINT_ARG & M_FPRINT_ARG don't put a final semicolon at the end
...
of their expansion anymore (cleaner and no longer needed with the
new available tools).
2018-08-01 19:59:57 +02:00
Patrick Pelissier
6a70eba83f
Document some missing methods for priority queues.
2018-08-01 19:35:54 +02:00
Patrick Pelissier
ef13ab6938
Add rapidstring
2018-08-01 00:31:58 +02:00
Patrick Pelissier
75cb61fd36
Fix issue of deque's _init_move.
2018-07-31 23:11:43 +02:00
Patrick Pelissier
9c31f8aa92
Complete test to show failure of _init_move for deque.
2018-07-31 23:11:26 +02:00
Patrick Pelissier
27a08da430
Add node contract check.
2018-07-31 08:19:45 +02:00
Patrick Pelissier
fdada9661f
Update comment.
2018-07-30 22:45:24 +02:00
Patrick Pelissier
f1a52439bb
Add more tests.
2018-07-30 22:42:33 +02:00
Patrick Pelissier
d13849c173
Update formatting.
2018-07-30 22:42:09 +02:00
Patrick Pelissier
d8a0e73899
Update comment.
2018-07-30 22:24:03 +02:00