Commit Graph
100 Commits
Author SHA1 Message Date
Patrick Pelissier 4e8e716c5a Fix potential issue in MT. 2017-03-24 18:02:34 +01:00
Patrick Pelissier 73a8577258 Make M*lib's bench fairest (and so slowest). 2017-03-24 01:54:39 +01:00
Patrick Pelissier 956df3a65d Add a note about list. 2017-03-24 01:54:26 +01:00
Patrick Pelissier 1455bb76b6 Fix building issue on some C++ compiler. 2017-03-24 01:54:05 +01:00
Patrick Pelissier 9d94051d89 Add both bench for C++'s dictionary. 2017-03-24 00:24:16 +01:00
Patrick Pelissier 46f29e5b72 Add (little) bench 2017-03-24 00:18:25 +01:00
Patrick Pelissier c3aa3c5089 Fix warning for release mode about unused function. 2017-03-23 23:43:50 +01:00
Patrick Pelissier 32d22fef51 EXPECTED_SIZE can be overloaded by oplist now. 2017-03-23 21:51:31 +01:00
Patrick Pelissier fdd7f9d19d Rewrite the computation of the size of the array to be more flexible. 2017-03-23 21:39:44 +01:00
Patrick Pelissier a8c8d2d34f Add new reference. 2017-03-23 21:39:36 +01:00
Patrick Pelissier 00b9ee045c Add it_set, it_from & it_to_p operators. 2017-03-21 23:16:51 +01:00
Patrick Pelissier 2d804db1c1 Update doc 2017-03-21 21:22:33 +01:00
Patrick Pelissier 4deae89680 Add 'install' target 2017-03-21 21:22:03 +01:00
Patrick Pelissier 0f57484ebf Update doc 2017-03-21 21:00:06 +01:00
Patrick Pelissier 3fee39619e Update doc by adding set. 2017-03-21 20:58:33 +01:00
Patrick Pelissier b75a68860e Add set as a part of a dictionary. 2017-03-21 20:54:49 +01:00
Patrick Pelissier 3e2ad17eb8 Optmize string_set 2017-03-20 23:54:13 +01:00
Patrick Pelissier 866e76d316 Add some comments. 2017-03-19 23:31:43 +01:00
Patrick Pelissier 00f912a504 Replace M_MEMORY_ALLOC / M_MEMORY_FREE by M_GET_NEW / M_GET_DEL
It allows a dual layer of overloading for the memory.
2017-03-19 22:15:01 +01:00
Patrick Pelissier eb56e31c18 Add REALLOC operator 2017-03-19 19:54:09 +01:00
Patrick Pelissier 3bd0744333 Add ALGO_INIT_VA macro. 2017-03-19 19:46:09 +01:00
Patrick Pelissier dd1a7c13f2 Add MACRO M_VA 2017-03-18 20:38:59 +01:00
Patrick Pelissier 74113de0b2 Fix issue with clang 4 for incorrect usage of atomic + gcc 6 for incorrect implicit cast. 2017-03-18 14:33:56 +01:00
Patrick Pelissier 2ade0805e7 Fix issue with clang 4. 2017-03-18 14:22:19 +01:00
Patrick Pelissier fb9f3db57d Add another external reference. 2017-03-18 14:21:56 +01:00
Patrick Pelissier 599dc30b3c Fix bug in the example. 2017-03-17 22:13:37 +01:00
Patrick Pelissier 56453a518d Fix issue with windows
(Use make check CC="i686-w64-mingw32-gcc -std=c99" VALGRIND=wine)
2017-03-17 22:08:02 +01:00
Patrick Pelissier 0d21ac12bf Port mutex to use static inline instead of MACRO:
* cleaner
* fix bug in existing code detected by the changes.

