59 using std::tuple_element;
61 using std::tuple_size;
63 using std::make_tuple;
70 static std::ostream&
put(std::ostream& os,
const T&
t,
const char* delim=
", ")
76 static std::istream &
get ( std::istream &is, T &
t,
const char *delim =
"," )
79 for(
const char *it = delim; is && (*it != 0); ++it )
84 is.setstate( std::ios::failbit );
94 static std::ostream&
put(std::ostream& os,
const T&
t,
const char* delim=
", ")
97 return os<<Dune::get<0>(
t);
101 static std::istream &
get ( std::istream &is, T &
t,
const char *delim =
", " )
103 return is >> Dune::get< 0 >(
t );
111 static std::ostream&
put(std::ostream& os,
const T&
t,
const char* delim=
", ")
117 static std::istream &
get ( std::istream &is, T &
t,
const char *delim =
", " )
126 template<
typename T1>
127 inline std::ostream& operator<<( std::ostream& os, const tuple<T1> &
t)
129 typedef tuple<T1> TupleT;
133 template<
typename T1,
typename T2>
134 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2> &
t)
136 typedef tuple<T1,T2> TupleT;
140 template<
typename T1,
typename T2,
typename T3>
141 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3> &
t)
143 typedef tuple<T1,T2,T3> TupleT;
147 template<
typename T1,
typename T2,
typename T3,
typename T4>
148 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4> &
t)
150 typedef tuple<T1,T2,T3,T4> TupleT;
154 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
155 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5> &
t)
157 typedef tuple<T1,T2,T3,T4,T5> TupleT;
161 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
162 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5,T6> &
t)
164 typedef tuple<T1,T2,T3,T4,T5,T6> TupleT;
168 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
169 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5,T6,T7> &
t)
171 typedef tuple<T1,T2,T3,T4,T5,T6,T7> TupleT;
175 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
177 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5,T6,T7,T8> &
t)
179 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8> TupleT;
183 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
184 typename T8,
typename T9>
185 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9> &
t)
187 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9> TupleT;
191 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
192 typename T8,
typename T9,
typename T10>
193 inline std::ostream& operator<<( std::ostream& os, const tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> &
t)
195 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> TupleT;
202 template<
typename T1>
205 typedef tuple<T1> TupleT;
209 template<
typename T1,
typename T2>
210 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2> &
t)
212 typedef tuple<T1,T2> TupleT;
216 template<
typename T1,
typename T2,
typename T3>
217 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3> &
t)
219 typedef tuple<T1,T2,T3> TupleT;
223 template<
typename T1,
typename T2,
typename T3,
typename T4>
224 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4> &
t)
226 typedef tuple<T1,T2,T3,T4> TupleT;
230 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
231 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5> &
t)
233 typedef tuple<T1,T2,T3,T4,T5> TupleT;
237 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
238 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5,T6> &
t)
240 typedef tuple<T1,T2,T3,T4,T5,T6> TupleT;
244 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
245 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5,T6,T7> &
t)
247 typedef tuple<T1,T2,T3,T4,T5,T6,T7> TupleT;
251 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
253 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5,T6,T7,T8> &
t)
255 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8> TupleT;
259 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
260 typename T8,
typename T9>
261 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9> &
t)
263 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9> TupleT;
267 template<
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7,
268 typename T8,
typename T9,
typename T10>
269 inline std::istream&
operator>>( std::istream& is, tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> &
t)
271 typedef tuple<T1,T2,T3,T4,T5,T6,T7,T8,T9,T10> TupleT;
static std::ostream & put(std::ostream &os, const T &t, const char *delim=", ")
Definition: tuples.hh:111
ConstantVolatileTraits< T >::ConstType & ConstType
Definition: tuples.hh:36
T & ConstType
Definition: tuples.hh:52
std::istream & operator>>(std::istream &is, tuple< T1 > &t)
Read a tuple.
Definition: tuples.hh:203
const T ConstType
The const type.
Definition: typetraits.hh:92
char c
Definition: alignment.hh:33
ConstantVolatileTraits< T >::ConstType * ConstType
Definition: tuples.hh:44
T UnqualifiedType
The unqualified type.
Definition: typetraits.hh:90
const ConstantVolatileTraits< T >::UnqualifiedType & ParameterType
Definition: tuples.hh:38
static std::ostream & put(std::ostream &os, const T &t, const char *delim=", ")
Definition: tuples.hh:70
static std::ostream & put(std::ostream &os, const T &t, const char *delim=", ")
Definition: tuples.hh:94
T t
Definition: alignment.hh:34
Definition of the DUNE_UNUSED macro for the case that config.h is not available.
Dune namespace.
Definition: alignment.hh:9
Reference get(const RAPropertyMapHelper< Reference, PropertyMap > &pmap, const Key &key)
Definition: propertymap.hh:83
T * NonConstType
Definition: tuples.hh:45
T & ParameterType
Definition: tuples.hh:54
#define DUNE_UNUSED_PARAMETER(parm)
A macro to mark intentional unused function parameters with.
Definition: unused.hh:18
T & NonConstType
Definition: tuples.hh:37
T & NonConstType
Definition: tuples.hh:53
T * ParameterType
Definition: tuples.hh:46
void put(const RAPropertyMapHelper< Reference, PropertyMap > &pmap, const Key &key, const Value &value)
Definition: propertymap.hh:91
Traits for type conversions and type information.
static std::istream & get(std::istream &is, T &t, const char *delim=",")
Definition: tuples.hh:76