Patrick Pelissier
539f388e66
Update doc (fix spelling).
2018-08-25 09:00:19 +02:00
Patrick Pelissier
b03c312b4e
Update doc
2018-08-25 08:32:51 +02:00
Patrick Pelissier
71db5f9a79
Support for break to break the execution of M_LET
2018-08-25 00:11:20 +02:00
Patrick Pelissier
e33e77595f
Simplify the logic for parsing bool.
2018-08-24 21:03:25 +02:00
Patrick Pelissier
d4016b310d
Add support for conditionnal support for stdio.h
...
(needed for special environnement where no stdio is supported).
2018-08-24 20:59:54 +02:00
Patrick Pelissier
a41177a110
Add support for bool in default type support.
...
Needs to rewritefully how to dispatch the default type for IN_STR method
Add also proper non-support for const char* & char * for IN_STR & PARSE_STR
(We cannot do it reliabelty, so the function says it always fail).
2018-08-24 20:45:26 +02:00
Patrick Pelissier
f8600296f0
Add missing const for dict's equal_p
2018-08-24 19:18:29 +02:00
Patrick Pelissier
e1147fb33d
Add support for IN_STR for default C types.
2018-08-23 19:58:02 +02:00
Patrick Pelissier
ec0d020669
Fix documentation about right prototype of in_str.
2018-08-23 19:38:19 +02:00
Patrick Pelissier
e8eab86546
Fix issue in warning about discarding const attribute.
2018-08-22 00:21:23 +02:00
Patrick Pelissier
c9ebedb01f
Rename _get_ methods for tuple & variants into _get_at_ methods.
...
Add _cget_at_ methods too.
2018-08-21 23:58:03 +02:00
Patrick Pelissier
af5742ce2d
Change the value used to generate the enumerate of a variant:
...
the previous values didn't prevent to have a name collision
with other methods defined for the variant.
2018-08-21 22:53:07 +02:00
Patrick Pelissier
8f85c71654
Rename some internal macros to a better name.
2018-08-21 22:15:11 +02:00
Patrick Pelissier
70753c1082
Add method parse_str for the oplist of default C type.
2018-08-21 20:04:11 +02:00
Patrick Pelissier
2ab2b9efd6
Add primitive to parse standard C types (except const char*)
2018-08-21 19:53:55 +02:00
Patrick Pelissier
dbb34b75fd
Add method for the operator OUT_STR for the default type.
2018-08-21 19:26:18 +02:00
Patrick Pelissier
7447492c76
Fix issue with deque in case of successive _clean:
...
the CLEAR method was called more than once for an object.
2018-08-20 23:13:55 +02:00
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
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
Patrick Pelissier
b6a3387f8a
User are able to customize the number of elements of a mempool globaly.
2018-07-30 22:02:46 +02:00
Patrick Pelissier
04dd708941
Delayed the inclusion of the common headers, so that the backend may properly
...
set up additional parameters for the headers.
2018-07-29 19:40:37 +02:00
Patrick Pelissier
39ffe1c95a
Fix issue for 32 bits build due to previous modification of limb size to 64 bits.
2018-07-29 19:40:08 +02:00
Patrick Pelissier
7b5ae3c15b
Update API so that the worker_t parameter is given on creating the sync bloc.
...
(API breakage), more RAII like.
2018-07-28 19:09:07 +02:00
Patrick Pelissier
7678625071
Review:
...
* add comments
* change error code from assertion to proper memory failure
* add new assertions
2018-07-28 13:48:30 +02:00
Patrick Pelissier
dbe8817d95
Add bitset_clz
2018-07-27 06:19:54 +02:00
Patrick Pelissier
09e117cd57
Update comments.
...
Update _new_node: it shall never return NULL.
2018-07-24 00:34:35 +02:00
Patrick Pelissier
4b8779d8d3
Update formula for increasing the size.
2018-07-24 00:24:50 +02:00
Patrick Pelissier
79158dabbc
Rename _map into _for_each.
2018-07-22 21:32:46 +02:00
Patrick Pelissier
f962bc8da5
Avoid overflow in case of huge computations.
...
Add more comments.
2018-07-22 21:32:19 +02:00
Patrick Pelissier
28e8dde06d
Make target uninstall PHONY
2018-07-21 12:12:50 +02:00
Patrick Pelissier
6c3d41a124
Add target uninstall
2018-07-21 12:12:19 +02:00
Patrick Pelissier
9c2967f8df
Cleanup install target with proper use of COMMAND VARIABLES.
2018-07-19 22:55:56 +02:00
Patrick Pelissier
99311364e7
Regenerate the dependency graph.
2018-07-18 22:35:25 +02:00
Patrick Pelissier
16e86b8291
Don't regenerate depend.png everytime but only if the headers have been updated.
...
Optimize the generation of the PNG.
2018-07-18 22:34:52 +02:00
Patrick Pelissier
5741af8fd3
Add 'dist' target in the Makefile.
2018-07-18 22:31:53 +02:00
Patrick Pelissier
6bdd47a557
Don't remove depend with a make clean
...
otherwise you'll get a regeneration of the dependency file for each clean command
which is useless.
make distclean shall be used to remove the dependency file.
2018-07-18 22:28:19 +02:00
Patrick Pelissier
750ba93c14
Add note.
2018-07-18 21:43:27 +02:00
Patrick Pelissier
18be930507
Fix bug in case of error returned by vsnprintf:
...
the buffer may have been corrupted in case of error.
Clean it before returning.
2018-07-18 21:41:52 +02:00
Patrick Pelissier
be26176828
Add one more test case.
2018-07-18 21:41:14 +02:00