*** Break API (you need to go to lower case instead of upper case) ***
2017-03-17 22:02:17 +01:00
Patrick Pelissier 5ef15e2a67 Improve example to be more representative. 2017-03-17 20:57:56 +01:00
Patrick Pelissier 0f919f964d Update documentation. 2017-03-17 00:30:43 +01:00
Patrick Pelissier f004dadcee Add _init_new for i-shared 2017-03-17 00:29:07 +01:00
Patrick Pelissier 5ff056656a Clean up shared_ptr interface:
* remove release
* add clean
2017-03-16 22:26:15 +01:00
Patrick Pelissier 8b7dfc8246 Add new generation for shared_ptr 2017-03-16 00:14:36 +01:00
Patrick Pelissier 50163118f4 Rewrite unique slot detection to be standard compliant. 2017-03-16 00:14:14 +01:00
Patrick Pelissier ba37d183a7 Only one alloc per init_new. 2017-03-15 22:06:50 +01:00
Patrick Pelissier 4fa296c379 Port to M_TYPE_FROM_FIELD 2017-03-15 22:06:19 +01:00
Patrick Pelissier 5022c1edb7 Add M_TYPE_FROM_FIELD 2017-03-15 22:06:10 +01:00
Patrick Pelissier de7d0bd682 Add _init_new operation for shared_ptr 2017-03-15 00:17:41 +01:00
Patrick Pelissier 27d41f9330 Add NEW operator 2017-03-15 00:17:15 +01:00
Patrick Pelissier 6277d5623c Fix issue in dict_end prototype 2017-03-14 23:51:37 +01:00
Patrick Pelissier 500ff2b692 Improve comments. 2017-03-14 22:56:57 +01:00
Patrick Pelissier b8e9d5a1fd Add SWAP for variant 2017-03-14 22:00:36 +01:00
Patrick Pelissier f653676511 Add SWAP for tuple 2017-03-14 21:44:21 +01:00
Patrick Pelissier ebe1b06813 FIXME: Does method SWAP is needed for SNAPHOT ? 2017-03-14 21:44:02 +01:00
Patrick Pelissier 7118da65ae Add SWAP for m-shared 2017-03-14 21:43:52 +01:00
Patrick Pelissier 29d3439900 Add SWAP for string 2017-03-14 21:31:47 +01:00
Patrick Pelissier c5bc77b801 Rename type into name for oplist description of dict (saner) 2017-03-14 21:27:12 +01:00
Patrick Pelissier 75c07d9ac7 Add _swap for dict 2017-03-14 21:25:34 +01:00
Patrick Pelissier dc87d7e137 Add M_SWAP macro. 2017-03-14 21:20:52 +01:00
Patrick Pelissier 3265c9fb4d Add _swap for RBTREE 2017-03-14 20:40:04 +01:00
Patrick Pelissier 8b327c4eaa Renable test due to M_EACH handling the case of having only _cref operator. 2017-03-14 20:28:38 +01:00
Patrick Pelissier 047a3ac9c1 Add bitset_swap & export it. 2017-03-14 20:27:45 +01:00
Patrick Pelissier 7b6dd872c6 Export swap operators for array & list 2017-03-14 20:23:55 +01:00
Patrick Pelissier 6cdad58bd6 Add SWAP as operator. 2017-03-14 20:21:14 +01:00
Patrick Pelissier ecf5547c1e Rename _swap into _swap_at
Add _swap function.
2017-03-14 20:16:38 +01:00
Patrick Pelissier e0648e3002 Update comments & rewrite code 2017-03-13 23:20:12 +01:00
Patrick Pelissier eda7c58594 Update comments & assert 2017-03-13 23:19:53 +01:00
Patrick Pelissier 9c7fcc6659 Reformat comment 2017-03-13 23:19:20 +01:00
Patrick Pelissier 35df7feae0 Update comments.
Fix bug for UPDATE operator
2017-03-13 12:32:56 +01:00
Patrick Pelissier a195bf000f Clean the use of the UPDATE operator.
It may not be defined.
2017-03-13 12:32:25 +01:00
Patrick Pelissier 8dd7ba113a Add FIXME 2017-03-13 12:32:11 +01:00
Patrick Pelissier 42cdba59ca Document M_LOCK 2017-03-13 11:41:47 +01:00
Patrick Pelissier 40f2c9dd41 Fix bug :
* due to the huge number of new operator within oplist, the previous limit of 26
 operators wasn't enought. Increase it to 52.
2017-03-13 11:21:13 +01:00
Patrick Pelissier 13098cb78d Fix bug for HASH function:
* it was not properly exported,
 * its prototype wasn't fine.
