// (C) Copyright Tobias Schwinger // // Use modification and distribution are subject to the boost Software License, // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt). //------------------------------------------------------------------------------ #include #include #include #include #include #include #include #include using namespace boost; namespace ft = function_types; using boost::mpl::placeholders::_; class C; typedef C (C::*mem_func_ptr)(); class X; BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::components > ,1 >::type, C* > )); BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::components > > ,1 >::type, C** > )); BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::components > ,1 >::type, X > )); BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::parameter_types > ,0 >::type, C* > )); BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::parameter_types > > ,0 >::type, C** > )); BOOST_MPL_ASSERT(( is_same< mpl::at_c< ft::parameter_types > ,0 >::type, X > ));