2
0
mirror of https://github.com/boostorg/tti.git synced 2026-01-26 07:02:14 +00:00
Files
tti/test/TestVMMFHasTemplateCheckParams.cpp
Edward Diener c88ecb20fb Added support for metafunction classes
[SVN r68720]
2011-02-08 16:13:22 +00:00

112 lines
3.0 KiB
C++

#include "TestVMMFHasTemplateCheckParams.hpp"
#include <boost/detail/lightweight_test.hpp>
int main()
{
#if !defined(BOOST_NO_VARIADIC_MACROS)
using namespace boost::mpl::placeholders;
BOOST_TEST((tti::mf_has_template_check_params
<
tti::HT_Str<_>,
tti::member_type_AStructType<AType>
>
::value
));
BOOST_TEST((tti::mf_has_template_check_params
<
tti::has_template_check_params_AnotherMemberTemplate<_>,
boost::mpl::identity<AType>
>
::value
));
BOOST_TEST((!tti::mf_has_template_check_params
<
tti::WrongParametersForMP<_>,
boost::mpl::identity<AnotherType>
>
::value
));
BOOST_TEST((tti::mf_has_template_check_params
<
tti::has_template_check_params_CTManyParameters<_>,
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::MT_BType<AType>
>
>
::value
));
BOOST_TEST((!tti::mf_has_template_check_params
<
tti::has_template_check_params_TemplateNotExist<_>,
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::MT_BType<AType>
>
>
::value
));
BOOST_TEST((tti::mf_has_template_check_params
<
tti::MF_HT_Str,
tti::member_type_AStructType<AType>
>
::value
));
BOOST_TEST((tti::mf_has_template_check_params
<
tti::mtfc_has_template_check_params_AnotherMemberTemplate,
boost::mpl::identity<AType>
>
::value
));
BOOST_TEST((!tti::mf_has_template_check_params
<
tti::AllWrongParametersForMP,
boost::mpl::identity<AnotherType>
>
::value
));
BOOST_TEST((tti::mf_has_template_check_params
<
tti::mtfc_has_template_check_params_CTManyParameters,
tti::mf_member_type
<
tti::member_type_CType<_>,
tti::MT_BType<AType>
>
>
::value
));
BOOST_TEST((!tti::mf_has_template_check_params
<
tti::mtfc_has_template_check_params_TemplateNotExist,
tti::mf_member_type
<
tti::mtfc_member_type_CType,
tti::MT_BType<AType>
>
>
::value
));
#endif //!defined(BOOST_NO_VARIADIC_MACROS)
return boost::report_errors();
}