33 template <
class...>
using void_t = void;
36 template <
class...>
using void_t = void;
45 template <
class _Default,
class _AlwaysVoid,
template <
class...>
class _Op,
class... _Args>
51 template <
class _Default,
template <
class...>
class _Op,
class... _Args>
54 using type = _Op<_Args...>;
58 template <
template<
class...>
class _Op,
class... _Args>
60 template <
template<
class...>
class _Op,
class... _Args>
62 template <
template<
class...>
class _Op,
class... _Args>
65 template <
class Default,
template<
class...>
class _Op,
class... _Args>
67 template <
class Default,
template<
class...>
class _Op,
class... _Args>
70 template <
class Expected,
template<
class...>
class _Op,
class... _Args>
72 template <
class Expected,
template<
class...>
class _Op,
class... _Args>
75 template <
class To,
template<
class...>
class _Op,
class... _Args>
77 template <
class To,
template<
class...>
class _Op,
class... _Args>
The code here is copied from <experimental/type_traits> because it is not implemented with Visual stu...
Definition Cpp17.h:31
constexpr bool is_detected_v
Definition Cpp17.h:63
std::is_convertible< detected_t< _Op, _Args... >, To > is_detected_convertible
Definition Cpp17.h:76
std::is_same< Expected, detected_t< _Op, _Args... > > is_detected_exact
Definition Cpp17.h:71
typename _DETECTOR< nonesuch, void, _Op, _Args... >::type detected_t
Definition Cpp17.h:61
typename _DETECTOR< nonesuch, void, _Op, _Args... >::value_t is_detected
Definition Cpp17.h:59
typename detected_or< Default, _Op, _Args... >::type detected_or_t
Definition Cpp17.h:68
void void_t
Definition Cpp17.h:33
constexpr bool is_detected_convertible_v
Definition Cpp17.h:78
_DETECTOR< Default, void, _Op, _Args... > detected_or
Definition Cpp17.h:66
constexpr bool is_detected_exact_v
Definition Cpp17.h:73
std::true_type value_t
Definition Cpp17.h:53
_Op< _Args... > type
Definition Cpp17.h:54
_Default type
Definition Cpp17.h:48
std::false_type value_t
Definition Cpp17.h:47
nonesuch(nonesuch const &)=delete
void operator=(nonesuch const &)=delete