Commit Graph

640 Commits

Author SHA1 Message Date
Christian Mazakas
aa96d87502 Fix shadowing warning in early versions of gcc 2022-02-11 11:33:46 -08:00
Christian Mazakas
e2b6865938 Fix C4800 warnings in msvc by manually comparing pointers to 0 2022-02-10 08:37:53 -08:00
Peter Dimov
0794cfec9e Avoid -Wlong-long in mix64_policy 2022-02-09 07:13:27 +02:00
Peter Dimov
2f331b7a8b Update mix64_policy to use Fibonacci hashing 2022-01-19 04:11:08 +02:00
Peter Dimov
d96d5335b4 Update mix32_policy to use Fibonacci hashing 2022-01-19 04:01:46 +02:00
Peter Dimov
2751b3515b Add bcount_log2_ to table, pass it to the policy 2022-01-19 02:33:37 +02:00
Peter Dimov
bf86730a62 Add mix32_policy 2022-01-18 21:31:53 +02:00
Peter Dimov
98494420c5 Add a BOOST_ASSERT to mix64_policy to check that the bucket_count is a power of two 2022-01-18 20:52:05 +02:00
Peter Dimov
7717ff01a1 Use bit_ceil and bit_floor in mix64_policy 2022-01-18 20:40:23 +02:00
Peter Dimov
d6576ed2f1 Remove the special case in pick_policy for integral types (refs #50) 2022-01-18 19:25:32 +02:00
Christian Mazakas
97734fd895 Implement unordered_multiset::contains() 2022-01-13 12:51:50 -08:00
Christian Mazakas
f5d470c531 Implement unordered_set::contains() 2022-01-13 08:03:54 -08:00
Christian Mazakas
ad8a11bb49 Implement unordered_multimap::contains() 2022-01-12 12:57:27 -08:00
Christian Mazakas
a26e1c0f41 Implement unordered_map::contains() 2022-01-12 10:36:40 -08:00
Christian Mazakas
1c459e6ee6 Implement heterogeneous extract() for multiset 2022-01-05 08:14:58 -08:00
Christian Mazakas
abc7327116 Implement heterogeneous extract() for set 2022-01-04 11:50:20 -08:00
Christian Mazakas
d5e5c08b87 Implement heterogeneous count() for multiset 2022-01-04 09:05:17 -08:00
Christian Mazakas
56f11f94d8 Implement heterogeneous count() for set 2022-01-03 15:48:51 -08:00
Christian Mazakas
1ab8cc4c0f Implement heterogeneous erase() for multiset 2022-01-03 13:54:06 -08:00
Christian Mazakas
202a438044 Implement heterogeneous find() for multiset 2022-01-03 07:59:36 -08:00
Christian Mazakas
f813bbdf86 Implement heterogeneous equal_range() for multiset 2021-12-29 10:36:23 -08:00
Christian Mazakas
57a2b65488 Implement heterogeneous equal_range() for set 2021-12-27 12:20:52 -08:00
Christian Mazakas
9c07cf60a6 Deprecate table::erase_key_unique() 2021-12-23 13:12:52 -08:00
Christian Mazakas
36324af017 Implement heterogeneous erase() for set 2021-12-23 13:03:08 -08:00
Christian Mazakas
05373cbb6b Implement heterogeneous find() for set 2021-12-23 09:54:12 -08:00
Christian Mazakas
77c4a09a9b Implement heterogeneous count() for multimap 2021-12-22 12:59:52 -08:00
Christian Mazakas
ec288246d0 Implement heterogeneous extract() for multimap 2021-12-21 13:22:18 -08:00
Christian Mazakas
57054f7451 Implement heterogeneous erase() for multimap 2021-12-21 09:27:00 -08:00
Christian Mazakas
1c6c085127 Update unordered_map to use singular type trait for erase() / extract() SFINAE 2021-12-21 09:27:00 -08:00
Christian Mazakas
ff4d25d454 Add transparent_non_iterable type trait for usage in erase() / extract() SFINAE 2021-12-21 09:27:00 -08:00
Christian Mazakas
85cb09ae6d Add erase_key_equiv_impl() member function 2021-12-21 09:27:00 -08:00
Christian Mazakas
19d2fe8738 Implement heterogeneous equal_range() for multimap 2021-12-20 09:28:04 -08:00
Christian Mazakas
d8fe1a17cc Replace usage of compound is_transparent type trait with singular usage of are_transparent 2021-12-17 09:53:16 -08:00
Christian Mazakas
9945ce7583 Implement heterogeneous find() for multimap 2021-12-17 09:53:16 -08:00
Christian Mazakas
1db53ba155 Update internal table to allocate on construction and when rehashing 2021-12-15 09:42:44 -08:00
LeonineKing1199
089d2db104 Remove traits detection mechanism 2021-12-08 14:04:04 -08:00
LeonineKing1199
fefb6ad4c4 Remove unnecessary expression test mechanisms 2021-12-08 13:59:11 -08:00
LeonineKing1199
05b795bc14 Remove unnecessary macro for determining which allocator_traits implementation is being used 2021-12-08 10:06:01 -08:00
Peter Dimov
ff3f5067c8 Merge pull request #56 from LeonineKing1199/feature/allocator-traits
Replace internal implementation of `allocation_traits` with Core's
2021-12-08 01:23:02 +02:00
LeonineKing1199
5b8289c05a Remove extraneous include of Boost.Container's allocator_traits 2021-12-07 10:49:39 -08:00
LeonineKing1199
a6b9fb285c Replace internal implementation of allocation_traits with Core's 2021-12-07 08:35:56 -08:00
LeonineKing1199
13cd5aa4ce Implement initial draft of heterogeneous extract() 2021-12-06 13:06:05 -08:00
LeonineKing1199
e4d0693eb9 Fix erroneous placement of heterogeneous erase() from multimap to map 2021-12-03 10:08:30 -08:00
LeonineKing1199
4a42c93897 Fix erroneous usage of table::hash() impl which implicitly copy-constructs the const_key_type 2021-12-03 10:07:57 -08:00
LeonineKing1199
8b438dea76 Use erase_key_unique_impl() directly so that eventually erase_unique() can be deprecated 2021-12-03 08:48:20 -08:00
LeonineKing1199
12977a50bc Add hopefully helpful comment to the source 2021-12-03 08:41:42 -08:00
LeonineKing1199
33f84624ec Add initial draft of heterogeneous erase() 2021-12-02 15:59:12 -08:00
LeonineKing1199
f252480bee Add missing formatting 2021-12-02 15:44:02 -08:00
LeonineKing1199
c9df887c4c Add member function template erase_key_unique_impl for usage in heterogeneous lookups 2021-12-02 15:38:07 -08:00
LeonineKing1199
03edf7f4a8 Add member function template find_previous_node_impl so it can be used in heterogenous contexts 2021-12-02 15:30:17 -08:00