148 Commits

Author SHA1 Message Date
Ion Gaztañaga
27c00ae498 Fixes #75 ("Bug: Rehashing an empty unordered_set with cache_begin set to true hits an assert") 2022-06-25 18:32:27 +02:00
Ion Gaztañaga
05bb58091e Add experimental fastmod_buckets option 2022-06-13 00:42:58 +02:00
Ion Gaztañaga
3c5c8cec3f Rewritten hash semi-intrusive containers to improve compilation times and runtime performance. Added experimental "linear_buckets" option. 2022-05-04 23:36:34 +02:00
Ion Gaztañaga
01b4f6264c Take all pointers by value to avoid aliasing issues in release mode 2021-12-29 14:02:03 +01:00
Ion Gaztañaga
56291fafe4 Make file names shorter due to MinGW problems 2021-12-29 14:01:18 +01:00
Ion Gaztañaga
22049ac0bd Add BOOST_OVERRIDE to silence -Wsuggest-override warnings. 2021-12-27 14:37:42 +01:00
Ion Gaztañaga
2eeee6cb4c Support GCC's -Wconversion -Wfloat-conversion -Warith-conversion -Wsign-conversion warnings. 2021-10-16 15:56:54 +02:00
Ion Gaztañaga
a4180b9e9f Remove GCC's -Wconversion warnings 2021-10-06 00:08:18 +02:00
Ion Gaztañaga
79d2a6df4b Put swap tests inside generic associative container tests so that they are executed for every tree type. 2021-06-20 02:01:20 +02:00
Ion Gaztañaga
edb8f9e6fd Merge branch 'bugfix/node-swap' of https://github.com/dmsteck/intrusive into dmsteck-bugfix/node-swap 2021-06-19 20:49:07 +02:00
Ion Gaztañaga
cbc81b9417 Fixes #63 ("nop splice removes element") 2021-06-19 19:39:40 +02:00
Daniel Steck
8551b3958d C++03 2021-05-13 23:39:26 +01:00
Daniel Steck
8a652bd355 C++03 and (C) 2021-05-13 23:28:33 +01:00
Daniel Steck
d4e76658a1 initial commit 2021-05-13 23:21:05 +01:00
Ion Gaztañaga
9c73691528 Update lightweight_test.hpp and hash.hpp references to the actual boost components. 2021-01-02 13:38:52 +01:00
Ion Gaztañaga
338bfb9072 Added a test for set that uses void* as a key. 2019-06-08 23:32:29 +02:00
Ion Gaztañaga
3618260489 fix GitHub Issue #35 ("key_of_value on treap_set seems to be broken in 1.69") 2019-02-12 00:23:56 +01:00
Ion Gaztañaga
cac7bd1b1e With movelib's update, test no longer needed. 2019-01-03 01:21:03 +01:00
Andrey Semashev
f266cbb8b2 Added a test for set that uses void* as a key. 2018-12-14 18:50:38 +03:00
Ion Gaztañaga
2ab3421b17 In functions that modify data structures, take pointers by value instead of by reference, to avoid aliasing issues. 2018-09-27 10:14:16 +02:00
Ion Gaztañaga
99326f50fb Fix clang 6.0 warnings in tests: unused members, suspicious return types 2018-09-18 14:26:31 +02:00
Ion Gaztañaga
4f9e77acfe Use intrusive's type traits instead of container's traits 2017-11-07 00:46:44 +01:00
Ion Gaztañaga
db14782f0f Boost Trac #12698
GitHub Pull #23
GitHub Pull #24
2017-06-08 14:02:21 +02:00
Ion Gaztañaga
018a39c433 Use directly boost::movelib::pointer_element/to_raw_pointer 2017-04-07 16:05:44 +02:00
Ion Gaztañaga
db15ff6c08 Allow non std::size_t size_type. 2017-04-06 23:32:39 +02:00
Ion Gaztañaga
ba5ecb7196 Fix test bug: Same bucket array was being used for two containers. 2016-11-12 21:17:00 +01:00
Ion Gaztañaga
b0baf7dd14 Fix error in test with bucket_ptr. 2016-11-12 19:04:17 +01:00
Ion Gaztañaga
116272067b Fix error in nonhook_node due to missing copy-constructor and assignment implementstion 2016-11-12 19:03:59 +01:00
Ion Gaztañaga
6d38384e36 Document root()/croot() functions in tree-based containers, and add a test case for them. 2016-09-03 13:28:44 +02:00
Ion Gaztañaga
9ac060a6ae Fixed Trac #12432 ("Forced KeyOfValue creation when using custom compare on insert_check") 2016-09-03 00:01:55 +02:00
Ion Gaztañaga
d5b81dc59a Add missing includes. 2016-09-03 00:01:02 +02:00
Ion Gaztañaga
36fb49abc9 Fix sg_[multi]set not working when merging from a set with a different comparison.
Update testcase to test merging from a different comparison.
2016-09-01 18:55:56 +02:00
Ion Gaztañaga
21a2107d9a * Implemented merge operations in ordered associative containers 2016-08-31 23:42:14 +02:00
Ion Gaztañaga
77c09ada0d Remove warnings about non-virtul destrutors in test 2016-08-31 23:41:02 +02:00
Ion Gaztañaga
ef8e57ae1b Removed undefined behaviour when iterating backwards when using pointers. 2016-08-05 00:46:01 +02:00
Ion Gaztañaga
68c46450de Fixed Trac ticket #11476 ("has_member_function_callable_with.hpp is massively broken with BOOST_NO_CXX11_DECLTYPE") 2016-08-04 23:22:29 +02:00
Ion Gaztañaga
4546ffba1d As suggested in Trac #12229 ("intrusive::unordered_set<T>::rehash() broken) a new "full rehash" function is added to force rehashing of existing elements when keys are changed but the new keys respect some hash and equality invariants. 2016-07-31 14:11:49 +02:00
Ion Gaztañaga
4014562502 Fixes Trac #11994: Support intrusive container key extractors that return the key by value
Change tests to return key by value.
2016-07-04 22:11:52 +02:00
Ion Gaztañaga
4cf38987a8 Fixes Boost Trac #11992: "Add an overload of insert_check taking a key_type" 2016-03-01 21:22:28 +01:00
Ion Gaztañaga
381a062e23 Refactored tests to minimize instantiations and improve compilation times/memory for tests 2015-12-24 10:27:51 +01:00
Ion Gaztañaga
3c818c66a4 Fixed typo in CompleteSmartPtr::operator unspecified_bool_type() const 2015-10-18 22:00:29 +02:00
Ion Gaztañaga
4ef2cae00d Add conversion to bool to support the new default casting operations and avoid undefined behavior in castings. 2015-10-18 21:31:12 +02:00
Ion Gaztañaga
4ac2fa0d38 Reduced instantiations that were not adding considerable coverage. 2015-10-17 00:15:25 +02:00
Ion Gaztañaga
0f2714b8e8 BOOST_INTRUSIVE_MSVC_ABI_PTR_TO_MEMBER was incorrectly undefined so no virtual inheritance was tested in compilers that theoretically support it. 2015-09-07 18:24:16 +02:00
Ion Gaztañaga
50903857cb Add missing files 2015-06-05 19:40:07 +02:00
Ion Gaztañaga
51de75799b - Implemented map and multimap-like interfaces.
-  Refactored hashtable containers to reduce template instantiations.
2015-06-04 11:16:21 +02:00
Ion Gaztañaga
bb94b03dca Add iterator tests to all containers. 2015-04-14 15:00:00 +02:00
Ion Gaztañaga
08bb0488a8 Use iterator_arrow_result to support testing raw pointers 2015-04-14 14:59:29 +02:00
Ion Gaztañaga
8522ff18e8 Add iterator test 2015-04-12 12:57:29 +02:00
Ion Gaztañaga
dd385e0ec5 -> Use new Boost.Move meta utilities to avoid compilation errors in old compilers.
-> Implement equality operators as friend functions to make code clearer.
2015-04-12 12:56:04 +02:00