Some minor tweaks to C++17 and C++2a components

        * include/std/any (any::any(ValueType&&)): Use __and_v.
        * include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
        Likewise.

Tested powerpc64le-linux, committed to trunk.

commit b31d88f0da87ad6d07f012deb51756a5ade7883a
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Apr 24 17:06:08 2019 +0100

    Use __and_v<...> instead of __and_<...>::value
    
            * include/std/any (any::any(ValueType&&)): Use __and_v.
            * include/std/numeric (midpoint(T, T, T), midpoint(T*, T*, T*)):
            Likewise.

diff --git a/libstdc++-v3/include/std/any b/libstdc++-v3/include/std/any
index 29fe03e2b82..8cbabdddd9b 100644
--- a/libstdc++-v3/include/std/any
+++ b/libstdc++-v3/include/std/any
@@ -189,9 +189,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     /// Construct with a copy of @p __value as the contained object.
     template <typename _ValueType, typename _Tp = _Decay<_ValueType>,
              typename _Mgr = _Manager<_Tp>,
-              enable_if_t<__and_<is_copy_constructible<_Tp>,
-                                __not_<is_constructible<_Tp, _ValueType&&>>,
-                                __not_<__is_in_place_type<_Tp>>>::value,
+              enable_if_t<__and_v<is_copy_constructible<_Tp>,
+                                 __not_<is_constructible<_Tp, _ValueType&&>>,
+                                 __not_<__is_in_place_type<_Tp>>>,
                          bool> = false>
       any(_ValueType&& __value)
       : _M_manager(&_Mgr::_S_manage)
diff --git a/libstdc++-v3/include/std/numeric b/libstdc++-v3/include/std/numeric
index ffd9eae9691..4858ad1aea3 100644
--- a/libstdc++-v3/include/std/numeric
+++ b/libstdc++-v3/include/std/numeric
@@ -162,8 +162,8 @@ namespace __detail
 
 template<typename _Tp>
     constexpr
-    enable_if_t<__and_<is_arithmetic<_Tp>, is_same<remove_cv_t<_Tp>, _Tp>,
-                      __not_<is_same<_Tp, bool>>>::value,
+    enable_if_t<__and_v<is_arithmetic<_Tp>, is_same<remove_cv_t<_Tp>, _Tp>,
+                       __not_<is_same<_Tp, bool>>>,
                _Tp>
     midpoint(_Tp __a, _Tp __b) noexcept
     {
@@ -192,8 +192,7 @@ template<typename _Tp>
 
   template<typename _Tp>
     constexpr
-    enable_if_t<__and_<is_object<_Tp>, bool_constant<sizeof(_Tp) != 0>>::value,
-               _Tp*>
+    enable_if_t<__and_v<is_object<_Tp>, bool_constant<sizeof(_Tp) != 0>>, _Tp*>
     midpoint(_Tp* __a, _Tp* __b) noexcept
     {
       return __a > __b ? __b + (__a - __b) / 2 : __a + (__b - __a) / 2;

Reply via email to