mirror of
https://github.com/boostorg/optional.git
synced 2025-11-02 16:52:18 +01:00
refactor: drop Boost.Move dependency
Implement constexpr definitions of forward and move to replace usage of boost::move and boost::forward from the Boost.Move library. Alter tests to use std::move instead of boost::move. Remove the dependency on Boost.Move from build.jam
This commit is contained in:
@@ -240,8 +240,8 @@ void test_flat_map_move_only()
|
||||
{
|
||||
{
|
||||
optional<MoveOnly> om (makeMoveOnly(1)), om2 (makeMoveOnly(2));
|
||||
verify_type<optional<int> >(boost::move(om).flat_map(get_val));
|
||||
optional<int> oi = boost::move(om2).flat_map(get_val);
|
||||
verify_type<optional<int> >(std::move(om).flat_map(get_val));
|
||||
optional<int> oi = std::move(om2).flat_map(get_val);
|
||||
BOOST_TEST(bool(oi));
|
||||
BOOST_TEST_EQ(2, *oi);
|
||||
}
|
||||
|
@@ -62,8 +62,8 @@ int get_val(MoveOnly m)
|
||||
void test_map_move_only()
|
||||
{
|
||||
optional<MoveOnly> om (makeMoveOnly(7)), om2 (makeMoveOnly(8));
|
||||
verify_type<optional<int> >(boost::move(om).map(get_val));
|
||||
optional<int> oi = boost::move(om2).map(get_val);
|
||||
verify_type<optional<int> >(std::move(om).map(get_val));
|
||||
optional<int> oi = std::move(om2).map(get_val);
|
||||
BOOST_TEST(bool(oi));
|
||||
BOOST_TEST_EQ(8, *oi);
|
||||
|
||||
@@ -72,7 +72,7 @@ void test_map_move_only()
|
||||
BOOST_TEST_EQ(4, *oj);
|
||||
|
||||
optional<MoveOnly> o_;
|
||||
optional<int> oi_ = boost::move(o_).map(get_val);
|
||||
optional<int> oi_ = std::move(o_).map(get_val);
|
||||
BOOST_TEST(!oi_);
|
||||
}
|
||||
|
||||
|
@@ -82,7 +82,7 @@ void test_move_ctor_from_U()
|
||||
BOOST_TEST(o2->s == sValueCopyConstructed || o2->s == sCopyConstructed || o2->s == sMoveConstructed );
|
||||
BOOST_TEST(v1.s == sIntConstructed);
|
||||
|
||||
optional<Oracle> o3 (boost::move(v1));
|
||||
optional<Oracle> o3 (std::move(v1));
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->s == sValueMoveConstructed || o3->s == sMoveConstructed);
|
||||
BOOST_TEST(v1.s == sMovedFrom);
|
||||
@@ -100,7 +100,7 @@ void test_move_ctor_form_T()
|
||||
BOOST_TEST(o2->s == sCopyConstructed);
|
||||
BOOST_TEST(v1.s == sDefaultConstructed);
|
||||
|
||||
optional<Oracle> o3 (boost::move(v1));
|
||||
optional<Oracle> o3 (std::move(v1));
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->s == sMoveConstructed);
|
||||
BOOST_TEST(v1.s == sMovedFrom);
|
||||
@@ -109,13 +109,13 @@ void test_move_ctor_form_T()
|
||||
void test_move_ctor_from_optional_T()
|
||||
{
|
||||
optional<Oracle> o1;
|
||||
optional<Oracle> o2(boost::move(o1));
|
||||
optional<Oracle> o2(std::move(o1));
|
||||
|
||||
BOOST_TEST(!o1);
|
||||
BOOST_TEST(!o2);
|
||||
|
||||
optional<Oracle> o3((Oracle()));
|
||||
optional<Oracle> o4(boost::move(o3));
|
||||
optional<Oracle> o4(std::move(o3));
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o4);
|
||||
BOOST_TEST(o3->s == sMovedFrom);
|
||||
@@ -156,7 +156,7 @@ void test_move_assign_from_U()
|
||||
BOOST_TEST(v1.s == sIntConstructed);
|
||||
|
||||
optional<Oracle> o3;
|
||||
o3 = boost::move(v1);
|
||||
o3 = std::move(v1);
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->s == sValueMoveConstructed);
|
||||
BOOST_TEST(v1.s == sMovedFrom);
|
||||
@@ -185,7 +185,7 @@ void test_move_assign_from_T()
|
||||
BOOST_TEST(v1.s == sDefaultConstructed);
|
||||
|
||||
optional<Oracle> o3;
|
||||
o3 = boost::move(v1);
|
||||
o3 = std::move(v1);
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->s == sMoveConstructed);
|
||||
BOOST_TEST(v1.s == sMovedFrom);
|
||||
@@ -204,7 +204,7 @@ void test_move_assign_from_optional_T()
|
||||
BOOST_TEST(o1);
|
||||
BOOST_TEST(o1->s == sCopyConstructed);
|
||||
|
||||
o2 = boost::move(o3);
|
||||
o2 = std::move(o3);
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->s == sMovedFrom);
|
||||
BOOST_TEST(o2);
|
||||
@@ -236,15 +236,15 @@ void test_with_move_only()
|
||||
optional<MoveOnly> o2((MoveOnly(1)));
|
||||
BOOST_TEST(o2);
|
||||
BOOST_TEST(o2->val == 1);
|
||||
optional<MoveOnly> o3 (boost::move(o1));
|
||||
optional<MoveOnly> o3 (std::move(o1));
|
||||
BOOST_TEST(!o3);
|
||||
optional<MoveOnly> o4 (boost::move(o2));
|
||||
optional<MoveOnly> o4 (std::move(o2));
|
||||
BOOST_TEST(o4);
|
||||
BOOST_TEST(o4->val == 1);
|
||||
BOOST_TEST(o2);
|
||||
BOOST_TEST(o2->val == 0);
|
||||
|
||||
o3 = boost::move(o4);
|
||||
o3 = std::move(o4);
|
||||
BOOST_TEST(o3);
|
||||
BOOST_TEST(o3->val == 1);
|
||||
BOOST_TEST(o4);
|
||||
@@ -272,7 +272,7 @@ void test_move_assign_from_optional_U()
|
||||
{
|
||||
optional<MoveOnly> a((MoveOnly(2)));
|
||||
optional<MoveOnlyB> b1;
|
||||
b1 = boost::move(a);
|
||||
b1 = std::move(a);
|
||||
|
||||
BOOST_TEST(b1);
|
||||
BOOST_TEST(b1->val == 2);
|
||||
@@ -288,7 +288,7 @@ void test_move_assign_from_optional_U()
|
||||
void test_move_ctor_from_optional_U()
|
||||
{
|
||||
optional<MoveOnly> a((MoveOnly(2)));
|
||||
optional<MoveOnlyB> b1(boost::move(a));
|
||||
optional<MoveOnlyB> b1(std::move(a));
|
||||
|
||||
BOOST_TEST(b1);
|
||||
BOOST_TEST(b1->val == 2);
|
||||
@@ -323,7 +323,7 @@ void test_optional_ref_to_movables()
|
||||
BOOST_TEST(m.val == 1);
|
||||
BOOST_TEST(orm->val == 1);
|
||||
|
||||
optional<MoveOnly&> orm3 = boost::move(orm);
|
||||
optional<MoveOnly&> orm3 = std::move(orm);
|
||||
orm3->val = 4;
|
||||
BOOST_TEST(m.val == 4);
|
||||
BOOST_TEST(orm->val == 4);
|
||||
|
@@ -89,19 +89,19 @@ void test_noexcept_optional_with_operator() // compile-time test
|
||||
ONx0 onx0;
|
||||
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONx2() ));
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONx2(boost::move(onx2)) ));
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONx2(std::move(onx2)) ));
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( onx2 = ONx2() ));
|
||||
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONxC() ));
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONxC(boost::move(onxC)) ));
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONxC(std::move(onxC)) ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( onxC = ONxC() ));
|
||||
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONxA() ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( ONxA(boost::move(onxA)) ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( ONxA(std::move(onxA)) ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( onxA = ONxA() ));
|
||||
|
||||
BOOST_STATIC_ASSERT( BOOST_NOEXCEPT_EXPR( ONx0() ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( ONx0(boost::move(onx0)) ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( ONx0(std::move(onx0)) ));
|
||||
BOOST_STATIC_ASSERT(!BOOST_NOEXCEPT_EXPR( onx0 = ONx0() ));
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user