]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/tti/test/test_has_mem_fun.cpp
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).
7 #include "test_has_mem_fun.hpp"
8 #include <boost/detail/lightweight_test.hpp>
13 BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction
)<AType
,void>::value
));
14 BOOST_TEST((FunctionReturningInt
<AType
,int>::value
));
15 BOOST_TEST((FunctionReturningInt
<AnotherType
,double,boost::mpl::vector
<int> >::value
));
16 BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(aFunction
)<AnotherType
,AType
,boost::mpl::vector
<int> >::value
));
17 BOOST_TEST((AnotherIntFunction
<AnotherType
,int,boost::mpl::vector
<AType
> >::value
));
18 BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(sFunction
)<AnotherType
,AType::AnIntType
,boost::mpl::vector
<int,long,double> >::value
));
19 BOOST_TEST((!BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(someFunctionMember
)<AnotherType
,AType
,boost::mpl::vector
<long,int> >::value
));
21 BOOST_TEST((BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(CMemberFunction
)<AType::BType::CType::CTypeUnion
,void,boost::mpl::vector
<int> >::value
));
23 // Test enclosing class as non-class type
25 BOOST_TEST((!AnotherIntFunction
<short,int,boost::mpl::vector
<AType
> >::value
));
26 BOOST_TEST((!BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(VoidFunction
)<unsigned,void>::value
));
27 BOOST_TEST((!BOOST_TTI_HAS_MEMBER_FUNCTION_GEN(sFunction
)<AnotherType
*,AType::AnIntType
,boost::mpl::vector
<int,long,double> >::value
));
28 BOOST_TEST((!FunctionReturningInt
<float ***,int>::value
));
30 return boost::report_errors();