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

148 lines
4.8 KiB
C++

#include "TestMFHasMemberData.hpp"
#include <boost/mpl/assert.hpp>
int main()
{
using namespace boost::mpl::placeholders;
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::has_member_data_AnInt<_,_>,
boost::mpl::identity<AType>,
boost::mpl::identity<int>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::has_member_data_AnInt<_,_>,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<long>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::has_member_data_aMember<_,_>,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<bool>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::CMember<_,_>,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<bool>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::has_member_data_IntBT<_,_>,
boost::mpl::identity<AType>,
tti::member_type_BType<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::NestedData<_,_>,
boost::mpl::identity<AType>,
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::AOther<_,_>,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::has_member_data_ONestStr<_,_>,
boost::mpl::identity<AnotherType>,
tti::member_type_AStructType<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::mtfc_has_member_data_AnInt,
boost::mpl::identity<AType>,
boost::mpl::identity<int>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::mtfc_has_member_data_AnInt,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<long>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::mtfc_has_member_data_aMember,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<bool>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::MFCMember,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<bool>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::mtfc_has_member_data_IntBT,
boost::mpl::identity<AType>,
tti::member_type_BType<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::MFNestedData,
boost::mpl::identity<AType>,
tti::mf_member_type
<
tti::mtfc_member_type_CType,
tti::member_type_BType<AType>
>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::MFAOther,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_data
<
tti::mtfc_has_member_data_ONestStr,
boost::mpl::identity<AnotherType>,
tti::member_type_AStructType<AType>
>
));
return 0;
}