Commit Graph
168 Commits
Author SHA1 Message Date
Christian Mazakas fdc5cc83ff Remove usage of BOOST_NO_CXX11_HDR_TYPE_TRAITS 2023-09-22 15:40:46 -07:00
Christian Mazakas dc48210c2a Remove BOOST_NO_CXX11_HDR_INITIALIZER_LIST checks 2023-09-22 15:40:46 -07:00
Christian Mazakas 451b74d956 Replace boost::move with std::move 2023-09-22 15:40:46 -07:00
Christian Mazakas 254e47ca52 Remove BOOST_CONSTEXPR 2023-09-22 15:40:45 -07:00
Christian Mazakas 552224888c Remove BOOST_NOEXCEPT 2023-09-22 15:40:45 -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
Peter Dimov dbba3cec7b Add C++03 deprecation notice 2023-03-06 09:43:45 +02:00
Christian Mazakas 7d77f1d478 Add transparent insert() overloads to unordered_[flat]_set 2022-12-19 12:46:46 -08:00
Christian Mazakas 6c60524fb7 Implement transparent bucket() 2022-12-13 14:28:19 -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 fd48672fd1 Implement deduction guides for unordered_[multi]set 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 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 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
Edward Diener 887f1dc07c Change __BORLANDC__ to BOOST_BORLANDC and __CODEGEARC__ to BOOST_CODEGEARC, which are3defined in Boost config for the Embarcadero non-clang-based compilers. 2020-03-31 22:47:48 -04:00
Daniel James 09be9bae04 Use boost::is_nothrow_swappable, now that it's available everywhere 2018-01-27 09:38:19 +00:00
Daniel James ea599a66b7 Disable 'conditional expression is constant' on older Visual C++ 2018-01-23 15:40:58 +00:00
Daniel James dea525b2b7 Suppress msvc waring "conditional expression is constant" 2018-01-10 11:35:22 +00:00
Daniel James f12009fc61 operator= noexcept support 2018-01-05 17:54:44 +00:00
Daniel James 5854090dc7 Swap noexcept support
Not properly supported as we don't have is_nothrow_swappable yet.
2018-01-05 17:48:13 +00:00
Daniel James 7615fabc80 Rewrite node handles using a lightweight limited optional
Will try to use std::optional when available. Also using
allocator_traits::is_always_equal support.
2018-01-03 23:15:55 +00:00
Daniel James b50e0d610f Initial implementation of template deduction guides 2017-12-19 12:56:51 +00:00
Daniel James 978944fab2 Use same code for move constructing all containers
Copies the data layout from the source, so it doesn't need to hash anything.
2017-10-05 10:56:02 +01:00
Daniel James 6b5b968b97 Format with clang-format 4.0 2017-10-05 10:54:22 +01:00
Daniel James f72b0353d4 Shuffle code around for readability
The new indentation made some of the code difficult to read, especially
where macros were concerned, so move things around and add more explicit
namespace declarations.
2017-06-11 20:55:59 +01:00
Daniel James 0676b4f4ca Change clang format indentation + .editorconfig file 2017-06-11 20:55:59 +01:00
Daniel James 5b97fbc292 Make insert from node_handle move only on old GCC 2017-05-19 09:42:56 +01:00
Daniel James e0227618bb Move a few things around to match the order in the standard 2017-05-17 16:47:57 +01:00
Daniel James ee9a5a2c77 Add a configuration macro for Sun C++ workarounds 2017-05-16 19:01:50 +01:00
Daniel James b6c6bfbe7f Statically handle 'is_unique' in assignments 2017-05-06 04:58:57 +01:00