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;
}
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<raw_key_type&>(x.first)),

View File

@ -1093,8 +1093,8 @@ namespace insert_tests {
insert_initializer_list_map_impl<
boost::unordered_node_map<std::string, std::string> >();
#else
insert_initializer_list_map_implboost::unordered_map<std::string,
std::string>();
insert_initializer_list_map_impl<
boost::unordered_map<std::string, std::string> >();
#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 <class Map>
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<overloaded_constructor, overloaded_constructor,
// boost::hash<overloaded_constructor>,
// std::equal_to<overloaded_constructor>,
// test::allocator1<
// std::pair<overloaded_constructor const, overloaded_constructor> > >
// flat_map;
typedef boost::unordered_flat_map<overloaded_constructor, overloaded_constructor,
boost::hash<overloaded_constructor>,
std::equal_to<overloaded_constructor>,
test::allocator1<
std::pair<overloaded_constructor const, overloaded_constructor> > >
flat_map;
typedef boost::unordered_node_map<overloaded_constructor, overloaded_constructor,
boost::hash<overloaded_constructor>,
@ -1500,8 +1503,8 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) {
std::pair<overloaded_constructor const, overloaded_constructor> > >
node_map;
// piecewise_test_impl<flat_map>();
piecewise_test_impl<node_map>();
MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<flat_map>();
MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<node_map>();
#else
typedef boost::unordered_map<overloaded_constructor, overloaded_constructor,
boost::hash<overloaded_constructor>,
@ -1510,7 +1513,7 @@ UNORDERED_AUTO_TEST (PIECEWISE_TEST_NAME) {
std::pair<overloaded_constructor const, overloaded_constructor> > >
map;
piecewise_test_impl<map>();
MAKE_PIECEWIES_TEST(PIECEWISE_TEST_NAME)<map>();
#endif
}
#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())));
}
#ifndef BOOST_UNORDERED_FOA_TESTS
template <class T> static void extract(T& y, test::random_values<T> const& v)
{
(void)y.extract(get_key(*v.begin()));
BOOST_TEST_EQ(y.size(),
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)
{
@ -375,6 +377,7 @@ namespace move_tests {
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)
{
(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 <class T>
static void double_move_construct(T& y, test::random_values<T> const&)