MaskRay created this revision. Herald added a reviewer: EricWF. Herald added subscribers: cfe-commits, christof.
Repository: rCXX libc++ https://reviews.llvm.org/D45805 Files: include/type_traits Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -553,9 +553,6 @@ template <> struct __lazy_and_impl<true> : true_type {}; -template <class _Pred> -struct __lazy_and_impl<true, _Pred> : integral_constant<bool, _Pred::type::value> {}; - template <class _Hp, class ..._Tp> struct __lazy_and_impl<true, _Hp, _Tp...> : __lazy_and_impl<_Hp::type::value, _Tp...> {}; @@ -591,25 +588,19 @@ template<class _B0> struct __and_<_B0> : _B0 {}; -template<class _B0, class _B1> -struct __and_<_B0, _B1> : conditional<_B0::value, _B1, _B0>::type {}; - -template<class _B0, class _B1, class _B2, class... _Bn> -struct __and_<_B0, _B1, _B2, _Bn...> - : conditional<_B0::value, __and_<_B1, _B2, _Bn...>, _B0>::type {}; +template<class _B0, class _B1, class... _Bn> +struct __and_<_B0, _B1, _Bn...> + : conditional<_B0::value, __and_<_B1, _Bn...>, _B0>::type {}; // __or_ template<class...> struct __or_; template<> struct __or_<> : false_type {}; template<class _B0> struct __or_<_B0> : _B0 {}; -template<class _B0, class _B1> -struct __or_<_B0, _B1> : conditional<_B0::value, _B0, _B1>::type {}; - -template<class _B0, class _B1, class _B2, class... _Bn> -struct __or_<_B0, _B1, _B2, _Bn...> - : conditional<_B0::value, _B0, __or_<_B1, _B2, _Bn...> >::type {}; +template<class _B0, class _B1, class... _Bn> +struct __or_<_B0, _B1, _Bn...> + : conditional<_B0::value, _B0, __or_<_B1, _Bn...> >::type {}; // __not_ template<class _Tp>
Index: include/type_traits =================================================================== --- include/type_traits +++ include/type_traits @@ -553,9 +553,6 @@ template <> struct __lazy_and_impl<true> : true_type {}; -template <class _Pred> -struct __lazy_and_impl<true, _Pred> : integral_constant<bool, _Pred::type::value> {}; - template <class _Hp, class ..._Tp> struct __lazy_and_impl<true, _Hp, _Tp...> : __lazy_and_impl<_Hp::type::value, _Tp...> {}; @@ -591,25 +588,19 @@ template<class _B0> struct __and_<_B0> : _B0 {}; -template<class _B0, class _B1> -struct __and_<_B0, _B1> : conditional<_B0::value, _B1, _B0>::type {}; - -template<class _B0, class _B1, class _B2, class... _Bn> -struct __and_<_B0, _B1, _B2, _Bn...> - : conditional<_B0::value, __and_<_B1, _B2, _Bn...>, _B0>::type {}; +template<class _B0, class _B1, class... _Bn> +struct __and_<_B0, _B1, _Bn...> + : conditional<_B0::value, __and_<_B1, _Bn...>, _B0>::type {}; // __or_ template<class...> struct __or_; template<> struct __or_<> : false_type {}; template<class _B0> struct __or_<_B0> : _B0 {}; -template<class _B0, class _B1> -struct __or_<_B0, _B1> : conditional<_B0::value, _B0, _B1>::type {}; - -template<class _B0, class _B1, class _B2, class... _Bn> -struct __or_<_B0, _B1, _B2, _Bn...> - : conditional<_B0::value, _B0, __or_<_B1, _B2, _Bn...> >::type {}; +template<class _B0, class _B1, class... _Bn> +struct __or_<_B0, _B1, _Bn...> + : conditional<_B0::value, _B0, __or_<_B1, _Bn...> >::type {}; // __not_ template<class _Tp>
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits