* Move unordered_printers.hpp into 'detail', where it should have been from the beginning
This is not a public header. It is only meant to be consumed as a transitive include.
* Store self.table instead of self.val
* Fix pretty-printers not working when constexpr variables are optimized away
Also do a few other things.
* `groups` and `elements` are now stored inside `self`
* `mask`, `n0`, and `n` aren't declared ahead of their first assignment
* Remove trailing whitespace
* Update the generated pretty-printer header
* deprecated boost::unordered::hash_is_avalanching in favor of boost::hash_is_avalanching
* replaced deprecation message with simpler BOOST_HEADER_DEPRECATED
* GHA: revise numerous CI jobs. Fix sanitizer on new kernel
* Use std::ref instead of copying the function parameter in std::initializer_list overloads of insert_{or|and}_[c]visit
* Reimplement detail::is_invocable
* Update docs for std::ref(f) changes
---------
Co-authored-by: sdarwin <samuel.d.darwin@gmail.com>
* 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>