|
|
@ -477,7 +477,7 @@ template <typename...> struct void_t_impl { using type = void; }; |
|
|
|
template <typename... Ts> using void_t = typename void_t_impl<Ts...>::type; |
|
|
|
template <typename... Ts> using void_t = typename void_t_impl<Ts...>::type; |
|
|
|
|
|
|
|
|
|
|
|
/// Compile-time all/any/none of that check the boolean value of all template types
|
|
|
|
/// Compile-time all/any/none of that check the boolean value of all template types
|
|
|
|
#ifdef __cpp_fold_expressions |
|
|
|
#if defined(__cpp_fold_expressions) && !(defined(_MSC_VER) && (_MSC_VER < 1916)) |
|
|
|
template <class... Ts> using all_of = bool_constant<(Ts::value && ...)>; |
|
|
|
template <class... Ts> using all_of = bool_constant<(Ts::value && ...)>; |
|
|
|
template <class... Ts> using any_of = bool_constant<(Ts::value || ...)>; |
|
|
|
template <class... Ts> using any_of = bool_constant<(Ts::value || ...)>; |
|
|
|
#elif !defined(_MSC_VER) |
|
|
|
#elif !defined(_MSC_VER) |
|
|
|