// (C) Copyright Edward Diener 2019 // Use, modification and distribution are subject to the Boost Software License, // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt). #include "test_has_fun_template.hpp" #include int main() { // You can always instantiate without compiler errors Sftem > aVar; BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(Nonexistent) > aVar2; NotExist > aVar3; BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(StatFuncTemplate),boost::function_types::const_qualified> aVar4; BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(StatFuncTemplate) >)); BOOST_MPL_ASSERT((Sftem >)); BOOST_MPL_ASSERT((AnFT >)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(AFuncTemplate) >)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(FTHasDef) >)); BOOST_MPL_ASSERT((ACFunTem,boost::function_types::const_qualified>)); BOOST_MPL_ASSERT((WConstFT,boost::function_types::const_qualified>)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(AVolatileFT),boost::function_types::volatile_qualified>)); BOOST_MPL_ASSERT((VTempl,boost::function_types::volatile_qualified>)); BOOST_MPL_ASSERT((ACVF,boost::function_types::cv_qualified>)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(ConstVolTTFun),boost::function_types::cv_qualified>)); BOOST_MPL_ASSERT((AnotherFT >)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(MyFuncTemplate) >)); BOOST_MPL_ASSERT((VWDef,boost::function_types::volatile_qualified>)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(YetAnotherFuncTemplate) >)); BOOST_MPL_ASSERT((BOOST_TTI_HAS_FUNCTION_TEMPLATE_GEN(StaticFTWithDefault) >)); return 0; }