]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/tti/test/test_has_type.cpp
2 // (C) Copyright Edward Diener 2011
3 // Use, modification and distribution are subject to the Boost Software License,
4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt).
7 #include "test_has_type.hpp"
8 #include <boost/detail/lightweight_test.hpp>
13 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnIntType
)<AType
>::value
);
14 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference
)<AType
>::value
);
15 BOOST_TEST(NameStruct
<AType
>::value
);
16 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(BType
)<AType
>::value
);
17 BOOST_TEST(TheInteger
<AType::BType
>::value
);
18 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(CType
)<AType::BType
>::value
);
19 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnotherIntegerType
)<AType::BType::CType
>::value
);
20 BOOST_TEST(SomethingElse
<AnotherType
>::value
);
21 BOOST_TEST(!BOOST_TTI_HAS_TYPE_GEN(NoOtherType
)<AnotherType
>::value
);
23 BOOST_TEST(EInB
<AType::BType
>::value
);
24 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnEnumTtype
)<AType
>::value
);
25 BOOST_TEST(AnotherE
<AnotherType
>::value
);
27 #if !defined(BOOST_NO_CXX11_SCOPED_ENUMS)
29 BOOST_TEST(EClass
<AType
>::value
);
30 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnotherEnumClassType
)<AnotherType
>::value
);
34 BOOST_TEST(!EClass
<AType
>::value
);
35 BOOST_TEST(!BOOST_TTI_HAS_TYPE_GEN(AnotherEnumClassType
)<AnotherType
>::value
);
39 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(CTypeUnion
)<AType::BType::CType
>::value
);
40 BOOST_TEST(SimpleUT
<AType
>::value
);
41 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(AnotherUnion
)<AnotherType
>::value
);
43 BOOST_TEST(UnionType
<AType::AnUnion
>::value
);
44 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(UEnumV
)<AType::AnUnion
>::value
);
45 BOOST_TEST(BOOST_TTI_HAS_TYPE_GEN(InnerUnion
)<AnotherType::AnotherUnion
>::value
);
47 // Passing non-class enclosing type will return false
49 BOOST_TEST(!BOOST_TTI_HAS_TYPE_GEN(AnIntTypeReference
)<signed long>::value
);
50 BOOST_TEST(!NameStruct
<AType
&>::value
);
52 return boost::report_errors();