1363 Commits

Author SHA1 Message Date
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
Peter Dimov
0398afae9b Add BOOST_FORCEINLINE to unordered_flat_set::contains, unordered_flat_map::contains. Refs #168. 2022-11-25 18:01:39 +02:00
Peter Dimov
79dc3bb6d4 Add BOOST_FORCEINLINE to unordered_flat_set::count, unordered_flat_map::count 2022-11-25 17:57:06 +02:00
Peter Dimov
879de5fab8 Add BOOST_FORCEINLINE to unordered_flat_map::operator[] 2022-11-25 17:50:05 +02:00
Christian Mazakas
53a897008a Add conditional masking to silence msvc RTC failures 2022-11-22 10:26:08 -08:00
Christian Mazakas
5aff5b943f
Fix Missing CTAD (#169)
* Update deduction tests to include missing guides for set

* Add missing deduction guides for set
2022-11-22 16:39:39 +01:00
Christian Mazakas
2102031b93 Implement deduction guides for unordered_flat_set 2022-11-07 15:55:29 -08:00
Christian Mazakas
5b92827b68 Implement deduction guides for unordered_flat_map 2022-11-07 15:55:29 -08:00
Christian Mazakas
e2f4303319 Add FOA-specific default bucket count for CTAD purposes 2022-11-07 15:55:29 -08:00
Christian Mazakas
fd48672fd1 Implement deduction guides for unordered_[multi]set 2022-11-07 15:55:29 -08:00
Christian Mazakas
530437c21b Implement deduction guides for unordered_[multi]map 2022-11-07 15:55:29 -08:00
Christian Mazakas
867e60113b Add SFINAE helpers to type_traits.hpp 2022-11-07 15:55:29 -08:00
joaquintides
1d99854979 worked around missing std::is_trivially_copy_constructible in GCC<=4.9 2022-11-07 17:41:47 +01:00
joaquintides
5a4071d4f0 silenced bogus CGG warning 2022-11-07 13:47:43 +01:00
joaquintides
c30e93544d implemented copy_elements_from with fast branch, introduced for_all_elements_while 2022-11-07 12:31:26 +01:00
Christian Mazakas
4310809025
Implement missing constructors outlined by LWG issue 2713 (#160)
* Harden initializer_list constructor tests

* Add tests for constructors as specified in LWG issue 2713

* Add missing constructors to unordered_flat_map

* Add missing constructors to unordered_flat_set

* Add missing constructors to unordered_[multi]map

* Add missing constructors to unordered_[multi]set
2022-11-05 13:08:29 +01:00
Peter Dimov
3b592a3dd4 Merge branch 'feature/hash-is-avalanching-test-03' into develop 2022-10-30 21:13:29 +02:00
Peter Dimov
097f4fac0b Merge branch 'feature/drone' into develop 2022-10-30 19:28:10 +02:00
joaquintides
5327fec080
Feature/foa anti drift (#153)
* added first draft of anti-drift

* stylistic

* adjusted hysteresis factor in unchecked_emplace_with_rehash

* added public max_load

* adjusted hysteresis factor
2022-10-30 17:06:03 +01:00
Peter Dimov
8f02e43ba4 Work around -Wconversion on GCC 5 2022-10-30 17:41:44 +02:00
Peter Dimov
d0fc14b8c5 Remove C++11 constructs from hash_traits.hpp 2022-10-30 13:40:20 +02:00
Christian Mazakas
5e5addd82d Update how the required number of buckets is calculated to nest the max call 2022-10-27 08:17:10 -07:00
joaquintides
5e639a97a4 passed BOOST_UNORDERED_ASSUME a true boolean 2022-10-26 10:39:34 +02:00
joaquintides
fb315252b3 added missing BOOST_FORCEINLINE 2022-10-25 19:53:18 +02:00
joaquintides
d12ed06c3d removed #ifdef'd out code 2022-10-25 19:53:03 +02:00
joaquintides
49fc08b934 refactored emplace_impl to improve inlining 2022-10-25 19:48:19 +02:00
Christian Mazakas
4f0edf9013 Decorate containers with more BOOST_FORCEINLINE 2022-10-25 09:01:38 -07:00
joaquintides
2afd1c5c9a copied Neon group15::is_sentinel from foa_unordered_rc.hpp
(possible performance impact)
2022-10-25 14:45:38 +02:00