|
| template<typename Default, template< typename... > class Op, typename... Args> |
| using | Dune::Std::detected_or = Impl::detector<Default,void,Op,Args...> |
| | Detects whether Op<Args...> is valid and makes the result available.
|
| template<template< typename... > class Op, typename... Args> |
| using | Dune::Std::is_detected = typename detected_or<nonesuch,Op,Args...>::value_t |
| | Detects whether Op<Args...> is valid.
|
| template<template< typename... > class Op, typename... Args> |
| using | Dune::Std::detected_t = typename detected_or<nonesuch,Op,Args...>::type |
| | Returns Op<Args...> if that is valid; otherwise returns nonesuch.
|
| template<typename Default, template< typename... > class Op, typename... Args> |
| using | Dune::Std::detected_or_t = typename detected_or<Default,Op,Args...>::type |
| | Returns Op<Args...> if that is valid; otherwise returns the fallback type Default.
|
| template<typename Expected, template< typename... > class Op, typename... Args> |
| using | Dune::Std::is_detected_exact = std::is_same<Expected,detected_t<Op,Args...>> |
| | Checks whether Op<Args...> is Expected without causing an error if Op<Args...> is invalid.
|
| template<typename Target, template< typename... > class Op, typename... Args> |
| using | Dune::Std::is_detected_convertible = std::is_convertible<Target,detected_t<Op,Args...>> |
| | Checks whether Op<Args...> is convertible to Target without causing an error if Op<Args...> is invalid.
|
| template<template< typename... > class Fallback, template< typename... > class TargetType, typename... Args> |
| using | Dune::detected_or_fallback_t |
| | This type will be either TargetType<Args...> if it exists, or the Fallback<Args...> type.
|