Commit Graph

2229 Commits

Author SHA1 Message Date
joaquintides
f0037d336d added narrow_cast 2022-12-14 10:39:32 -08:00
Christian Mazakas
8b14b7cddc Add tests for 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
8b1dcd3da3 Add tests for 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
1f4244ec27 Add tests for 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
b85e17085f Add tests for transparent subscript operator 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
7709950111 Add transparent insert_or_assign() tests 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
ee1515189b Add transparent tests for unordered_map's try_emplace() 2022-12-13 14:28:19 -08:00
Christian Mazakas
eb33ad3e3f Merge pull request #173 from cmazakas/fix/exception-guarantees
Exception Guarantees
2022-12-13 14:22:29 -08:00
Christian Mazakas
0ad6ccb0b9 Update FOA noexcept docs for move assignment, swap 2022-12-13 13:53:29 -08:00
Christian Mazakas
0ab4e12502 Update noexcept tests for new FOA requirements 2022-12-13 13:53:29 -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
2043f98593 Add strong exception guarantees around Hash, KeyEqual for move_assign_exception_tests 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
4ac3dcc90c Update assign_exception_tests to assert strong guarantee around Hash, KeyEqual pairing 2022-12-13 13:53:29 -08:00
Christian Mazakas
75ea43823e Update test Hash, KeyEqual to be nothrow swappable 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
Christian Mazakas
534170a942 Remove foa-related macro used for relaxing invariant checking in check_equivalent_keys 2022-12-13 13:53:29 -08:00
Christian Mazakas
7befee3bd6 Update swap_exception_tests to exclude FOA containers and add test for throwing asserts when comparing allocators 2022-12-13 13:53:29 -08:00
Christian Mazakas
01deb2fd61 Merge pull request #176 from boostorg/feature/foa_fast_copy_fix
feature/foa fast copy fix
2022-12-13 13:52:59 -08:00
joaquintides
91eddbabe8 restricted memcpy to allocators known to not have fancy construct() 2022-12-13 09:35:28 -08:00
Christian Mazakas
47e205487d Fix potential integer overflow in test::hash<int> 2022-12-13 09:35:28 -08:00
Christian Mazakas
2c1c99407e Update copy_tests to test a trivially copyable value_type with an Allocator with defined construct() 2022-12-13 09:35:28 -08:00
joaquintides
6be2bf89b6 Merge pull request #175 from boostorg/feature/optimized_try_emplace
feature/optimized_try_emplace
2022-12-13 09:24:56 +01: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
Peter Dimov
9716731864 Disable benchmark/uint64.cpp under libstdc++ 32 bit 2022-12-03 15:37:22 +02:00
Peter Dimov
0bcd46a485 Use enwik8 instead of enwik9 in benchmarks under 32 bit 2022-12-03 15:32:04 +02:00
Peter Dimov
46a2cd109f Define _SILENCE_CXX20_CISO646_REMOVED_WARNING in benchmarks 2022-12-01 01:34:00 +02:00
Peter Dimov
808f8e659a Remove tsl maps from benchmarks 2022-12-01 01:30:54 +02:00
Peter Dimov
8ed05de91c Add ankerl::unordered_dense::map to benchmarks 2022-12-01 00:50:29 +02:00
Peter Dimov
1a02fca5c4 Add benchmark/.gitignore 2022-11-29 18:14:52 +02:00
Christian Mazakas
d036994237 Merge pull request #165 from cmazakas/fix/msvc-rtc
Add msvc RTC to select test targets
boost-1.81.0
2022-11-28 09:09:14 -08:00
Christian Mazakas
8d4816eac7 Merge pull request #170 from boostorg/feature/foa_data_structure_docs
added data structure docs
2022-11-28 08:45:05 -08:00
joaquintides
46fc4f9f4d typos 2022-11-28 17:42:13 +01:00
joaquintides
725993ab95 typo 2022-11-28 17:37:13 +01:00
joaquintides
ffa5e6f805 typos 2022-11-27 19:39:07 +01:00
Peter Dimov
84206ebf8f Add test_contains, test_count to benchmark/word_count.cpp 2022-11-25 19:05:28 +02: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
Peter Dimov
89ccb49165 Add an iteration step to benchmark/word_size.cpp 2022-11-25 02:05:50 +02:00
Peter Dimov
70a980a980 Add word size count benchmark 2022-11-25 01:49:11 +02:00