Commit Graph

1008 Commits

Author SHA1 Message Date
Christian Mazakas
0c93fbc330 Make typedef private and rename it so older versions of msvc don't erroneously treat the typedef like it's in scope when doing template instantiation 2023-02-13 09:10:21 -08:00
Christian Mazakas
b8ff76f4ab Manually implement node_handle_base's default constructor instead of defaulting it which can delete it on older toolchains 2023-02-10 15:16:59 -08:00
Christian Mazakas
f9c32e7f8c Clean up impl of node_handle 2023-02-10 14:19:01 -08:00
Christian Mazakas
21e673c697 Begin cleanup of node_handle implementation 2023-02-09 15:59:23 -08:00
Christian Mazakas
b96dd2184f Add foa-based node containers to node_handle_tests 2023-02-08 15:08:51 -08:00
Christian Mazakas
9636875596 Fix incorrect placement new of allocator type by reifying ad hoc node handle implementations into a base class 2023-02-08 10:36:19 -08:00
Christian Mazakas
bd6829220c Add extract/insert semantics to foa-based node set, add more tests 2023-02-07 15:17:25 -08:00
Christian Mazakas
71bf336c9d Add missing empty_ initialization to move constructor of node_type 2023-02-07 10:08:58 -08:00
Christian Mazakas
b7c1e6a184 Remove print statements 2023-02-07 10:08:34 -08:00
Christian Mazakas
77edd24b4e Interim checkin of attempt at extract/insert node handles 2023-02-06 15:56:55 -08:00
Christian Mazakas
2a7a8f55e1 Revert OSX CI experiment as it breaks emplace_tests 2023-02-01 10:49:20 -08:00
Christian Mazakas
18a664c4a6 Experiment for failing OSX CI 2023-02-01 10:25:50 -08:00
Christian Mazakas
a46220986f Replace usage of rote try-catch with corresponding Boost versions 2023-01-31 10:32:06 -08:00
Christian Mazakas
16099478db Clean up implementation of emplace_dispatch(false_type) 2023-01-31 10:31:52 -08:00
Christian Mazakas
b9fcfeb24e Update foa table to support immovable types in the case of the node-based maps 2023-01-30 13:55:50 -08:00
Christian Mazakas
5b706bb7b5 Update node-based foa containers to default their element_type default constructor and delete the copy constructor to get the appropriate type-based optimizations 2023-01-30 13:55:50 -08:00
joaquintides
e6f911e815 provide erase_on_exit ctor 2023-01-30 13:55:50 -08:00
joaquintides
53e4531295 fixed bug with dangling moved element on throwing rehash during merge 2023-01-30 13:55:50 -08:00
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