Commit Graph
1334 Commits
Author SHA1 Message Date
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
joaquintidesandChristian 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