#include "TestMFHasTypeCheckTypedef.hpp" #include int main() { using namespace boost::mpl::placeholders; BOOST_TEST((tti::mf_has_type < tti::has_type_AnIntType<_,_>, boost::mpl::identity, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::NameStruct<_,_>, boost::mpl::identity, tti::member_type_AStructType > ::value )); BOOST_TEST((tti::mf_has_type < tti::has_type_AnIntTypeReference<_,_>, boost::mpl::identity, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::has_type_BType<_,_>, boost::mpl::identity, tti::member_type_BType > ::value )); BOOST_TEST((tti::mf_has_type < tti::TheInteger<_,_>, tti::member_type_BType, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::has_type_CType<_,_>, tti::member_type_BType, tti::mf_member_type < tti::member_type_CType<_>, tti::member_type_BType > > ::value )); BOOST_TEST((tti::mf_has_type < tti::has_type_AnotherIntegerType<_,_>, tti::mf_member_type < tti::mtfc_member_type_CType, tti::member_type_BType >, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::SomethingElse<_,_>, boost::mpl::identity, tti::member_type_AnIntType > ::value )); BOOST_TEST((!tti::mf_has_type < tti::has_type_NoOtherType<_,_>, boost::mpl::identity, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::mtfc_has_type_AnIntType, boost::mpl::identity, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::MFunctionNameStruct, boost::mpl::identity, tti::member_type_AStructType > ::value )); BOOST_TEST((tti::mf_has_type < tti::mtfc_has_type_AnIntTypeReference, boost::mpl::identity, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::mtfc_has_type_BType, boost::mpl::identity, tti::member_type_BType > ::value )); BOOST_TEST((tti::mf_has_type < tti::MFCTheInteger, tti::member_type_BType, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::mtfc_has_type_CType, tti::member_type_BType, tti::mf_member_type < tti::member_type_CType<_>, tti::member_type_BType > > ::value )); BOOST_TEST((tti::mf_has_type < tti::mtfc_has_type_AnotherIntegerType, tti::mf_member_type < tti::mtfc_member_type_CType, tti::member_type_BType >, boost::mpl::identity > ::value )); BOOST_TEST((tti::mf_has_type < tti::FClassSomethingElse, boost::mpl::identity, tti::member_type_AnIntType > ::value )); BOOST_TEST((!tti::mf_has_type < tti::mtfc_has_type_NoOtherType, boost::mpl::identity, boost::mpl::identity > ::value )); return boost::report_errors(); }