// 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 struct X1 {}; struct X2 {}; struct X3 {}; struct X4 {}; struct X5 {}; struct X6 {}; struct X7 {}; struct X8 {}; struct X9 {}; template using add_pointer = typename std::add_pointer::type; int main() { using namespace boost::mp11; using Q_addp = mp_quote; 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*>)); // return boost::report_errors(); }