interim commit

This commit is contained in:
Christian Mazakas
2023-01-04 15:14:54 -08:00
parent dcff2ac5b5
commit cbe19722a3
3 changed files with 20 additions and 13 deletions

View File

@ -52,7 +52,7 @@ namespace boost {
return kv.first; return kv.first;
} }
static moved_type move(value_type& x) static moved_type move(storage_type& x)
{ {
// TODO: we probably need to launder here // TODO: we probably need to launder here
return {std::move(const_cast<raw_key_type&>(x.first)), return {std::move(const_cast<raw_key_type&>(x.first)),

View File

@ -1093,8 +1093,8 @@ namespace insert_tests {
insert_initializer_list_map_impl< insert_initializer_list_map_impl<
boost::unordered_node_map<std::string, std::string> >(); boost::unordered_node_map<std::string, std::string> >();
#else #else
insert_initializer_list_map_implboost::unordered_map<std::string, insert_initializer_list_map_impl<
std::string>(); boost::unordered_map<std::string, std::string> >();
#endif #endif
} }
@ -1427,8 +1427,11 @@ RUN_TESTS_QUIET()
#else // PIECEWISE_TEST_NAME #else // PIECEWISE_TEST_NAME
#define PIECEWISE_TEST_HELPER(A, B) A##B
#define MAKE_PIECEWIES_TEST(X) PIECEWISE_TEST_HELPER(X, _impl)
template <class Map> template <class Map>
static void piecewise_test_impl() static void MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)()
{ {
#if EMULATING_PIECEWISE_CONSTRUCTION #if EMULATING_PIECEWISE_CONSTRUCTION
test::detail::disable_construction_tracking _scoped; test::detail::disable_construction_tracking _scoped;
@ -1486,12 +1489,12 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) {
{ {
#if defined(BOOST_UNORDERED_FOA_TESTS) #if defined(BOOST_UNORDERED_FOA_TESTS)
// typedef boost::unordered_flat_map<overloaded_constructor, overloaded_constructor, typedef boost::unordered_flat_map<overloaded_constructor, overloaded_constructor,
// boost::hash<overloaded_constructor>, boost::hash<overloaded_constructor>,
// std::equal_to<overloaded_constructor>, std::equal_to<overloaded_constructor>,
// test::allocator1< test::allocator1<
// std::pair<overloaded_constructor const, overloaded_constructor> > > std::pair<overloaded_constructor const, overloaded_constructor> > >
// flat_map; flat_map;
typedef boost::unordered_node_map<overloaded_constructor, overloaded_constructor, typedef boost::unordered_node_map<overloaded_constructor, overloaded_constructor,
boost::hash<overloaded_constructor>, boost::hash<overloaded_constructor>,
@ -1500,8 +1503,8 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) {
std::pair<overloaded_constructor const, overloaded_constructor> > > std::pair<overloaded_constructor const, overloaded_constructor> > >
node_map; node_map;
// piecewise_test_impl<flat_map>(); MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<flat_map>();
piecewise_test_impl<node_map>(); MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<node_map>();
#else #else
typedef boost::unordered_map<overloaded_constructor, overloaded_constructor, typedef boost::unordered_map<overloaded_constructor, overloaded_constructor,
boost::hash<overloaded_constructor>, boost::hash<overloaded_constructor>,
@ -1510,7 +1513,7 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) {
std::pair<overloaded_constructor const, overloaded_constructor> > > std::pair<overloaded_constructor const, overloaded_constructor> > >
map; map;
piecewise_test_impl<map>(); MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<map>();
#endif #endif
} }
#ifndef BOOST_UNORDERED_FOA_TESTS #ifndef BOOST_UNORDERED_FOA_TESTS

View File

@ -335,12 +335,14 @@ namespace move_tests {
static_cast<typename T::size_type>(std::distance(y.begin(), y.end()))); static_cast<typename T::size_type>(std::distance(y.begin(), y.end())));
} }
#ifndef BOOST_UNORDERED_FOA_TESTS
template <class T> static void extract(T& y, test::random_values<T> const& v) template <class T> static void extract(T& y, test::random_values<T> const& v)
{ {
(void)y.extract(get_key(*v.begin())); (void)y.extract(get_key(*v.begin()));
BOOST_TEST_EQ(y.size(), BOOST_TEST_EQ(y.size(),
static_cast<typename T::size_type>(std::distance(y.begin(), y.end()))); static_cast<typename T::size_type>(std::distance(y.begin(), y.end())));
} }
#endif
template <class T> static void merge(T& y, test::random_values<T> const& v) template <class T> static void merge(T& y, test::random_values<T> const& v)
{ {
@ -375,6 +377,7 @@ namespace move_tests {
static_cast<typename T::size_type>(std::distance(y.begin(), y.end()))); static_cast<typename T::size_type>(std::distance(y.begin(), y.end())));
} }
#ifndef BOOST_UNORDERED_FOA_TESTS
template <class T> static void buckets(T& y, test::random_values<T> const& v) template <class T> static void buckets(T& y, test::random_values<T> const& v)
{ {
(void)y.begin(0); (void)y.begin(0);
@ -384,6 +387,7 @@ namespace move_tests {
(void)y.bucket_size(0); (void)y.bucket_size(0);
(void)y.bucket(get_key(*v.begin())); (void)y.bucket(get_key(*v.begin()));
} }
#endif
template <class T> template <class T>
static void double_move_construct(T& y, test::random_values<T> const&) static void double_move_construct(T& y, test::random_values<T> const&)