Commit Graph

990 Commits

Author SHA1 Message Date
Christian Mazakas
473ed9b88b Update check used to determine when to move during rehashing to accomodate node-based containers 2023-01-30 13:55:50 -08:00
Christian Mazakas
aaf0e40247 Update unordered_node_map to be a proper copy of unordered_flat_map 2023-01-30 13:55:50 -08:00
Christian Mazakas
b57b51b036 Remove moved_value_from() in favor of overloading move() in container type traits 2023-01-30 13:55:50 -08:00
Christian Mazakas
91b3863c77 Add node-based foa containers to erase_if tests 2023-01-30 13:55:50 -08:00
Christian Mazakas
7ce7ef5050 Add moved_value_from() to container policies, enabling proper move semantics for node-based containers in the case of unequal allocators 2023-01-30 13:55:50 -08:00
Christian Mazakas
1e61423eac Prove relevance of strong typedef for node-based foa containers 2023-01-30 13:55:50 -08:00
Christian Mazakas
904e806b1e Update node containers to no longer memcpy their pointer arrays 2023-01-30 13:55:50 -08:00
Christian Mazakas
7d1e64a3c6 Update node set to conditionally use strong vs weak typedef 2023-01-30 13:55:50 -08:00
Christian Mazakas
ff956ad080 Update flat_set to eschew strong typedef 2023-01-30 13:55:50 -08:00
Christian Mazakas
d9bf1e435c Revert perfect forwarding when hashing for transparent ops 2023-01-30 13:55:50 -08:00
Christian Mazakas
eb6d0d1f66 remove print statements 2023-01-30 13:55:50 -08:00
Christian Mazakas
bce898165c Add transparent insert, show we don't need a strong typedef 2023-01-30 13:55:50 -08:00
Christian Mazakas
e3c66a5e82 Remove print statements 2023-01-30 13:55:50 -08:00
Christian Mazakas
b167ab7d84 Update code to use strong typedefs 2023-01-30 13:55:50 -08:00
Christian Mazakas
130b483123 Add node-based foa containers to assign_tests 2023-01-30 13:55:50 -08:00
Christian Mazakas
ae10a1e0df Add unordered_node_set 2023-01-30 13:55:50 -08:00
Christian Mazakas
b1e497cd1d Get test suite passing 2023-01-30 13:55:50 -08:00
Christian Mazakas
cbe19722a3 interim commit 2023-01-30 13:55:50 -08:00
Christian Mazakas
dcff2ac5b5 Pull type policies into detail namespace 2023-01-30 13:55:50 -08:00
Christian Mazakas
cb4e636d78 Implement new type policy requirements for flat containers 2023-01-30 13:55:50 -08:00
Christian Mazakas
1d8d065113 Update interim prototype to eschew allocator wrapper and instead use extended map_types 2023-01-30 13:55:50 -08:00
Christian Mazakas
2cdcbd24f5 Catch remaining places where value_type was used instead of storage_type 2023-01-30 13:55:50 -08:00
Christian Mazakas
3744bafa55 Update implementation to use storage_type when allocating arrays and constructing/destroying elements 2023-01-30 13:55:50 -08:00
Christian Mazakas
f034e43b74 Get simple prototype of insert_tests working for unordered_node_map 2023-01-30 13:55:50 -08:00
Peter Dimov
a74962bc3c Revert reversion of 32 bit mulx multiplier 2023-01-30 20:03:01 +02:00
Peter Dimov
cafa1f2278 Revert "Update mulx multipliers"
This reverts commit 9bc471310e.
2023-01-30 10:17:12 +02:00
joaquintides
40d5097d99 fixed sign-conversion warning in Neon group15::match 2023-01-28 10:27:40 +01:00
Peter Dimov
3b3ba7d6f7 Avoid false -Warray-bounds positive under mingw32 gcc-12 2023-01-27 20:35:14 +02:00
Peter Dimov
d750b39e1e Fix /RTCc failure in mulx32 2023-01-27 18:37:23 +02:00
Peter Dimov
0f8dd003a3 Switch default mixing policy from xmx to mulx 2023-01-27 08:15:37 +02:00
Peter Dimov
9bc471310e Update mulx multipliers 2023-01-27 08:00:40 +02:00
Peter Dimov
e56aac2e98 Merge branch 'develop' into feature/mulx 2023-01-27 07:58:45 +02:00
Christian Mazakas
a3c1e643dc Merge pull request #177 from cmazakas/feature/p2363
Feature/p2363
2022-12-20 10:55:20 -08:00
Christian Mazakas
7d77f1d478 Add transparent insert() overloads to unordered_[flat]_set 2022-12-19 12:46:46 -08:00
joaquintides
f0037d336d added narrow_cast 2022-12-14 10:39:32 -08:00
Christian Mazakas
6c60524fb7 Implement transparent bucket() 2022-12-13 14:28:19 -08:00
Christian Mazakas
0e980577b0 Add transparent at() 2022-12-13 14:28:19 -08:00
Christian Mazakas
dfbff823a9 Add transparent subscript 2022-12-13 14:28:19 -08:00
Christian Mazakas
0a879c1063 Implement transparent insert_or_assign() 2022-12-13 14:28:19 -08:00
Christian Mazakas
01d508b6af Improve naming in insert_or_assign() 2022-12-13 14:28:19 -08:00
Christian Mazakas
1ede59e662 Improve naming in are_transparent 2022-12-13 14:28:19 -08:00
Christian Mazakas
bf2b521789 Add transparent try_emplace() 2022-12-13 14:28:19 -08:00
Christian Mazakas
c8910e8007 Update FOA move assignment operator to uphold the strong guarantee for Hash, KeyEqual 2022-12-13 13:53:29 -08:00
Christian Mazakas
260b573d8d Update FOA implementation to exhibit strong guarantee for Hash, KeyEqual in copy assignment 2022-12-13 13:53:29 -08:00
Christian Mazakas
b1d43d3ca5 Update FOA containers to require nothrow swappability of Hash, KeyEqual members and ensure that throwing assertions uphold strong guarantee 2022-12-13 13:53:29 -08:00
joaquintides
91eddbabe8 restricted memcpy to allocators known to not have fancy construct() 2022-12-13 09:35:28 -08:00
joaquintides
5eda445db0 optimized try_emplace and extended it for future use in boost::unordered_flat_set heterogeneous insert 2022-12-11 18:49:21 +01:00
Christian Mazakas
63f07daa88 Merge pull request #172 from boostorg/feature/foa_fast_copy
feature/foa fast copy
2022-12-09 10:05:54 -08:00
Peter Dimov
7040c57750 Add mulx_mix 2022-12-08 21:43:57 +02:00
Christian Mazakas
d036994237 Merge pull request #165 from cmazakas/fix/msvc-rtc
Add msvc RTC to select test targets
2022-11-28 09:09:14 -08:00