2
0
mirror of https://github.com/boostorg/tti.git synced 2026-01-26 19:12:11 +00:00
Files
tti/test/test_mf_has_template_compile.cpp
Edward Diener d3594aa3f2 Change to boost::tti and BOOST_TTI
[SVN r68796]
2011-02-12 02:26:27 +00:00

84 lines
2.3 KiB
C++

#include "test_mf_has_template.hpp"
#include <boost/mpl/assert.hpp>
int main()
{
using namespace boost::mpl::placeholders;
// You can always instantiate without compiler errors
boost::tti::mf_has_template
<
boost::tti::has_template_TemplateNotExist<_>,
boost::tti::MT_BType<AType>
> aVar;
boost::tti::mf_has_template
<
boost::tti::mtfc_has_template_ATPMemberTemplate,
boost::mpl::identity<AnotherType>
> aVar2;
// Compile time asserts
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::HaveMStr<_>,
boost::tti::member_type_AStructType<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::has_template_ATPMemberTemplate<_>,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::HaveCL<_>,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::has_template_SimpleTMP<_>,
boost::mpl::identity<AnotherType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::MetaHaveMStr,
boost::tti::member_type_AStructType<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::mtfc_has_template_ATPMemberTemplate,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::MFClassHaveCL,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((boost::tti::mf_has_template
<
boost::tti::mtfc_has_template_SimpleTMP,
boost::mpl::identity<AnotherType>
>
));
return 0;
}