2
0
mirror of https://github.com/boostorg/tti.git synced 2026-01-25 06:42:25 +00:00
Files
tti/test/TestMFMemberTypeCompile.cpp
Edward Diener c88ecb20fb Added support for metafunction classes
[SVN r68720]
2011-02-08 16:13:22 +00:00

180 lines
5.6 KiB
C++

#include "TestMFMemberType.hpp"
#include <boost/mpl/assert.hpp>
int main()
{
using namespace boost::mpl::placeholders;
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::member_type_AnIntType<_>,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::NameStruct<_>,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::member_type_AnIntTypeReference<_>,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::member_type_BType<_>,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::TheInteger<_>,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::member_type_AnotherIntegerType<_>,
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::member_type_BType<AType>
>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::SomethingElse<_>,
boost::mpl::identity<AnotherType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::mtfc_member_type_AnIntType,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::MFNameStruct,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::mtfc_member_type_AnIntTypeReference,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::mtfc_member_type_BType,
boost::mpl::identity<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::MFTheInteger,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::mtfc_member_type_CType,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::mtfc_member_type_AnotherIntegerType,
tti::mf_member_type
<
tti::mtfc_member_type_CType,
tti::member_type_BType<AType>
>
>
>
));
BOOST_MPL_ASSERT((tti::mf_valid_member_type
<
tti::mf_member_type
<
tti::MetaClSomethingElse,
boost::mpl::identity<AnotherType>
>
>
));
return 0;
}