33template <
typename... Ts>
46template <
typename... Ts>
47using void_t =
typename detail::make_void<Ts...>::type;
50GKO_DEPRECATED(
"use std::uncaught_exceptions")
51inline
bool uncaught_exception() noexcept
53 return std::uncaught_exceptions() > 0;
58template <
bool B,
typename T =
void>
59using enable_if_t = std::enable_if_t<B, T>;
63template <
bool B,
typename T,
typename F>
64using conditional_t = std::conditional_t<B, T, F>;
69using decay_t = std::decay_t<T>;
74constexpr bool greater(
const T&& lhs,
const T&& rhs)
76 return std::greater<void>()(lhs, rhs);
82constexpr bool greater_equal(
const T&& lhs,
const T&& rhs)
84 return std::greater_equal<void>()(lhs, rhs);
90constexpr bool less(
const T&& lhs,
const T&& rhs)
92 return std::less<void>()(lhs,
rhs);
98constexpr bool less_equal(
const T&& lhs,
const T&& rhs)
100 return std::less_equal<void>()(lhs,
rhs);
104template <
class... Ts>
105using conjunction = std::conjunction<Ts...>;
typename detail::make_void< Ts... >::type void_t
Use the custom implementation, since the std::void_t used in is_matrix_type_builder seems to trigger ...
Definition std_extensions.hpp:47