dune-common  2.4
Classes | Namespaces | Functions
tuples.hh File Reference

Fallback implementation of the std::tuple class. More...

#include <iostream>
#include "typetraits.hh"
#include "unused.hh"
#include <tuple>

Go to the source code of this file.

Classes

struct  Dune::TupleAccessTraits< T >
 
struct  Dune::TupleAccessTraits< T * >
 
struct  Dune::TupleAccessTraits< T & >
 
struct  Dune::tuple_writer< i >
 
struct  Dune::tuple_writer< 1 >
 
struct  Dune::tuple_writer< 0 >
 

Namespaces

 Dune
 Dune namespace.
 

Functions

template<typename T1 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1 > &t)
 Print a tuple. More...
 
template<typename T1 , typename T2 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2 > &t)
 
template<typename T1 , typename T2 , typename T3 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5, T6 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5, T6, T7 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5, T6, T7, T8 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
std::ostream & Dune::operator<< (std::ostream &os, const tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > &t)
 
template<typename T1 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1 > &t)
 Read a tuple. More...
 
template<typename T1 , typename T2 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2 > &t)
 
template<typename T1 , typename T2 , typename T3 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5, T6 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5, T6, T7 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5, T6, T7, T8 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9 > &t)
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 , typename T9 , typename T10 >
std::istream & Dune::operator>> (std::istream &is, tuple< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 > &t)
 

Detailed Description

Fallback implementation of the std::tuple class.

This a refined implementation of the approach defined in in the article "Tuples and multiple return values in C++" of Jaakko Järvi (Turku Centre of Computer Science, TUCS Technical Report No 249, March 1999, ISBN 952-12-0401-X, ISSN 1239-1891) available from the TUCS publications archive

Author
Markus Blatt