Use is_same from Boost.TypeTraits.

boost::core::is_same is deprecated, so use the one from Boost.TypeTraits
instead.
This commit is contained in:
Andrey Semashev
2022-12-23 01:28:59 +03:00
committed by Andrzej Krzemienski
parent def2db7c45
commit 9c43ae3612
3 changed files with 29 additions and 29 deletions

View File

@ -16,14 +16,14 @@
#endif #endif
#include "boost/core/ignore_unused.hpp" #include "boost/core/ignore_unused.hpp"
#include "boost/core/is_same.hpp"
#include "boost/core/lightweight_test.hpp" #include "boost/core/lightweight_test.hpp"
#include "boost/core/lightweight_test_trait.hpp" #include "boost/core/lightweight_test_trait.hpp"
#include "boost/type_traits/is_same.hpp"
using boost::optional; using boost::optional;
using boost::make_optional; using boost::make_optional;
using boost::core::is_same; using boost::is_same;
template <typename Expected, typename Deduced> template <typename Expected, typename Deduced>
void verify_type(Deduced) void verify_type(Deduced)

View File

@ -16,21 +16,21 @@
#endif #endif
#include "boost/core/ignore_unused.hpp" #include "boost/core/ignore_unused.hpp"
#include "boost/core/is_same.hpp"
#include "boost/core/lightweight_test.hpp" #include "boost/core/lightweight_test.hpp"
#include "boost/core/lightweight_test_trait.hpp" #include "boost/core/lightweight_test_trait.hpp"
#include "boost/type_traits/is_same.hpp"
using boost::optional; using boost::optional;
using boost::make_optional; using boost::make_optional;
using boost::core::is_same; using boost::is_same;
template <typename Expected, typename Deduced> template <typename Expected, typename Deduced>
void verify_type(Deduced) void verify_type(Deduced)
{ {
BOOST_TEST_TRAIT_TRUE(( is_same<Expected, Deduced> )); BOOST_TEST_TRAIT_TRUE(( is_same<Expected, Deduced> ));
} }
#if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) #if (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
struct MoveOnly struct MoveOnly
{ {
@ -38,7 +38,7 @@ struct MoveOnly
explicit MoveOnly(int i) : value(i) {} explicit MoveOnly(int i) : value(i) {}
MoveOnly(MoveOnly && r) : value(r.value) { r.value = 0; } MoveOnly(MoveOnly && r) : value(r.value) { r.value = 0; }
MoveOnly& operator=(MoveOnly && r) { value = r.value; r.value = 0; return *this; } MoveOnly& operator=(MoveOnly && r) { value = r.value; r.value = 0; return *this; }
private: private:
MoveOnly(MoveOnly const&); MoveOnly(MoveOnly const&);
void operator=(MoveOnly const&); void operator=(MoveOnly const&);
@ -53,15 +53,15 @@ void test_make_optional_for_move_only_type()
{ {
verify_type< optional<MoveOnly> >(make_optional(makeMoveOnly(2))); verify_type< optional<MoveOnly> >(make_optional(makeMoveOnly(2)));
verify_type< optional<MoveOnly> >(make_optional(true, makeMoveOnly(2))); verify_type< optional<MoveOnly> >(make_optional(true, makeMoveOnly(2)));
optional<MoveOnly> o1 = make_optional(makeMoveOnly(1)); optional<MoveOnly> o1 = make_optional(makeMoveOnly(1));
BOOST_TEST (o1); BOOST_TEST (o1);
BOOST_TEST_EQ (1, o1->value); BOOST_TEST_EQ (1, o1->value);
optional<MoveOnly> o2 = make_optional(true, makeMoveOnly(2)); optional<MoveOnly> o2 = make_optional(true, makeMoveOnly(2));
BOOST_TEST (o2); BOOST_TEST (o2);
BOOST_TEST_EQ (2, o2->value); BOOST_TEST_EQ (2, o2->value);
optional<MoveOnly> oN = make_optional(false, makeMoveOnly(2)); optional<MoveOnly> oN = make_optional(false, makeMoveOnly(2));
BOOST_TEST (!oN); BOOST_TEST (!oN);
} }
@ -73,15 +73,15 @@ void test_make_optional_for_optional()
optional<int> oi; optional<int> oi;
verify_type< optional< optional<int> > >(make_optional(oi)); verify_type< optional< optional<int> > >(make_optional(oi));
verify_type< optional< optional<int> > >(make_optional(true, oi)); verify_type< optional< optional<int> > >(make_optional(true, oi));
optional< optional<int> > ooi = make_optional(oi); optional< optional<int> > ooi = make_optional(oi);
BOOST_TEST (ooi); BOOST_TEST (ooi);
BOOST_TEST (!*ooi); BOOST_TEST (!*ooi);
optional< optional<int> > ooT = make_optional(true, oi); optional< optional<int> > ooT = make_optional(true, oi);
BOOST_TEST (ooT); BOOST_TEST (ooT);
BOOST_TEST (!*ooT); BOOST_TEST (!*ooT);
optional< optional<int> > ooF = make_optional(false, oi); optional< optional<int> > ooF = make_optional(false, oi);
BOOST_TEST (!ooF); BOOST_TEST (!ooF);
} }
@ -90,21 +90,21 @@ void test_nested_make_optional()
{ {
verify_type< optional< optional<int> > >(make_optional(make_optional(1))); verify_type< optional< optional<int> > >(make_optional(make_optional(1)));
verify_type< optional< optional<int> > >(make_optional(true, make_optional(true, 2))); verify_type< optional< optional<int> > >(make_optional(true, make_optional(true, 2)));
optional< optional<int> > oo1 = make_optional(make_optional(1)); optional< optional<int> > oo1 = make_optional(make_optional(1));
BOOST_TEST (oo1); BOOST_TEST (oo1);
BOOST_TEST (*oo1); BOOST_TEST (*oo1);
BOOST_TEST_EQ (1, **oo1); BOOST_TEST_EQ (1, **oo1);
optional< optional<int> > oo2 = make_optional(true, make_optional(true, 2)); optional< optional<int> > oo2 = make_optional(true, make_optional(true, 2));
BOOST_TEST (oo2); BOOST_TEST (oo2);
BOOST_TEST (*oo2); BOOST_TEST (*oo2);
BOOST_TEST_EQ (2, **oo2); BOOST_TEST_EQ (2, **oo2);
optional< optional<int> > oo3 = make_optional(true, make_optional(false, 3)); optional< optional<int> > oo3 = make_optional(true, make_optional(false, 3));
BOOST_TEST (oo3); BOOST_TEST (oo3);
BOOST_TEST (!*oo3); BOOST_TEST (!*oo3);
optional< optional<int> > oo4 = make_optional(false, make_optional(true, 4)); optional< optional<int> > oo4 = make_optional(false, make_optional(true, 4));
BOOST_TEST (!oo4); BOOST_TEST (!oo4);
} }

