#include "test_mf_has_static_function.hpp" #include int main() { using namespace boost::mpl::placeholders; // You can always instantiate without compiler errors boost::tti::mf_has_static_member_function < boost::tti::HaveTheSIntFunction<_,_,_>, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity > > aVar; boost::tti::mf_has_static_member_function < boost::tti::MTFCPickedname, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector > > aVar2; // Compile time asserts BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::HaveTheSIntFunction<_,_,_>, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity > > )); BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::TheTIntFunction<_,_,_>, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity > > )); BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::has_static_member_function_TSFunction<_,_,_>, boost::mpl::identity, boost::tti::member_type_AStructType, boost::mpl::vector < boost::tti::NameIntType, boost::mpl::identity > > )); BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::MFHaveTheSIntFunction, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity > > )); BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::MFCTheTIntFunction, boost::mpl::identity, boost::mpl::identity, boost::mpl::vector < boost::mpl::identity, boost::mpl::identity > > )); BOOST_MPL_ASSERT((boost::tti::mf_has_static_member_function < boost::tti::mtfc_has_static_member_function_TSFunction, boost::mpl::identity, boost::tti::member_type_AStructType, boost::mpl::vector < boost::tti::NameIntType, boost::mpl::identity > > )); return 0; }