Loading...
Searching...
No Matches
typetraits.hh File Reference

Traits for type conversions and type information. More...

`#include <complex>`
`#include <type_traits>`
`#include <utility>`
`#include <vector>`

Go to the source code of this file.

## Classes

struct | Dune::Empty
| Just an empty class. More...
struct | Dune::IsInteroperable< T1, T2 >
| Checks whether two types are interoperable. More...
struct | Dune::EnableIfInterOperable< T1, T2, Type >
| Enable typedef if two types are interoperable. More...
struct | Dune::AlwaysFalse< T >
| template which always yields a false value More...
struct | Dune::AlwaysTrue< T >
| template which always yields a true value More...
struct | Dune::IsCallable< F(Args...), R >
| Check if a type is callable with ()-operator and given arguments. More...
struct | Dune::IsNumber< T >
| Whether this type acts as a scalar in the context of (hierarchically blocked) containers. More...
struct | Dune::HasNaN< T >
| Whether this type has a value of NaN. More...
struct | Dune::IsIndexable< T, I >
| Type trait to determine whether an instance of T has an operator[](I), i.e. whether it can be indexed with an index of type I. More...
struct | Dune::IsIterable< T, typename >
| typetrait to check that a class has begin() and end() members More...
struct | Dune::IsTuple< T >
| Check if T is a std::tuple<...>. More...
struct | Dune::IsTupleOrDerived< T >
| Check if T derived from a std::tuple<...>. More...
struct | Dune::IsIntegralConstant< T >
| Check if T is an std::integral_constant<I, i>. More...
struct | Dune::IsCompileTimeConstant< T >
| Check if T is an integral constant or any type derived from std::integral_constant. More...
struct | Dune::AutonomousValueType< T >
| Type free of internal references that T can be converted to. More...
struct | Dune::AutonomousValueType< T & >
| Specialization to remove lvalue references. More...
struct | Dune::AutonomousValueType< T && >
| Specialization to remove rvalue references. More...
struct | Dune::AutonomousValueType< const T >
| Specialization to remove const qualifiers. More...
struct | Dune::AutonomousValueType< volatile T >
| Specialization to remove volatile qualifiers. More...
struct | Dune::AutonomousValueType< std::vector< bool >::reference >
| Specialization for the proxies of vector<bool>. More...
struct | Dune::AutonomousValueType< volatile const T >
| Specialization to remove both const and volatile qualifiers. More...

## Namespaces

namespace | Dune
| Dune namespace

## Typedefs

template<class... Types>
using | Dune::void_t = typename Impl::voider<Types...>::type
| Is void for all valid input types. The workhorse for C++11 SFINAE-techniques.
template<class Type>
using | Dune::field_t = typename FieldTraits<Type>::field_type
| Convenient access to FieldTraits<Type>::field_type.
template<class Type>
using | Dune::real_t = typename FieldTraits<Type>::real_type
| Convenient access to FieldTraits<Type>::real_type.
template<class T>
using | Dune::AutonomousValue = typename AutonomousValueType<T>::type
| Type free of internal references that T can be converted to.

## Functions

template<class T, T... t, std::size_t index>
constexpr auto | Dune::integerSequenceEntry (std::integer_sequence< T, t... >, std::integral_constant< std::size_t, index > i)
| Get entry of std::integer_sequence.
template<class T>
constexpr AutonomousValue< T > | Dune::autoCopy (T &&v)
| Autonomous copy of an expression's value for use in auto type deduction.

## Detailed Description

Traits for type conversions and type information.

Author
  Markus Blatt, Christian Engwer