dune-common  2.7.1
Classes | Namespaces | Typedefs | Variables
type_traits.hh File Reference
#include <type_traits>
#include <dune/common/typetraits.hh>
#include <dune/common/typeutilities.hh>

Go to the source code of this file.

Classes

class  Dune::Std::to_false_type< T >
 template mapping a type to std::false_type More...
 
class  Dune::Std::to_true_type< T >
 template mapping a type to std::true_type More...
 
struct  Dune::Std::is_callable< F(Args...), R >
 Traits class to check if function is callable. More...
 
struct  Dune::Std::is_invocable< F, Args >
 Traits class to check if function is invocable. More...
 
struct  Dune::Std::is_invocable_r< R, F, Args >
 Traits class to check if function is invocable and the return type is compatible. More...
 
struct  Dune::Std::nonesuch
 Type representing a lookup failure by std::detected_or and friends. More...
 
struct  Dune::Std::conjunction<>
 
struct  Dune::Std::conjunction< B >
 
struct  Dune::Std::conjunction< B1, Bn... >
 
struct  Dune::Std::disjunction<>
 
struct  Dune::Std::disjunction< B >
 
struct  Dune::Std::disjunction< B1, Bn... >
 
struct  Dune::Std::negation< B >
 forms the logical negation of the type traits B... More...
 

Namespaces

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

Typedefs

template<bool value>
using Dune::Std::bool_constant = std::integral_constant< bool, value >
 A template alias for std::integral_constant<bool, value> More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 

Variables

template<template< typename... > class Op, typename... Args>
constexpr bool Dune::Std::is_detected_v = is_detected<Op,Args...>::value
 Detects whether Op<Args...> is valid and makes the result available as a value. More...
 
template<typename Expected , template< typename... > class Op, typename... Args>
constexpr bool Dune::Std::is_detected_exact_v = is_detected_exact<Expected,Op,Args...>::value
 Convenient access to the result value of is_detected_exact. More...
 
template<typename Target , template< typename... > class Op, typename... Args>
constexpr bool Dune::Std::is_detected_convertible_v = is_detected_convertible<Target,Op,Args...>::value
 Convenient access to the result value of is_detected_convertible. More...