2
0
mirror of https://github.com/boostorg/tti.git synced 2026-01-27 07:22:12 +00:00
Files
tti/test/TestMFHasMemberFunctionCompile.cpp
Edward Diener b21c8012ff Added tests
[SVN r67368]
2010-12-20 17:13:19 +00:00

95 lines
2.8 KiB
C++

#include "TestMFHasMemberFunction.hpp"
#include <boost/mpl/assert.hpp>
int main()
{
// You can always instantiate without compiler errors
tti::mf_has_member_function
<
tti::FunctionReturningInt,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<short>
> aVar;
tti::mf_has_member_function
<
tti::has_member_sFunction,
boost::mpl::identity<AnotherType>,
tti::member_type_AnIntType<AnotherType>,
boost::mpl::identity<int>,
boost::mpl::identity<long>,
boost::mpl::identity<double>
> aVar2;
tti::mf_has_member_function
<
tti::has_member_someFunctionMember,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<short>,
boost::mpl::identity<double>,
boost::mpl::identity<int>,
boost::mpl::identity<long>
> aVar3;
// Compile time asserts
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::has_member_VoidFunction,
boost::mpl::identity<AType>,
boost::mpl::identity<void>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::FunctionReturningInt,
boost::mpl::identity<AType>,
boost::mpl::identity<int>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::FunctionReturningInt,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<double>,
boost::mpl::identity<int>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::has_member_aFunction,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<AType>,
boost::mpl::identity<int>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::AnotherIntFunction,
boost::mpl::identity<AnotherType>,
boost::mpl::identity<int>,
boost::mpl::identity<AType>
>
));
BOOST_MPL_ASSERT((tti::mf_has_member_function
<
tti::has_member_sFunction,
boost::mpl::identity<AnotherType>,
tti::member_type_AnIntType<AType>,
boost::mpl::identity<int>,
boost::mpl::identity<long>,
boost::mpl::identity<double>
>
));
return 0;
}