mirror of
https://github.com/boostorg/unordered.git
synced 2025-07-31 20:04:29 +02:00
interim commit
This commit is contained in:
@@ -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)),
|
||||||
|
@@ -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
|
||||||
|
@@ -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&)
|
||||||
|
Reference in New Issue
Block a user