joaquintides
ccf9a76ebe
Fixed #237
2024-03-15 17:30:10 +01:00
joaquintides
15cfef6967
Fixed support for allocators with explicit copy constructors ( #234 )
...
* added tests for explicit allocators
* made explicit_alloc_ctor_tests work
by adhering to the principle that classes templated with Allocator should accept exactly Allocator objects
* removed TMP machinery older compilers choke about
* initialized variables
* updated release notes
* fixed PR number
2024-02-17 18:58:48 +01:00
Braden Ganetsky
0d2751c5e1
Extract at()'s throw_exception calls into noinline function ( #223 )
...
* Create function `detail::throw_out_of_range()` to make `at()` more inlineable
* Replace `boost::throw_exception()` with `detail::throw_out_of_range()`
2023-12-19 17:08:08 +01:00
Peter Dimov
0e19223e5b
Replace uses of boost::enable_if_t in deduction guides with std::enable_if_t
2023-10-12 13:13:56 +03:00
Christian Mazakas
554ce65a69
Remove unnecessary forced inlining of bool conversion
2023-09-29 10:52:34 -07:00
Christian Mazakas
4fcc6a9cab
Manually implement explicit boolean conversion, removing header dependency on Core's polyfill
2023-09-29 08:03:49 -07:00
Christian Mazakas
0d61746fa3
Remove unnecessary requires_cxx11 header
2023-09-29 08:03:11 -07:00
Christian Mazakas
087f2052fc
Update include paths to use ContainerHash instead of Functional for hash
2023-09-27 13:03:15 -07:00
Christian Mazakas
777f2084a3
Remove dependency on TypeTraits
2023-09-27 11:44:45 -07:00
Christian Mazakas
33dbd7cd76
Remove dependency on Boost.Move
2023-09-27 11:44:44 -07:00
Christian Mazakas
8f382e874d
Remove BOOST_COPYABLE_AND_MOVABLE
2023-09-27 11:44:44 -07:00
Christian Mazakas
0c7b51cc16
Remove BOOST_NO_CXX11_RVALUE_REFERENCES
2023-09-27 11:44:44 -07:00
Christian Mazakas
866ab46385
Remove BOOST_FWD_REF
2023-09-27 11:44:44 -07:00
Christian Mazakas
4cd1827104
Remove BOOST_RV_REF
2023-09-27 11:44:44 -07:00
Christian Mazakas
1d991d065e
Remove BOOST_UNORDERED_EMPLACE_LIMIT
2023-09-27 11:44:44 -07:00
Christian Mazakas
f088a5b9b9
Remove usage of boost::forward
2023-09-27 11:44:44 -07:00
Christian Mazakas
59a7fa09ba
Remove usage of BOOST_NO_CXX11_HDR_TYPE_TRAITS
2023-09-27 11:44:44 -07:00
Christian Mazakas
8cbd9ad80a
Remove BOOST_NO_CXX11_HDR_INITIALIZER_LIST checks
2023-09-27 11:44:44 -07:00
Christian Mazakas
adb91ac06d
Replace boost::move with std::move
2023-09-27 11:44:44 -07:00
Christian Mazakas
11322de29f
Remove BOOST_CONSTEXPR
2023-09-27 11:44:44 -07:00
Christian Mazakas
aa16d1b8a9
Remove BOOST_NOEXCEPT
2023-09-27 11:44:44 -07:00
joaquintides
ca2a46f290
complied with https://github.com/boostorg/core/commit/5f6fe65
2023-08-25 19:45:16 +02:00
joaquintides
5239b101e2
added serialization support (pending docs and testing)
2023-08-17 10:20:25 +02:00
Christian Mazakas
bf06fa97e3
Add deduction guides
2023-05-17 09:38:29 -07:00
Peter Dimov
dbba3cec7b
Add C++03 deprecation notice
2023-03-06 09:43:45 +02: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
bf2b521789
Add transparent try_emplace()
2022-12-13 14:28:19 -08:00
Christian Mazakas
530437c21b
Implement deduction guides for unordered_[multi]map
2022-11-07 15:55:29 -08: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
Christian Mazakas
db9d9d1f77
Update implementation to support a default-constructible table and grouped_bucket_array
2022-08-30 15:20:31 -07:00
Christian Mazakas
f9eae4153f
Update code to be valid when the internal buckets_ data member is moved-from
2022-08-18 09:04:53 -07:00
Christian Mazakas
a31e894411
Update implementation to use erase_node() where applicable
2022-07-25 11:35:38 -07:00
Christian Mazakas
5a456eb295
Refactor internal implementation to use "fast closed-addressing" aka fca
2022-06-01 11:49:09 -07:00
Peter Dimov
0d3ece98c1
Merge pull request #106 from cmazakas/missing-nodiscard
...
Add missing `[[nodiscard]]` qualifiers as outlined by C++20
2022-02-24 18:00:00 +02:00
Christian Mazakas
3d952d3c0f
Add missing [[nodiscard]] qualifiers as outlined by C++20
2022-02-23 14:26:28 -08:00
Christian Mazakas
c322cc5621
Implement erase_if() for Unordered via function template in detail namespace
2022-02-23 11:36:48 -08:00
Christian Mazakas
e2b6865938
Fix C4800 warnings in msvc by manually comparing pointers to 0
2022-02-10 08:37:53 -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
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
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
LeonineKing1199
13cd5aa4ce
Implement initial draft of heterogeneous extract()
2021-12-06 13:06:05 -08:00