|
template<class Default , template< class... > class _Op, class... _Args> |
using | detected_or = _DETECTOR< Default, void, _Op, _Args... > |
|
template<class Default , template< class... > class _Op, class... _Args> |
using | detected_or_t = typename detected_or< Default, _Op, _Args... >::type |
|
template<template< class... > class _Op, class... _Args> |
using | detected_t = typename _DETECTOR< nonesuch, void, _Op, _Args... >::type |
|
template<template< class... > class _Op, class... _Args> |
using | is_detected = typename _DETECTOR< nonesuch, void, _Op, _Args... >::value_t |
|
template<class To , template< class... > class _Op, class... _Args> |
using | is_detected_convertible = std::is_convertible< detected_t< _Op, _Args... >, To > |
|
template<class Expected , template< class... > class _Op, class... _Args> |
using | is_detected_exact = std::is_same< Expected, detected_t< _Op, _Args... > > |
|
template<class... > |
using | void_t = void |
|
|
template<class To , template< class... > class _Op, class... _Args> |
constexpr bool | is_detected_convertible_v = is_detected_convertible<To, _Op, _Args...>::value |
|
template<class Expected , template< class... > class _Op, class... _Args> |
constexpr bool | is_detected_exact_v = is_detected_exact<Expected, _Op, _Args...>::value |
|
template<template< class... > class _Op, class... _Args> |
constexpr bool | is_detected_v = is_detected<_Op, _Args...>::value |
|