4#ifndef DUNE_STREAMOPERATORS_HH
5#define DUNE_STREAMOPERATORS_HH
14#include <dune/common/hybridutilities.hh>
15#include <dune/common/std/utility.hh>
25 template<
typename Stream,
typename... Ts>
26 inline Stream& operator<<(Stream& stream,
const std::tuple<Ts...>& t)
32 [&](
auto i){stream<<std::get<i>(t)<<
",";});
33 stream<<std::get<
sizeof...(Ts)-1>(t);
40 template<
typename Stream,
typename... Ts>
41 inline Stream&
operator>>(Stream& stream, std::tuple<Ts...>& t)
44 [&](
auto i){stream>>std::get<i>(t);});
49 template<
typename Stream,
typename T, std::
size_t N>
50 inline Stream& operator<<(Stream& stream,
const std::array<T,N>& a)
55 for(std::size_t i=0; i<N-1; ++i)
Stream & operator>>(Stream &stream, std::tuple< Ts... > &t)
Read a std::tuple.
Definition: streamoperators.hh:41
constexpr void forEach(Range &&range, F &&f)
Range based for loop.
Definition: hybridutilities.hh:308
Dune namespace.
Definition: alignedallocator.hh:10