Loading...
Searching...
No Matches
type_traits.hh File Reference
`#include <type_traits>`
`#include <dune-common-config.hh>`
`#include <dune/common/typetraits.hh>`
`#include <dune/common/typeutilities.hh>`

Go to the source code of this file.

## Classes

struct | Dune::Std::nonesuch
| Type representing a lookup failure by std::detected_or and friends. More...

## Namespaces

namespace | Dune
| Dune namespace
namespace | Dune::Std
| Namespace for features backported from new C++ standards.

## Typedefs

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.