dune-common 2.9.0
Loading...
Searching...
No Matches
Classes | Namespaces | Typedefs | Functions
typelist.hh File Reference
#include <type_traits>
#include <tuple>
#include <utility>

Go to the source code of this file.

Classes

struct  Dune::MetaType< T >
 A type that refers to another type. More...
 
struct  Dune::IsTypeList< T >
 Check if given type is a TypeList. More...
 
struct  Dune::IsTypeList< TypeList< T... > >
 Check if given type is a TypeList. More...
 
struct  Dune::IsEmptyTypeList< T >
 Check if given type is an empty TypeList. More...
 
struct  Dune::TypeListSize< T >
 
struct  Dune::TypeListSize< TypeList< T... > >
 Get size of TypeList. More...
 
struct  Dune::TypeListElement< i, T >
 
struct  Dune::TypeListElement< i, TypeList< T... > >
 Get element of TypeList. More...
 

Namespaces

namespace  Dune
 Dune namespace.
 

Typedefs

template<class... T>
using Dune::TypeList = std::tuple< MetaType< T >... >
 A simple type list.
 
template<std::size_t i, class T >
using Dune::TypeListEntry_t = typename TypeListElement< i, T >::type
 Shortcut for TypeListElement<i, T>::type;.
 
template<template< class... > class Target, class TL >
using Dune::UnpackTypeList_t = typename Impl::UnpackTypeList< Target, TL >::type
 Unpack Dune::TypeList.
 
template<template< class... > class Target, class... T>
using Dune::UniqueTypes_t = typename Impl::UniqueTypesHelper< Target, TypeList< T... > >::type
 Remove duplicates from a list of types.
 
template<class NonUniqueTypeList >
using Dune::UniqueTypeList_t = typename Impl::UniqueTypesHelper< TypeList, NonUniqueTypeList >::type
 Remove duplicates from a Dune::TypeList.
 

Functions

template<class... T>
constexpr auto Dune::uniqueTypeList (TypeList< T... > list)
 Remove duplicates from a Dune::TypeList.