From 74ea8bdfda52949982dac8c0b524f47865d94499 Mon Sep 17 00:00:00 2001 From: Matt Borland Date: Tue, 16 Feb 2021 14:54:39 +0300 Subject: [PATCH] Add mp_at and mp_find_if [ci skip] --- include/boost/math/tools/mp.hpp | 147 +++++++++++++++++-- test/test_policy.cpp | 252 ++++++++++++++++---------------- test/test_policy_2.cpp | 28 ++-- test/test_policy_3.cpp | 28 ++-- test/test_policy_4.cpp | 28 ++-- test/test_policy_5.cpp | 28 ++-- test/test_policy_6.cpp | 28 ++-- test/test_policy_7.cpp | 6 +- test/test_policy_8.cpp | 6 +- 9 files changed, 335 insertions(+), 216 deletions(-) diff --git a/include/boost/math/tools/mp.hpp b/include/boost/math/tools/mp.hpp index a5e81e217..9a4177ee3 100644 --- a/include/boost/math/tools/mp.hpp +++ b/include/boost/math/tools/mp.hpp @@ -15,6 +15,22 @@ namespace boost { namespace math { namespace tools { +// Types: +// Typelist +template +struct mp_list {}; + +// Size_t +template +using mp_size_t = std::integral_constant; + +// Boolean +template +using mp_bool = std::integral_constant; + + + + namespace detail { // Size @@ -47,6 +63,97 @@ struct mp_back_impl> using type = B; }; +// At +// TODO - Use tree based lookup for larger typelists +// http://odinthenerd.blogspot.com/2017/04/tree-based-lookup-why-kvasirmpl-is.html +template +struct mp_at {}; + +template class L, typename T0, typename... T> +struct mp_at, 0> +{ + using type = T0; +}; + +template class L, typename T0, typename T1, typename... T> +struct mp_at, 1> +{ + using type = T1; +}; + +template class L, typename T0, typename T1, typename T2, typename... T> +struct mp_at, 2> +{ + using type = T2; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename... T> +struct mp_at, 3> +{ + using type = T3; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename... T> +struct mp_at, 4> +{ + using type = T4; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename... T> +struct mp_at, 5> +{ + using type = T5; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename... T> +struct mp_at, 6> +{ + using type = T6; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename... T> +struct mp_at, 7> +{ + using type = T7; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename T8, typename... T> +struct mp_at, 8> +{ + using type = T8; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename T8, typename T9, typename... T> +struct mp_at, 9> +{ + using type = T9; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename T8, typename T9, typename T10, typename... T> +struct mp_at, 10> +{ + using type = T10; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename T8, typename T9, typename T10, typename T11, typename... T> +struct mp_at, 11> +{ + using type = T11; +}; + +template class L, typename T0, typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, + typename T7, typename T8, typename T9, typename T10, typename T11, typename T12, typename... T> +struct mp_at, 12> +{ + using type = T12; +}; + // Push back template struct mp_push_back_impl {}; @@ -67,24 +174,33 @@ struct mp_push_front_impl, T...> using type = L; }; +// Find if +template +constexpr std::size_t find_index(const Iter first, const Iter last) +{ + return first == last || *first ? 0 : 1 + find_index(first + 1, last); +} + +template class P> +struct mp_find_if_impl {}; + +template class L, template class P> +struct mp_find_if_impl, P> +{ + using type = mp_size_t<0>; +}; + +template class L, typename... T, template class P> +struct mp_find_if_impl, P> +{ + static constexpr bool v[] = {P::value...}; + using type = mp_size_t; +}; + } // namespace detail -// Types: -// Typelist -template -struct mp_list {}; - -// Size_t -template -using mp_size_t = std::integral_constant; - -// Boolean -template -using mp_bool = std::integral_constant; - - // User Interfaces template @@ -102,6 +218,9 @@ using mp_push_back = typename detail::mp_push_back_impl::type; template using mp_push_front = typename detail::mp_push_front_impl::type; +template class P> +using mp_find_if = typename detail::mp_find_if_impl::type; + }}} // namespaces #endif // BOOST_MATH_TOOLS_MP diff --git a/test/test_policy.cpp b/test/test_policy.cpp index 05ac4b778..62a467621 100644 --- a/test/test_policy.cpp +++ b/test/test_policy.cpp @@ -7,20 +7,20 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #define BOOST_TEST_MAIN #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -35,140 +35,140 @@ BOOST_AUTO_TEST_CASE( test_main ) BOOST_CHECK(is_digits10 >::value); BOOST_CHECK(0 == is_digits10 >::value); - BOOST_CHECK((is_same::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same >::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); - BOOST_CHECK((is_same >::precision_type, digits2<20> >::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); + BOOST_CHECK((std::is_same >::precision_type, digits2<20> >::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type >::value)); - BOOST_CHECK((is_same >::promote_float_type, promote_float >::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type >::value)); + BOOST_CHECK((std::is_same >::promote_float_type, promote_float >::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type >::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, promote_double >::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type >::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, promote_double >::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); - BOOST_CHECK((is_same >::domain_error_type, policy<>::domain_error_type >::value)); - BOOST_CHECK((is_same >::pole_error_type, policy<>::pole_error_type >::value)); - BOOST_CHECK((is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); - BOOST_CHECK((is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); - BOOST_CHECK((is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); - BOOST_CHECK((is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); - BOOST_CHECK((is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); - BOOST_CHECK((is_same >::precision_type, policy<>::precision_type >::value)); - BOOST_CHECK((is_same >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same >::discrete_quantile_type, discrete_quantile >::value)); + BOOST_CHECK((std::is_same >::domain_error_type, policy<>::domain_error_type >::value)); + BOOST_CHECK((std::is_same >::pole_error_type, policy<>::pole_error_type >::value)); + BOOST_CHECK((std::is_same >::overflow_error_type, policy<>::overflow_error_type >::value)); + BOOST_CHECK((std::is_same >::underflow_error_type, policy<>::underflow_error_type >::value)); + BOOST_CHECK((std::is_same >::denorm_error_type, policy<>::denorm_error_type >::value)); + BOOST_CHECK((std::is_same >::evaluation_error_type, policy<>::evaluation_error_type >::value)); + BOOST_CHECK((std::is_same >::indeterminate_result_error_type, policy<>::indeterminate_result_error_type >::value)); + BOOST_CHECK((std::is_same >::precision_type, policy<>::precision_type >::value)); + BOOST_CHECK((std::is_same >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same >::discrete_quantile_type, discrete_quantile >::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_2.cpp b/test/test_policy_2.cpp index b86bad456..83a64bbf2 100644 --- a/test/test_policy_2.cpp +++ b/test/test_policy_2.cpp @@ -7,19 +7,19 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -28,17 +28,17 @@ BOOST_AUTO_TEST_CASE( test_main ) using namespace boost::math::policies; using namespace boost; - BOOST_CHECK((is_same, overflow_error >::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same, overflow_error >::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same, overflow_error >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same, overflow_error >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same, overflow_error >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same, overflow_error >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same, overflow_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same, overflow_error >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same, overflow_error >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same, overflow_error >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same, overflow_error >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same, overflow_error >::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same, overflow_error >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same, overflow_error >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same, overflow_error >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same, overflow_error >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_3.cpp b/test/test_policy_3.cpp index 4d9061a37..5e103b1c9 100644 --- a/test/test_policy_3.cpp +++ b/test/test_policy_3.cpp @@ -7,20 +7,20 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #define BOOST_TEST_MAIN #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -29,17 +29,17 @@ BOOST_AUTO_TEST_CASE( test_main ) using namespace boost::math::policies; using namespace boost; - BOOST_CHECK((is_same, domain_error >::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same, domain_error >::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same, domain_error >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same, domain_error >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same, domain_error >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same, domain_error >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same, domain_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same, domain_error >::precision_type, policy<>::precision_type>::value)); - BOOST_CHECK((is_same, domain_error >::promote_float_type, policy<>::promote_float_type>::value)); - BOOST_CHECK((is_same, domain_error >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same, domain_error >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); + BOOST_CHECK((std::is_same, domain_error >::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same, domain_error >::precision_type, policy<>::precision_type>::value)); + BOOST_CHECK((std::is_same, domain_error >::promote_float_type, policy<>::promote_float_type>::value)); + BOOST_CHECK((std::is_same, domain_error >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same, domain_error >::discrete_quantile_type, policy<>::discrete_quantile_type>::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_4.cpp b/test/test_policy_4.cpp index 270756d95..a4839bda7 100644 --- a/test/test_policy_4.cpp +++ b/test/test_policy_4.cpp @@ -7,19 +7,19 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -28,17 +28,17 @@ BOOST_AUTO_TEST_CASE( test_main ) using namespace boost::math::policies; using namespace boost; - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::precision_type, digits2<20> >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::promote_float_type, promote_float >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error >::discrete_quantile_type, discrete_quantile >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::precision_type, digits2<20> >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::promote_float_type, promote_float >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error >::discrete_quantile_type, discrete_quantile >::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_5.cpp b/test/test_policy_5.cpp index ed3ee17e0..7862d3a57 100644 --- a/test/test_policy_5.cpp +++ b/test/test_policy_5.cpp @@ -7,20 +7,20 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #define BOOST_TEST_MAIN #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -29,17 +29,17 @@ BOOST_AUTO_TEST_CASE( test_main ) using namespace boost::math::policies; using namespace boost; - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::precision_type, digits2<20> >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::promote_float_type, promote_float >::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::discrete_quantile_type, discrete_quantile >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::precision_type, digits2<20> >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::promote_float_type, promote_float >::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same, promote_float, discrete_quantile, denorm_error, domain_error > >::type::discrete_quantile_type, discrete_quantile >::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_6.cpp b/test/test_policy_6.cpp index a5531d6b4..eaa0d2093 100644 --- a/test/test_policy_6.cpp +++ b/test/test_policy_6.cpp @@ -7,19 +7,19 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } @@ -28,17 +28,17 @@ BOOST_AUTO_TEST_CASE( test_main ) using namespace boost::math::policies; using namespace boost; - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::domain_error_type, domain_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::pole_error_type, pole_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::overflow_error_type, overflow_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::underflow_error_type, underflow_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::denorm_error_type, denorm_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::evaluation_error_type, evaluation_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::indeterminate_result_error_type, indeterminate_result_error >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::precision_type, digits2<20> >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::promote_float_type, promote_float >::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::promote_double_type, policy<>::promote_double_type>::value)); - BOOST_CHECK((is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::discrete_quantile_type, discrete_quantile >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::domain_error_type, domain_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::pole_error_type, pole_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::overflow_error_type, overflow_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::underflow_error_type, underflow_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::denorm_error_type, denorm_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::evaluation_error_type, evaluation_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::indeterminate_result_error_type, indeterminate_result_error >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::precision_type, digits2<20> >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::promote_float_type, promote_float >::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::promote_double_type, policy<>::promote_double_type>::value)); + BOOST_CHECK((std::is_same, digits2<20>, promote_float, discrete_quantile, denorm_error, domain_error >::type::discrete_quantile_type, discrete_quantile >::value)); } // BOOST_AUTO_TEST_CASE( test_main ) diff --git a/test/test_policy_7.cpp b/test/test_policy_7.cpp index 99792ceae..b8501cfe3 100644 --- a/test/test_policy_7.cpp +++ b/test/test_policy_7.cpp @@ -7,20 +7,20 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #define BOOST_TEST_MAIN #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; } diff --git a/test/test_policy_8.cpp b/test/test_policy_8.cpp index 96d5e4e3a..14a2897ad 100644 --- a/test/test_policy_8.cpp +++ b/test/test_policy_8.cpp @@ -7,19 +7,19 @@ // or copy at http://www.boost.org/LICENSE_1_0.txt) #include -#include #include // for test_main #include +#include template bool check_same(const P1&, const P2&) { - if(!boost::is_same::value) + if(!std::is_same::value) { std::cout << "P1 = " << typeid(P1).name() << std::endl; std::cout << "P2 = " << typeid(P2).name() << std::endl; } - return boost::is_same::value; + return std::is_same::value; }