Ion Gaztañaga
d0587af31d
Add missing "import testing"
2025-12-11 15:23:46 +01:00
Ion Gaztañaga
e272812539
Use detail/workaround.hpp before checking the availability of "BOOST_INTRUSIVE_CONCEPTS_BASED_OVERLOADING" and remove duplicated "int main()" section
2025-12-08 21:54:53 +01:00
Ion Gaztañaga
410f7a631b
Fixes #99 ("some intrusive containers are not trivially destructible when possible")
...
Enables conditional triviality with C++20 concepts, introducing defaulted destructors and constructors for hooks and
containers using `normal_link`.
2025-12-08 21:31:48 +01:00
Rene Rivera
924eccdf39
Add new ref to container_hash lib.
2024-04-29 12:48:37 -05:00
Rene Rivera
3e8cebd84f
Add missing lib reference.
2024-04-25 22:38:47 -05:00
Rene Rivera
cb151fb499
Sync from upstream.
2024-04-20 15:33:03 -05:00
Ion Gaztañaga
09ab48ace6
Add negative subscript test to iterator
2024-04-15 08:58:32 +02:00
Rene Rivera
92ee13c123
Sync from upstream.
2024-03-23 15:41:41 -05:00
Ion Gaztañaga
6f57c7c3d1
Fixes #81 ("unordered_set rehash breaks insert_commit_data")
2024-03-23 18:05:54 +01:00
Rene Rivera
d7603079fc
Make the library modular usable.
2024-03-11 08:38:17 -05:00
Ion Gaztañaga
e84e9b7b2e
Use BOOST_INTRUSIVE_STATIC_ASSERT instead of BOOST_STATIC_ASSERT to reduce library level and weight.
2024-01-02 01:42:05 +01:00
Ion Gaztañaga
6464d0e083
Implement new hashing protocol now that Boost.ContainerHash requires C++11:
...
- Hashes trivially scalar types
- For the non scalar types calls unqualified hash_value activating ADL (boost::hash protocol)
- If ADL does not find a viable candidate, a boost::hash direct call is performed via a forward declaration, so that additional candidates are looked up if the user has included boost/container_hash/hash.hpp.
This maintains a high level of compatibility with boost::hash but making Boost.Intrusive independent from Boost.ContainerHash, so that different C++ standard levels can be used and users using different hash functions don't need direct and indirect dependencies brought by Boost.ContainerHash.
2024-01-01 00:02:45 +01:00
Ion Gaztañaga
8b4297b1db
Use custom hash functions as Boost.ContainerHash requires C++11.
2023-12-31 23:45:45 +01:00
Ion Gaztañaga
88c2790410
Add missing <iosfwd> to implement operator<<
2023-12-31 20:25:08 +01:00
Ion Gaztañaga
cfc6b4e510
Add workaround for MSVC 14-0 bad code generation in slist_test
2023-05-04 23:12:23 +02:00
Ion Gaztañaga
f2afafa6bb
Reduce instantiation explosion in tests reducing combinations, so that regression testing is manageable in time
2023-05-04 18:19:24 +02:00
Ion Gaztañaga
64b7cb317d
DIsable "-Warray-bounds" for GCC-12 due to false positives
2023-05-02 00:09:51 +02:00
Ion Gaztañaga
cbea247ee1
Fixes #80 ("<functional> might not be included soon enough when building treap_multiset_test.cpp")
2023-04-20 20:15:35 +02:00
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