diff --git a/test/unordered/unnecessary_copy_tests.cpp b/test/unordered/unnecessary_copy_tests.cpp index 2c64bd7c..22f4f0ca 100644 --- a/test/unordered/unnecessary_copy_tests.cpp +++ b/test/unordered/unnecessary_copy_tests.cpp @@ -207,8 +207,24 @@ namespace unnecessary_copy_tests UNORDERED_TEST(unnecessary_copy_emplace_rvalue_test, ((set)(multiset)(map)(multimap))) +#if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES) template - void unnecessary_copy_emplace_move_test(T*) + void unnecessary_copy_emplace_std_move_test(T*) + { + reset(); + T x; + BOOST_DEDUCED_TYPENAME T::value_type a; + COPY_COUNT(1); MOVE_COUNT(0); + x.emplace(std::move(a)); + COPY_COUNT(1); MOVE_COUNT(1); + } + + UNORDERED_TEST(unnecessary_copy_emplace_std_move_test, + ((set)(multiset)(map)(multimap))) +#endif + + template + void unnecessary_copy_emplace_boost_move_test(T*) { reset(); T x; @@ -223,7 +239,7 @@ namespace unnecessary_copy_tests #endif } - UNORDERED_TEST(unnecessary_copy_emplace_move_test, + UNORDERED_TEST(unnecessary_copy_emplace_boost_move_test, ((set)(multiset)(map)(multimap))) template