1 2 // (C) Copyright Tobias Schwinger 3 // 4 // Use modification and distribution are subject to the boost Software License, 5 // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). 6 7 //------------------------------------------------------------------------------ 8 9 #include <boost/mpl/assert.hpp> 10 #include <boost/mpl/vector.hpp> 11 #include <boost/type_traits/is_same.hpp> 12 #include <boost/function_types/member_function_pointer.hpp> 13 14 namespace ft = boost::function_types; 15 namespace mpl = boost::mpl; 16 using boost::is_same; 17 18 class C; 19 typedef int (C::* expected)(); 20 21 BOOST_MPL_ASSERT(( 22 is_same< ft::member_function_pointer< mpl::vector<int,C * const> >::type 23 , expected > 24 )); 25 26 BOOST_MPL_ASSERT(( 27 is_same< ft::member_function_pointer< mpl::vector<int,C * volatile> >::type 28 , expected > 29 )); 30 31 BOOST_MPL_ASSERT(( 32 is_same< ft::member_function_pointer< mpl::vector<int,C * const volatile> >::type 33 , expected > 34 )); 35 36 37 38