|
| template<class... > |
| using | internal::SupportsOperation::void_t = void |
| |
| template<class Default , template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::detected_or = detector< Default, void, Op, Args... > |
| |
| template<template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::is_detected = typename detected_or< nonesuch, Op, Args... >::value_t |
| |
| template<template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::detected_t = typename detected_or< nonesuch, Op, Args... >::type |
| |
| template<class Default , template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::detected_or_t = typename detected_or< Default, Op, Args... >::type |
| |
| template<class Expected , template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > > |
| |
| template<class To , template< class... > class Op, class... Args> |
| using | internal::SupportsOperation::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To > |
| |
| template<typename T > |
| using | begin_and_end_t = decltype(std::begin(std::declval< T >()), std::end(std::declval< T >())) |
| |