Commit Graph

1341 Commits

Author SHA1 Message Date
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
2d8fd43cc4 editorial 2024-04-30 17:25:10 +02:00
joaquintides
9806e75cc9 added stats to boost::concurrent_flat_set 2024-04-29 20:32:27 +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
1ecb92deb5 added stats to boost::concurrent_flat_map 2024-04-29 12:06:50 +02:00
joaquintides
443113840d added stats to foa::concurrent_table 2024-04-29 12:06:28 +02:00
joaquintides
b07cee08c4 added stats to the rest of open-addressing containers 2024-04-29 11:23:15 +02:00
joaquintides
05b66e1034 added stats to boost::unordered_flat_map 2024-04-28 18:44:40 +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
Braden Ganetsky
16732c5c4c Add unordered container pmr aliases 2024-03-23 14:02:53 -05:00
joaquintides
ccf9a76ebe Fixed #237 2024-03-15 17:30:10 +01: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
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