Patrick Pelissier
492e4c33db
Adding more assertions to check the good call of the test object.
2018-08-20 23:11:13 +02:00
Patrick Pelissier
cbb08bdcfc
Amend previous commit.
2018-08-19 20:28:46 +02:00
Patrick Pelissier
0de829741a
Add synonimous for pointers.
2018-08-19 20:27:45 +02:00
Patrick Pelissier
0fa7aed1c4
Add missing synonim
2018-08-19 20:07:58 +02:00
Patrick Pelissier
3b0e940284
Add missing _ptr & _srcptr alias.
2018-08-19 17:58:23 +02:00
Patrick Pelissier
48a970ceb9
Avoid using '__' within words.
...
It seems to be a reserved naming of C++.
2018-08-19 11:31:09 +02:00
Patrick Pelissier
c7b533f21e
Cleanup terminology
2018-08-19 10:54:48 +02:00
Patrick Pelissier
839d4da191
Update doc
2018-08-19 10:36:30 +02:00
Patrick Pelissier
b76ddfe93c
Update doc
2018-08-19 10:07:04 +02:00
Patrick Pelissier
4ba0156ad8
Backport solution from tuple to variant.
2018-08-19 08:45:10 +02:00
Patrick Pelissier
6ef9936e24
Fix issue of recusrive definition of TUPLE using GLOBAL oplist:
...
There was a recursive call of M_REDUCE2 that fails to expand properly on its second invocation
Rewrite fully how global oplists are implemented:
it performs a first pass to expand the oplists, and the a separate pass to define the functions.
This enables to separate the pass, and use M_REDUCE2 in both.
2018-08-19 08:28:17 +02:00
Patrick Pelissier
e835dbc7c6
Update Makefile for also testing clang++
2018-08-19 08:27:51 +02:00
Patrick Pelissier
5c8429a7bb
Reformating
2018-08-16 07:29:22 +02:00
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