2017-03-13 11:20:34 +01:00
Patrick Pelissier 34a1b4533b Write find_last algo. 2017-03-13 10:33:39 +01:00
Patrick Pelissier 9d7bfe2d40 Document IT_END 2017-03-13 10:33:31 +01:00
Patrick Pelissier eaf3af8c07 Implement IT_END operator.
Add missing IT_LAST operator
2017-03-13 10:32:57 +01:00
Patrick Pelissier c09ce9c949 Add IT_END operator 2017-03-13 10:32:27 +01:00
Patrick Pelissier 30e3018317 Add new test for mutex. 2017-03-12 18:58:25 +01:00
Patrick Pelissier 41aa717782 Proper use of exit to terminate a test. 2017-03-12 18:56:03 +01:00
Patrick Pelissier 2c759641a2 Add macro M_LOCK allowing intuitive encapsulation for lock. 2017-03-12 18:48:56 +01:00
Patrick Pelissier d4bc5593fa Add forgotten header 2017-03-12 18:22:24 +01:00
Patrick Pelissier 2285d46d7c Improve examples. 2017-03-11 17:30:48 +01:00
Patrick Pelissier 3a9eeaa934 Fix bug of dual initialization when using M_LET macro. 2017-03-11 17:30:20 +01:00
Patrick Pelissier 67e625090b Add new test 2017-03-11 17:28:09 +01:00
Patrick Pelissier 686cb7de8a Update example 2017-03-11 16:50:36 +01:00
Patrick Pelissier 52724eaa10 Add classic type to M_CLASSIC_OPLIST 2017-03-11 16:50:24 +01:00
Patrick Pelissier 3cb2fa118f Add missing library for test 2017-03-11 12:30:47 +01:00
Patrick Pelissier 5a105f49bd Add new example which show a complete integration of multiple containers. 2017-03-11 12:29:49 +01:00
Patrick Pelissier 32996f2224 Add 'mover' operation. 2017-03-11 12:29:25 +01:00
Patrick Pelissier 72ba5cbd3d Fix bug:
give the proper oplist to the array definition;
 otherwise some oplists are defined in default.
2017-03-11 12:07:01 +01:00
Patrick Pelissier 3e316da6cf Fix bug in variant oplist 2017-03-11 11:57:41 +01:00
Patrick Pelissier fb1b2705d0 Fix bug in exported oplist 2017-03-11 11:52:54 +01:00
Patrick Pelissier 5f67da4914 Add M_CLASSIC_OPLIST macro 2017-03-11 11:44:34 +01:00
Patrick Pelissier a0f188d213 Remove copyright notices from examples. 2017-03-11 11:34:18 +01:00
Patrick Pelissier db2457792d Add note 2017-03-11 11:31:59 +01:00
Patrick Pelissier 3c26dbbcb9 Fix spelling 2017-03-11 11:31:37 +01:00
Patrick Pelissier 5342302b49 Add new library with perform generic collection for C. 2017-03-10 01:57:13 +01:00
Patrick Pelissier ca7a821da9 Improve performance of comparison of RB-TREE. 2017-03-10 01:38:35 +01:00
Patrick Pelissier 046e79c267 Fix comment 2017-03-10 01:31:20 +01:00
Patrick Pelissier e21b45d9ac Fix #3 (Empty containers & IN_STR operator). 2017-03-10 01:29:49 +01:00
Patrick Pelissier 6464acff57 Handle a little bit better the empty container case. 2017-03-10 00:08:28 +01:00
Patrick Pelissier 0483ae7028 Add test for empty array (currently it fails). 2017-03-09 22:35:58 +01:00
Patrick Pelissier 320977e1fa Fix bug in case of empty array and the type doesn't flush the stream. 2017-03-09 22:35:29 +01:00
Patrick Pelissier b3239e8391 Simplify code 2017-03-09 22:32:22 +01:00
Patrick Pelissier e164b3fb44 Add test for OUT_STR / IN_STR & GET_STR for BRTREE
Fix bugs
2017-03-09 22:24:34 +01:00
Patrick Pelissier 018e09a4b3 Add IN_STR / OUT_STR & GET_STR for RBTREE 2017-03-09 21:58:16 +01:00
Patrick Pelissier 9db1775db0 Work on coverage 2017-03-09 21:58:08 +01:00
Patrick Pelissier 988b7e03ff Add bitset_hash operator 2017-03-08 21:31:28 +01:00
Patrick Pelissier 5a9adae6b9 Minor change 2017-03-08 21:31:19 +01:00