forked from boostorg/mp11
Bump msvc version checks from <= 1910 to < 1920
This commit is contained in:
@@ -67,7 +67,7 @@ template<template<class...> class F, class... L> struct mp_transform_impl
|
||||
|
||||
template<template<class...> class F, template<class...> class L, class... T> struct mp_transform_impl<F, L<T...>>
|
||||
{
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
template<class... U> struct f { using type = F<U...>; };
|
||||
|
||||
@@ -82,7 +82,7 @@ template<template<class...> class F, template<class...> class L, class... T> str
|
||||
|
||||
template<template<class...> class F, template<class...> class L1, class... T1, template<class...> class L2, class... T2> struct mp_transform_impl<F, L1<T1...>, L2<T2...>>
|
||||
{
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
template<class... U> struct f { using type = F<U...>; };
|
||||
|
||||
@@ -97,7 +97,7 @@ template<template<class...> class F, template<class...> class L1, class... T1, t
|
||||
|
||||
template<template<class...> class F, template<class...> class L1, class... T1, template<class...> class L2, class... T2, template<class...> class L3, class... T3> struct mp_transform_impl<F, L1<T1...>, L2<T2...>, L3<T3...>>
|
||||
{
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
template<class... U> struct f { using type = F<U...>; };
|
||||
|
||||
@@ -164,7 +164,7 @@ template<template<class...> class P, template<class...> class F, class... L> str
|
||||
using Qp = mp_quote<P>;
|
||||
using Qf = mp_quote<F>;
|
||||
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
template<class... U> struct _f_ { using type = mp_eval_if_q<mp_not<mp_invoke<Qp, U...>>, mp_first<mp_list<U...>>, Qf, U...>; };
|
||||
template<class... U> using _f = typename _f_<U...>::type;
|
||||
@@ -419,7 +419,7 @@ template<class L, template<class...> class P> struct mp_copy_if_impl;
|
||||
|
||||
template<template<class...> class L, class... T, template<class...> class P> struct mp_copy_if_impl<L<T...>, P>
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
template<class U> struct _f { using type = mp_if<P<U>, mp_list<U>, mp_list<>>; };
|
||||
using type = mp_append<L<>, typename _f<T>::type...>;
|
||||
#else
|
||||
@@ -440,7 +440,7 @@ template<class L, class V> struct mp_remove_impl;
|
||||
|
||||
template<template<class...> class L, class... T, class V> struct mp_remove_impl<L<T...>, V>
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
template<class U> struct _f { using type = mp_if<std::is_same<U, V>, mp_list<>, mp_list<U>>; };
|
||||
using type = mp_append<L<>, typename _f<T>::type...>;
|
||||
#else
|
||||
@@ -461,7 +461,7 @@ template<class L, template<class...> class P> struct mp_remove_if_impl;
|
||||
|
||||
template<template<class...> class L, class... T, template<class...> class P> struct mp_remove_if_impl<L<T...>, P>
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
template<class U> struct _f { using type = mp_if<P<U>, mp_list<>, mp_list<U>>; };
|
||||
using type = mp_append<L<>, typename _f<T>::type...>;
|
||||
#else
|
||||
|
@@ -65,7 +65,7 @@ template<class Q, class... T> using mp_bind_q = mp_bind<Q::template fn, T...>;
|
||||
// mp_bind_front
|
||||
template<template<class...> class F, class... T> struct mp_bind_front
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 && BOOST_MSVC >= 1900 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 && BOOST_MSVC >= 1900 )
|
||||
#else
|
||||
private:
|
||||
#endif
|
||||
@@ -85,7 +85,7 @@ template<class Q, class... T> using mp_bind_front_q = mp_bind_front<Q::template
|
||||
// mp_bind_back
|
||||
template<template<class...> class F, class... T> struct mp_bind_back
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 && BOOST_MSVC >= 1900 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 && BOOST_MSVC >= 1900 )
|
||||
#else
|
||||
private:
|
||||
#endif
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
# define BOOST_MP11_NO_CONSTEXPR
|
||||
|
||||
#elif defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#elif defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
# define BOOST_MP11_NO_CONSTEXPR
|
||||
|
||||
|
@@ -91,7 +91,7 @@ template<template<class...> class L, class... T, template<class...> class P> str
|
||||
|
||||
template<template<class...> class L, class... T, template<class...> class P> struct mp_count_if_impl<L<T...>, P>
|
||||
{
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
template<class T> struct _f { using type = mp_to_bool<P<T>>; };
|
||||
using type = mp_size_t<mp_plus<typename _f<T>::type...>::value>;
|
||||
|
@@ -87,7 +87,7 @@ template<class... T> using mp_and = typename detail::mp_and_impl<mp_list<T...>>:
|
||||
#endif
|
||||
|
||||
// mp_all<T...>
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, <= 1910 ) || BOOST_WORKAROUND( BOOST_GCC, < 70200 )
|
||||
#if BOOST_WORKAROUND( BOOST_MSVC, < 1920 ) || BOOST_WORKAROUND( BOOST_GCC, < 70200 )
|
||||
|
||||
template<class... T> using mp_all = mp_bool< mp_count_if< mp_list<T...>, mp_not >::value == 0 >;
|
||||
|
||||
|
@@ -54,7 +54,7 @@ int main()
|
||||
|
||||
#endif
|
||||
|
||||
#if !defined( BOOST_NO_CXX14_CONSTEXPR ) && !BOOST_WORKAROUND( BOOST_MSVC, <= 1910 )
|
||||
#if !defined( BOOST_NO_CXX14_CONSTEXPR ) && !BOOST_WORKAROUND( BOOST_MSVC, < 1920 )
|
||||
|
||||
constexpr auto r1 = mp_for_each<mp_list<int, short, char>>( F{0} );
|
||||
static_assert( r1.s == 123, "r1.s == 123" );
|
||||
|
@@ -44,7 +44,7 @@ int main()
|
||||
BOOST_TEST_TRAIT_TRUE((std::is_same<R1, X<void, char, int>>));
|
||||
#endif
|
||||
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, <= 1910 && BOOST_MSVC >= 1900 )
|
||||
#if defined( BOOST_MSVC ) && BOOST_WORKAROUND( BOOST_MSVC, < 1920 && BOOST_MSVC >= 1900 )
|
||||
#else
|
||||
using R2 = Z<Q, void, char, int>;
|
||||
BOOST_TEST_TRAIT_TRUE((std::is_same<R2, X<void, char, int>>));
|
||||
|
Reference in New Issue
Block a user