dune-common  2.2.0
Public Types | Public Member Functions
Dune::PushFrontTuple< Tuple, T > Struct Template Reference

Helper template to prepend a type to a tuple. More...

#include <dune/common/tupleutility.hh>

List of all members.

Public Types

typedef Tuple type
 For all specializations this is the type of a tuple with T prepended.

Public Member Functions

 dune_static_assert (AlwaysFalse< Tuple >::value,"Attempt to use the ""unspecialized version of PushFrontTuple. ""PushFrontTuple needs to be specialized for ""each possible tuple size. Naturally the number of ""pre-defined specializations is limited arbitrarily. ""Maybe you need to raise this limit by defining some ""more specializations?")

Detailed Description

template<class Tuple, class T>
struct Dune::PushFrontTuple< Tuple, T >

Helper template to prepend a type to a tuple.

Template Parameters:
TupleThe tuple type to extend
TThe type to be prepended to the tuple

With variadic templates the generic specialization would be:

   template<class... TupleArgs, class T>
   struct PushFrontTuple<typename Dune::tuple<TupleArgs...>, T>
   {
     typedef typename Dune::tuple<T, TupleArgs...> type;
   };

Member Typedef Documentation

template<class Tuple , class T >
typedef Tuple Dune::PushFrontTuple< Tuple, T >::type

For all specializations this is the type of a tuple with T prepended.

Suppose you have Tuple=tuple<T1, T2, ..., TN> then this type is tuple<T, T1, T2, ..., TN>.


Member Function Documentation

template<class Tuple , class T >
Dune::PushFrontTuple< Tuple, T >::dune_static_assert ( AlwaysFalse< Tuple >::value  ,
"Attempt to use the ""unspecialized version of PushFrontTuple< Tuple, T >. ""PushFrontTuple< Tuple, T > needs to be specialized for ""each possible tuple size. Naturally the number of ""pre-defined specializations is limited arbitrarily. ""Maybe you need to raise this limit by defining some ""more specializations?"   
)

The documentation for this struct was generated from the following file: