// Copyright 2017 Peter Dimov. // // Distributed under the Boost Software License, Version 1.0. // // See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt #include #include #include #include #include #include #include struct X1 {}; struct X2 {}; struct X3 {}; struct X4 {}; struct X5 {}; struct X6 {}; struct X7 {}; struct X8 {}; struct X9 {}; template using add_pointer = T*; int main() { using namespace boost::mp11; BOOST_TEST_TRAIT_TRUE((std::is_same<_1::fn, X1>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_1::fn, X1>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_2::fn, X2>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_2::fn, X2>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_3::fn, X3>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_3::fn, X3>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_4::fn, X4>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_4::fn, X4>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_5::fn, X5>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_5::fn, X5>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_6::fn, X6>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_6::fn, X6>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_7::fn, X7>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_7::fn, X7>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_8::fn, X8>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_8::fn, X8>)); BOOST_TEST_TRAIT_TRUE((std::is_same<_9::fn, X9>)); // BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X1*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X1*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X2*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X2*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X3*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X3*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X4*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X4*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X5*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X5*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X6*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X6*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X7*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X7*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X8*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X8*>)); BOOST_TEST_TRAIT_TRUE((std::is_same::fn, X9*>)); // BOOST_TEST_TRAIT_TRUE((std::is_same< mp_bind, mp_bind, mp_bind, mp_bind, mp_bind, mp_bind, mp_bind, mp_bind, mp_bind >::fn, std::tuple>)); // return boost::report_errors(); }