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
a15334305d
Use more traits from Boost.Move.
2023-12-31 23:41:58 +01:00
Ion Gaztañaga
1f9d9319ac
Activate asserts also in release mode
2023-12-31 20:45:21 +01:00
Ion Gaztañaga
c977acd66a
Use value_equal instead of std::equal_to like other containers (e.g. slist)
2023-12-31 20:27:02 +01:00
Ion Gaztañaga
88c2790410
Add missing <iosfwd> to implement operator<<
2023-12-31 20:25:08 +01:00
Ion Gaztañaga
d547bdbc87
Merge pull request #82 from tomerv/patch-2
...
Fix minor documentation error
2023-12-07 13:58:29 +01:00
tomerv
ea070dc30f
Fix minor documentation error
2023-10-28 23:35:43 +03:00
Ion Gaztañaga
060a6398c7
Reduce clang-win tests to 64 bit as the regression timeouts because clang compilation is much heavier than msvc.
2023-05-05 22:58:14 +02: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
cc05ac6f93
Avoid GCC 4.4, too old to support, even in C+03 [skip ci]
2023-05-03 22:54:35 +02:00
Ion Gaztañaga
fc46064c29
Fix UB when downcasting null pointers, use pointer_trait' specialized function
2023-05-02 22:42:29 +02:00
Ion Gaztañaga
f11301c5b5
Increase timeout to 180 mins [NO CI]
2023-05-02 22:30:55 +02:00
Ion Gaztañaga
ff11320469
Reduce the usage of BOOST_INTRUSIVE_FORCEINLINE due to unwanted side effects in some compilers
2023-05-02 01:30:31 +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
52dce5e81c
Update ci.yml with the same file as Boost.Move [skip ci]
2023-05-02 00:06:10 +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
aec1f8a15e
Disable forceinline with Clang, see https://github.com/llvm/llvm-project/issues/62202
2023-04-18 22:23:12 +02:00
Ion Gaztañaga
1014e97fb2
Simplify intrusive dependencies dropping Boost.Core
boost-1.84.0
boost-1.84.0.beta1
boost-1.83.0.beta1
boost-1.83.0
boost-1.82.0.beta1
boost-1.82.0
2023-02-01 21:35:40 +01:00
Ion Gaztañaga
e4ec3fb937
Add missing boost/assert.hpp or boost/static_assert.hpp
2023-01-18 22:28:56 +01:00
Ion Gaztañaga
4a1f695906
Fixes #77 ("Suppress unused variable warnings on node_count (clang 15)")
2022-12-11 00:29:53 +01:00
Ion Gaztañaga
83756202f7
Remove travis file
boost-1.81.0.beta1
boost-1.81.0
2022-11-07 00:20:58 +01:00
Ion Gaztañaga
825aedad55
Improve "modfunc" performance
...
Fixes #79 ("boost/intrusive/hashtable.hpp: build failure (undeclared indentifier)")
2022-11-07 00:16:44 +01:00
Ion Gaztañaga
59d4a8c98a
Reduce -j3 to -j2 to avoid spurious failures.
2022-10-13 12:33:27 +02:00
Ion Gaztañaga
14322ac9fa
Remove gcc on windows, already tested on linux.
2022-10-13 12:25:19 +02:00
Ion Gaztañaga
7c9bb4d540
Add constant value to the main struct in BOOST_INTRUSIVE_OPTION_CONSTANT
2022-10-01 18:23:37 +02:00
Ion Gaztañaga
e41303a26b
Disable forceinline with MinGw, as it has bugs
2022-08-24 14:30:23 +02:00
Ion Gaztañaga
c0377800b2
Fix -Wshadow warnings in GCC renaming "node" arguments with "n".
2022-08-23 07:58:45 +02:00
Ion Gaztañaga
bf072b5f24
Add make_iterator_advance make_iterator_uadvance
2022-08-21 02:21:04 +02:00
Ion Gaztañaga
7a0707794f
Remove deprecated windows-2016 and add windows-2022
2022-08-21 02:20:41 +02:00
Ion Gaztañaga
f439778dc7
Update changelog for 1.80
boost-1.80.0.beta1
boost-1.80.0
2022-06-25 18:36:22 +02:00
Ion Gaztañaga
f5729ba531
Merge branch 'develop' of github.com:boostorg/intrusive into develop
2022-06-25 18:34:05 +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
198927b84c
Merge pull request #76 from striezel-stash/gh-actions-update
...
update actions/checkout in GitHub Actions to v3
2022-06-25 12:59:01 +02:00
Dirk Stolle
7da1f15220
update actions/checkout in GitHub Actions to v3
2022-06-14 22:58:22 +02:00
Ion Gaztañaga
05bb58091e
Add experimental fastmod_buckets option
2022-06-13 00:42:58 +02:00
Ion Gaztañaga
466ff07d15
Add operator!
2022-06-13 00:41:49 +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
d376c8b453
Added BOOST_INTRUSIVE_FORCEINLINE to constructor
2022-05-04 23:34:47 +02:00
Ion Gaztañaga
8be3b54d35
Add some BOOST_INTRUSIVE_FORCEINLINE to trivial functions, and take advantage of new algorithms like end_node and detach_and_dispose
2022-05-04 23:34:19 +02:00
Ion Gaztañaga
ba298c775e
Add BOOST_INTRUSIVE_FORCEINLINE to some trivial functions
2022-05-04 23:16:16 +02:00
Ion Gaztañaga
482c0cfe83
Add pointer specialization for value_less
2022-05-04 22:55:51 +02:00
Ion Gaztañaga
1d6576e6d5
Add simple constructor for stateless slist_iterator
2022-05-04 22:55:24 +02:00
Ion Gaztañaga
dbde900bf9
Add end_node, is_empty, is_sentinel, set_sentinel, transfer_after and detach_and_dispose functions
2022-05-04 22:54:38 +02:00
Ion Gaztañaga
d70f8667e1
Add unlink_after_and_dispose and detach_and_dispose functions
2022-05-04 22:52:15 +02:00
Ion Gaztañaga
f8d3650131
Add is_empty function
2022-05-04 22:51:06 +02:00
Ion Gaztañaga
71a9ef5341
Fix typos
2022-05-03 23:01:03 +02:00
Ion Gaztañaga
06d74a1709
Inject new Boost.Move iterator functions.
boost-1.79.0
boost-1.79.0.beta1
2022-01-12 00:58:41 +01:00
Ion Gaztañaga
afe294063b
Remove some forceinline attributes that might be counter-productive and add noexcept to others.
2022-01-04 00:34:33 +01:00