Braden Ganetsky
7ddd562532
Implement natvis for fancy pointers ( #262 )
...
* Add file for manual natvis testing
* Equip natvis file to allow fancy pointers
* Update docs
* [skip ci] add links to natvis docs
2024-07-15 19:42:28 +02:00
joaquintides and Peter Dimov
e3818afd45
test interprocess concurrency ( #258 )
...
* 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 >
2024-06-22 09:13:30 +02:00
joaquintides
5827bf2574
gotten rid of redundant base1, base2 and base3
2024-06-03 18:53:24 +02:00
Braden Ganetsky
0a66c687fd
Write natvis for foa and cfoa containers
2024-06-01 09:26:37 -05:00
joaquintides
4c0aea983e
made reset_stats noexcept
2024-05-06 13:26:30 +02:00
joaquintides
22d8cca03b
added stats to bulk visitation
2024-05-05 17:56:03 +02:00
joaquintides
c1317cb5be
replaced get_cumulative_stats() with direct access to cstats
2024-05-03 18:11:13 +02:00
joaquintides
223f64752d
implemented proper stats handling on concurrent<->unordered move construction
2024-05-03 18:04:21 +02:00
joaquintides
8452b30608
implemented proper stats handling on move assignment
2024-05-02 20:41:27 +02:00
joaquintides
ee77a65fae
added missing typename
2024-05-01 20:32:12 +02:00
joaquintides
e588e04a1b
swapped stats on move construction/assignment
2024-05-01 18:11:01 +02:00
joaquintides
d01ae76074
grouped cumulative_stats summarization in one operation
2024-05-01 16:34:53 +02:00
joaquintides
5feb7459ee
added stat counts
2024-04-30 19:18:15 +02:00
joaquintides
83abd9cc4e
avoided -Wextra-semi-stmt warning
2024-04-30 17:49:52 +02:00
joaquintides
648f6fd23e
protected cumulative_stats against count wraparound
2024-04-30 17:32:53 +02:00
joaquintides
76c460a703
grouped foa::table_core cumulative stats in one member
2024-04-29 20:30:16 +02:00
joaquintides
18797a3f32
added noexcept guarantees to cumulative stats calculation
2024-04-29 19:28:35 +02:00
joaquintides
443113840d
added stats to foa::concurrent_table
2024-04-29 12:06:28 +02:00
joaquintides
e712c37e9f
added stats to foa::table
2024-04-28 18:44:23 +02:00
Braden Ganetsky
e63853d87d
Fix fca allocator swapping, and test that pmr allocator swap compiles
2024-03-24 12:22:45 -05:00
joaquintides
15cfef6967
Fixed support for allocators with explicit copy constructors ( #234 )
...
* 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
2024-02-17 18:58:48 +01:00
Braden Ganetsky
1d25c1c053
Update copyright notices
2024-02-11 11:22:28 -06:00
Braden Ganetsky
aff242dbaf
Optimize emplace(k,v) for fca containers
2024-02-11 11:22:28 -06:00
Braden Ganetsky
4e6d4ade6c
Optimize emplace(k,v) for foa and cfoa containers
2024-02-11 11:22:27 -06:00
Braden Ganetsky
4fbe450a65
Generalize alloc_cted_insert_type into allocator_constructed and remove the factory function alloc_make_insert_type()
2024-02-11 11:22:27 -06:00
Peter Dimov
c4dbda0f78
Add missing include
2024-02-08 20:52:34 +02:00
Braden Ganetsky
67c5cdb3a6
Optimize emplace() for exactly a value_type or init_type argument ( #227 )
...
* 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
2023-12-31 18:56:14 +01:00
Braden Ganetsky
0d2751c5e1
Extract at()'s throw_exception calls into noinline function ( #223 )
...
* Create function `detail::throw_out_of_range()` to make `at()` more inlineable
* Replace `boost::throw_exception()` with `detail::throw_out_of_range()`
2023-12-19 17:08:08 +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
ea4fc5e66d
fine-tuned element prefetching in unprotected_bulk_visit
2023-10-18 18:20:22 +02: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
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
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