View File

@ -16,29 +16,29 @@
#endif #endif
#include "boost/core/ignore_unused.hpp" #include "boost/core/ignore_unused.hpp"
#include "boost/core/is_same.hpp"
#include "boost/core/lightweight_test.hpp" #include "boost/core/lightweight_test.hpp"
#include "boost/core/lightweight_test_trait.hpp" #include "boost/core/lightweight_test_trait.hpp"
#include "boost/type_traits/is_same.hpp"
using boost::optional; using boost::optional;
using boost::make_optional; using boost::make_optional;
using boost::core::is_same; using boost::is_same;
template <typename Expected, typename Deduced> template <typename Expected, typename Deduced>
void verify_type(Deduced) void verify_type(Deduced)
{ {
BOOST_TEST_TRAIT_TRUE(( is_same<Expected, Deduced> )); BOOST_TEST_TRAIT_TRUE(( is_same<Expected, Deduced> ));
} }
#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) #if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
struct MoveOnly struct MoveOnly
{ {
int value; int value;
explicit MoveOnly(int i) : value(i) {} explicit MoveOnly(int i) : value(i) {}
MoveOnly(MoveOnly && r) : value(r.value) { r.value = 0; } MoveOnly(MoveOnly && r) : value(r.value) { r.value = 0; }
MoveOnly& operator=(MoveOnly && r) { value = r.value; r.value = 0; return *this; } MoveOnly& operator=(MoveOnly && r) { value = r.value; r.value = 0; return *this; }
private: private:
MoveOnly(MoveOnly const&); MoveOnly(MoveOnly const&);
void operator=(MoveOnly const&); void operator=(MoveOnly const&);
@ -70,7 +70,7 @@ void test_map_move_only()
optional<int> oj = makeOptMoveOnly(4).map(get_val); optional<int> oj = makeOptMoveOnly(4).map(get_val);
BOOST_TEST(bool(oj)); BOOST_TEST(bool(oj));
BOOST_TEST_EQ(4, *oj); BOOST_TEST_EQ(4, *oj);
optional<MoveOnly> o_; optional<MoveOnly> o_;
optional<int> oi_ = boost::move(o_).map(get_val); optional<int> oi_ = boost::move(o_).map(get_val);
BOOST_TEST(!oi_); BOOST_TEST(!oi_);
@ -126,16 +126,16 @@ void test_map_optional()
optional<int> o9 (9), o0 (0), o_; optional<int> o9 (9), o0 (0), o_;
verify_type<optional<optional<Int> > >(o9.map(make_opt_int)); verify_type<optional<optional<Int> > >(o9.map(make_opt_int));
optional<optional<Int> > oo9 = o9.map(make_opt_int); optional<optional<Int> > oo9 = o9.map(make_opt_int);
BOOST_TEST(bool(oo9)); BOOST_TEST(bool(oo9));
BOOST_TEST(bool(*oo9)); BOOST_TEST(bool(*oo9));
BOOST_TEST_EQ(9, (**oo9).i); BOOST_TEST_EQ(9, (**oo9).i);
optional<optional<Int> > oo0 = o0.map(make_opt_int); optional<optional<Int> > oo0 = o0.map(make_opt_int);
BOOST_TEST(bool(oo0)); BOOST_TEST(bool(oo0));
BOOST_TEST(!*oo0); BOOST_TEST(!*oo0);
optional<optional<Int> > oo_ = o_.map(make_opt_int); optional<optional<Int> > oo_ = o_.map(make_opt_int);
BOOST_TEST(!oo_); BOOST_TEST(!oo_);
} }
void test_map_with_lambda() void test_map_with_lambda()
@ -178,7 +178,7 @@ void test_map_optional_ref()
int main() int main()
{ {
#if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES) #if (!defined BOOST_NO_CXX11_REF_QUALIFIERS) && (!defined BOOST_OPTIONAL_DETAIL_NO_RVALUE_REFERENCES)
test_map_move_only(); test_map_move_only();
#endif #endif
test_map_with_lambda(); test_map_with_lambda();