// 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 #if BOOST_MP11_MSVC # pragma warning( disable: 4503 ) // decorated name length exceeded #endif #include #include #include #include #include int main() { using boost::mp11::mp_same; using boost::mp11::mp_true; using boost::mp11::mp_false; BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_true>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_false>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_false>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_false>)); BOOST_TEST_TRAIT_TRUE((std::is_same, mp_false>)); using boost::mp11::mp_repeat_c; using boost::mp11::mp_list; using boost::mp11::mp_apply; int const N = 1024; using L = mp_repeat_c, N>; using R = mp_apply; BOOST_TEST_TRAIT_TRUE((std::is_same)); return boost::report_errors(); }