1 2 // (C) Copyright Edward Diener 2011 3 // Use, modification and distribution are subject to the Boost Software License, 4 // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at 5 // http://www.boost.org/LICENSE_1_0.txt). 6 7 #include "test_vm_has_template_cp.hpp" 8 #include <boost/mpl/assert.hpp> 9 main()10int main() 11 { 12 13 #if BOOST_PP_VARIADICS 14 15 // You can always instantiate without compiler errors 16 17 BOOST_TTI_HAS_TEMPLATE_GEN(TemplateNotExist)<AnotherType> aVar1; 18 19 // Compile time asserts 20 21 BOOST_MPL_ASSERT((BOOST_TTI_HAS_TEMPLATE_GEN(ATPMemberTemplate)<AType>)); 22 BOOST_MPL_ASSERT((BOOST_TTI_HAS_TEMPLATE_GEN(AMemberTemplate)<AType>)); 23 BOOST_MPL_ASSERT((BOOST_TTI_HAS_TEMPLATE_GEN(SomeMemberTemplate)<AnotherType>)); 24 BOOST_MPL_ASSERT((BOOST_TTI_HAS_TEMPLATE_GEN(SimpleTMP)<AnotherType>)); 25 26 BOOST_MPL_ASSERT((HaveCL<AType>)); 27 BOOST_MPL_ASSERT((HaveAnotherMT<AType>)); 28 BOOST_MPL_ASSERT((ATemplateWithParms<AnotherType>)); 29 30 #endif // BOOST_PP_VARIADICS 31 32 return 0; 33 34 } 35