From cbe19722a39513f71aa8bbd17bdfff81d57d3113 Mon Sep 17 00:00:00 2001 From: Christian Mazakas Date: Wed, 4 Jan 2023 15:14:54 -0800 Subject: [PATCH] interim commit --- .../boost/unordered/unordered_flat_map.hpp | 2 +- test/unordered/insert_tests.cpp | 27 ++++++++++--------- test/unordered/post_move_tests.cpp | 4 +++ 3 files changed, 20 insertions(+), 13 deletions(-) diff --git a/include/boost/unordered/unordered_flat_map.hpp b/include/boost/unordered/unordered_flat_map.hpp index 790eb248..71f9d914 100644 --- a/include/boost/unordered/unordered_flat_map.hpp +++ b/include/boost/unordered/unordered_flat_map.hpp @@ -52,7 +52,7 @@ namespace boost { return kv.first; } - static moved_type move(value_type& x) + static moved_type move(storage_type& x) { // TODO: we probably need to launder here return {std::move(const_cast(x.first)), diff --git a/test/unordered/insert_tests.cpp b/test/unordered/insert_tests.cpp index e94e673e..99f5a175 100644 --- a/test/unordered/insert_tests.cpp +++ b/test/unordered/insert_tests.cpp @@ -1093,8 +1093,8 @@ namespace insert_tests { insert_initializer_list_map_impl< boost::unordered_node_map >(); #else - insert_initializer_list_map_implboost::unordered_map(); + insert_initializer_list_map_impl< + boost::unordered_map >(); #endif } @@ -1427,8 +1427,11 @@ RUN_TESTS_QUIET() #else // PIECEWISE_TEST_NAME +#define PIECEWISE_TEST_HELPER(A, B) A##B +#define MAKE_PIECEWIES_TEST(X) PIECEWISE_TEST_HELPER(X, _impl) + template - static void piecewise_test_impl() + static void MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)() { #if EMULATING_PIECEWISE_CONSTRUCTION test::detail::disable_construction_tracking _scoped; @@ -1486,12 +1489,12 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) { { #if defined(BOOST_UNORDERED_FOA_TESTS) - // typedef boost::unordered_flat_map, - // std::equal_to, - // test::allocator1< - // std::pair > > - // flat_map; + typedef boost::unordered_flat_map, + std::equal_to, + test::allocator1< + std::pair > > + flat_map; typedef boost::unordered_node_map, @@ -1500,8 +1503,8 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) { std::pair > > node_map; - // piecewise_test_impl(); - piecewise_test_impl(); + MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)(); + MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)(); #else typedef boost::unordered_map, @@ -1510,7 +1513,7 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) { std::pair > > map; - piecewise_test_impl(); + MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)(); #endif } #ifndef BOOST_UNORDERED_FOA_TESTS diff --git a/test/unordered/post_move_tests.cpp b/test/unordered/post_move_tests.cpp index c0bb0aa7..e4b38ed2 100644 --- a/test/unordered/post_move_tests.cpp +++ b/test/unordered/post_move_tests.cpp @@ -335,12 +335,14 @@ namespace move_tests { static_cast(std::distance(y.begin(), y.end()))); } +#ifndef BOOST_UNORDERED_FOA_TESTS template static void extract(T& y, test::random_values const& v) { (void)y.extract(get_key(*v.begin())); BOOST_TEST_EQ(y.size(), static_cast(std::distance(y.begin(), y.end()))); } +#endif template static void merge(T& y, test::random_values const& v) { @@ -375,6 +377,7 @@ namespace move_tests { static_cast(std::distance(y.begin(), y.end()))); } +#ifndef BOOST_UNORDERED_FOA_TESTS template static void buckets(T& y, test::random_values const& v) { (void)y.begin(0); @@ -384,6 +387,7 @@ namespace move_tests { (void)y.bucket_size(0); (void)y.bucket(get_key(*v.begin())); } +#endif template static void double_move_construct(T& y, test::random_values const&)