#include "TestMFHasMemberFunction.hpp" #include #include int main() { // You can always instantiate without compiler errors tti::mf_has_member_function < tti::FunctionReturningInt, boost::mpl::identity, boost::mpl::identity > aVar; tti::mf_has_member_function < tti::has_member_function_sFunction, boost::mpl::identity, tti::member_type_AnIntType, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity, boost::mpl::identity > > aVar2; tti::mf_has_member_function < tti::has_member_function_someFunctionMember, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity, boost::mpl::identity > > aVar3; // Compile time asserts BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::has_member_function_VoidFunction, boost::mpl::identity, boost::mpl::identity > )); BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::FunctionReturningInt, boost::mpl::identity, boost::mpl::identity > )); BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::FunctionReturningInt, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector > > )); BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::has_member_function_aFunction, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector > > )); BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::AnotherIntFunction, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector > > )); BOOST_MPL_ASSERT((tti::mf_has_member_function < tti::has_member_function_sFunction, boost::mpl::identity, tti::member_type_AnIntType, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity, boost::mpl::identity > > )); return 0; }