Move sp_typeinfo to core; add BOOST_TEST_TRAIT_*; add core::is_same; add more tests using those.

This commit is contained in:
Peter Dimov
2014-06-06 02:34:46 +03:00
parent 658aa6205c
commit f2c658c6a3
11 changed files with 496 additions and 117 deletions

View File

@@ -32,6 +32,26 @@ void f( bool x )
}
}
template<class T1, class T2> struct Y1
{
enum { value = 1 };
};
template<class T1, class T2> struct Y2
{
enum { value = 0 };
};
struct X1
{
typedef int type;
};
struct X2
{
typedef int type;
};
int main()
{
int x = 0;
@@ -68,7 +88,13 @@ int main()
BOOST_TEST_THROWS( f(true), X );
BOOST_TEST_THROWS( f(false), int );
//
// BOOST_TEST_TRAIT_TRUE
BOOST_TEST_TRAIT_TRUE(( Y1<X1::type, X2::type> ));
// BOOST_TEST_TRAIT_FALSE
BOOST_TEST_TRAIT_FALSE(( Y2<X1::type, X2::type> ));
return boost::report_errors();
}