joaquintides
aaf553581f
disabled size control
2023-12-13 13:35:10 +01:00
joaquintides
116d2807f4
temporarily disabled garbage collection
2023-12-13 12:44:24 +01:00
joaquintides
567cfe4988
reverted
2023-12-12 16:47:59 +01:00
joaquintides
c346a513f0
temporarily removed size control
2023-12-12 16:34:27 +01:00
joaquintides
64614f1670
optimized non-visiting insertion
2023-12-12 13:35:48 +01:00
joaquintides
8ac326b39f
synchronized construct_and_emplace
2023-12-12 10:32:00 +01:00
joaquintides
5c21fa6d81
implemented group_synchronized_shared mode for insertion
2023-12-11 20:56:30 +01:00
joaquintides
b8d9605107
fine-tuned memory order for metadata manipulation
2023-12-11 19:43:05 +01:00
joaquintides
b087f9fb53
strengthened memory order for metadata manipulation
2023-12-11 18:54:10 +01:00
joaquintides
901d652fd7
implemented garbage collection
2023-12-11 17:37:35 +01:00
joaquintides
0f2a2a0b0f
added latch-free erasure
2023-12-05 12:20:40 +01:00
joaquintides
86856f7e6b
made epoch mechanism oversubscription free
2023-12-04 14:05:36 +01:00
joaquintides
8bd1bcf5de
gotten rid of wait_for_epochs in insertion
2023-12-04 11:26:35 +01:00
joaquintides
d6a8a4462c
reverted to epoch array of size 128 and to non-relaxed wait_for_epochs
2023-12-03 19:51:26 +01:00
joaquintides
7e495f4598
relaxed operation overlooked in prior commit
2023-12-03 13:08:52 +01:00
joaquintides
68b38901e7
relaxed wait_for_epochs
2023-12-03 13:03:39 +01:00
joaquintides
821a2bfb45
made epoch array smaller
2023-12-03 09:45:09 +01:00
joaquintides
5af735827f
optimized epoch waiting
2023-12-02 20:52:20 +01:00
joaquintides
49ff2a63ea
made insertion and constant visitation (but *not* erasure) optionally latch-free
2023-12-02 19:50:36 +01:00
joaquintides and Christian Mazakas
7fd94b9df7
Fix/bucket iterator indirection operator ( #220 rewrite) ( #221 )
...
* Add tests for member of pointer operator for bucket iterators
* Fix erroneous conversion from node* to value_type* in bucket iterators
Originally caughy by vslashg from PR https://github.com/boostorg/unordered/pull/220
* Update change log
* Update GHA config to use containers in C++20 builds for clang-14 as it's incompatible with libstdc++-13
* fixed Python installation problem
* tried variation of former fix
* tried another variation of former fix
* tried yet another variation
* editorial
---------
Co-authored-by: Christian Mazakas <christian.mazakas@gmail.com >
2023-11-17 08:51:40 +01:00
joaquintides
42df4f2749
removed lifting of swap and ==/!= operations
2023-10-22 20:16:05 +02:00
joaquintides
dbe93c765c
asserted allocator equality on unordered_node_(map|set)::merge and updated docs
2023-10-21 12:35:59 +02:00
joaquintides
ea4fc5e66d
fine-tuned element prefetching in unprotected_bulk_visit
2023-10-18 18:20:22 +02:00
Peter Dimov
0e19223e5b
Replace uses of boost::enable_if_t in deduction guides with std::enable_if_t
2023-10-12 13:13:56 +03:00
joaquintides
8ee48fe909
Feature/bulk visit ( #217 )
2023-10-11 12:50:28 +02:00
joaquintides
ef0b3a0cd8
fixed #201
2023-10-04 17:38:33 +02:00
Christian Mazakas
554ce65a69
Remove unnecessary forced inlining of bool conversion
2023-09-29 10:52:34 -07:00
Christian Mazakas
4fcc6a9cab
Manually implement explicit boolean conversion, removing header dependency on Core's polyfill
2023-09-29 08:03:49 -07:00
Christian Mazakas
0d61746fa3
Remove unnecessary requires_cxx11 header
2023-09-29 08:03:11 -07:00
Christian Mazakas
6728ffcf6d
Cleanup polyfilled type traits helpers to derive from integral constant
2023-09-29 07:42:58 -07:00
Christian Mazakas
aedebff4e1
Remove extraneous header include of Core's addressof impl
2023-09-28 21:27:46 -07:00
Christian Mazakas
47fa9cd17e
Pull triviality type traits into internal type_traits header
2023-09-28 21:27:46 -07:00
Christian Mazakas
f5bd5bc3d0
Cleanup default-constructiblity check for gcc-4
2023-09-28 12:52:13 -07:00
Christian Mazakas
9bc7876583
Update foa to be gcc-4.8 compliant
2023-09-28 08:31:14 -07:00
Christian Mazakas
bc764d34cf
Remove extraneous workarounds for gcc-4 in foa core header
2023-09-27 13:03:15 -07:00
Christian Mazakas
a9da328e1d
Add missing copyright to static_assert() header
2023-09-27 13:03:15 -07:00
Christian Mazakas
087f2052fc
Update include paths to use ContainerHash instead of Functional for hash
2023-09-27 13:03:15 -07:00
Christian Mazakas
51a75c0fd0
Replace usage of make_void with void_t
2023-09-27 13:03:15 -07:00
Christian Mazakas
ce5033c4a0
Update out-of-line definitions in prime_fmod to be conditional on pre-c++17 support
2023-09-27 13:03:15 -07:00
Christian Mazakas
bcbb13e0cf
Add missing licensing to opt_storage header
2023-09-27 13:03:15 -07:00
Christian Mazakas
7aac692162
Replace all usages of boost::addressof with their std counterpart
2023-09-27 13:03:15 -07:00
Christian Mazakas
f1729bb8a1
Remove unused choice<n> helper structs
2023-09-27 12:21:15 -07:00
Christian Mazakas
b4884b7201
Relocate piecewise_construct to impl file, remove unnecessary fwd header
2023-09-27 12:21:15 -07:00
Christian Mazakas
6c97eabbb3
Refactor prime_fmod_size policy to use static members in lieu of namespace-scope ones
2023-09-27 11:44:45 -07:00
Christian Mazakas
9b1ec6cbce
Reinstate boost::unordered::piecewise_construct
...
Maintain backwards-compatibility for users instead of forcing them to change to `std::`
2023-09-27 11:44:45 -07:00
Christian Mazakas
3f3b2128ec
Update extract() SFINAE to be friendly to msvc-14.0
...
msvc-14.0 seems to require the parameter pack be explicitly mentioned though no other compilers seem to have this issue
2023-09-27 11:44:45 -07:00
Christian Mazakas
d3e6be7356
Replace boost::addressof with std::addressof
...
For some reason, gcc-5 and 6 don't like Boost's impl here but the std one seems to work
2023-09-27 11:44:45 -07:00
Christian Mazakas
777f2084a3
Remove dependency on TypeTraits
2023-09-27 11:44:45 -07:00
Christian Mazakas
9d8beff688
Remove dependency on Boost.Tuple
2023-09-27 11:44:45 -07:00
Christian Mazakas
91f63697a7
Replace <boost/limits> with STL <limits>
2023-09-27 11:44:44 -07:00