7 template <
class Default,
class AlwaysVoid,
template <
class...>
class Op,
class... Args>
struct detector {
12 template <
class Default,
template <
class...>
class Op,
class... Args>
struct detector<Default,
std::void_t<Op<Args...>>, Op, Args...> {
23 template <
template <
class...>
class Op,
class... Args> constexpr
bool is_detected_v = is_detected<Op, Args...>::value;
Default type
Definition: detect.hpp:9
std::true_type value_t
Definition: detect.hpp:13
Op< Args... > type
Definition: detect.hpp:14
typename detail::detector< nonesuch, void, Op, Args... >::value_t is_detected
Definition: detect.hpp:21
constexpr bool is_detected_v
Definition: detect.hpp:23
std::false_type value_t
Definition: detect.hpp:8