* added concurrent node containers
* removed spurious typename
* added missing includes
* avoided unused param warning
* worked around Clang bug
* s/{}/() to work around GCC4.8 problems with aggregate initialization
* used /bigobj for cfoa/visit_tests.cpp
* suppressed localized maybe-uninitialized warnings
* fixed comments
* added /bigobj to cfoa/insert_tests.cpp
* instrumented double exact comparison to spot a spurious error
* fixed pedantic error
* refactored byte_span machinery
* compromised on sub-epsilon equality for doubles that should be identical
* documented boost::concurrent_node_(map|set)
* added concurrent_node_set
* added missing AlternativeType
* tested empty node insertion
* tested node_handle allocator management
* added nonassignable_allocator and node_handle_allocator_swap_tests
* fixed warning disabling
* silenced spurious GCC warning
* broadened scope of previous pragma
* broadened even more
* worked around spurious constexpr-related msvc-14.0 bug
https://godbolt.org/z/v78545Ebf
* added workaround back
* replaced previous workaround with built-in one
* added workaround back on top of built-in solution (which doesn't work 100% of the time)
* Made some boost::concurrent_flat_set operations exclusive-locked
* unnamed unused args
* fixed PR number
* replaced homemade mechanism with boost::compat::latch
* added cfoa_interprocess_concurrency_tests
* avoided C++14 digit separators
* stopped using exit codes to pass numerical info to parent
* Reorder includes to make msvc-14.0 happy
* made cumulative_stats interprocess concurrency safe
* disabled interprocess_concurrency_tests for Clang 3.5-8
(Boost.Process compile error)
* made test names shorter for the benefit of MINGW32
---------
Co-authored-by: Peter Dimov <pdimov@gmail.com>
* added tests for explicit allocators
* made explicit_alloc_ctor_tests work
by adhering to the principle that classes templated with Allocator should accept exactly Allocator objects
* removed TMP machinery older compilers choke about
* initialized variables
* updated release notes
* fixed PR number
* Add structs to count special member functions
* Add failing emplace tests, that will pass after making the optimization
* Optimize emplace() to not allocate when we already have a value_type or init_type
* Fix newly failing cfoa tests
* Create function `detail::throw_out_of_range()` to make `at()` more inlineable
* Replace `boost::throw_exception()` with `detail::throw_out_of_range()`
* 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>