49 #ifndef MUI_STREAM_TUPLE_H
50 #define MUI_STREAM_TUPLE_H
59 template<std::size_t... indexes>
63 template<std::
size_t N>
74 template<std::size_t
N, std::size_t MAX,
typename... Args>
75 struct input_tuple_impl_ {
76 static void apply(
istream& stream, std::tuple<Args...>& t){
77 stream >> std::get<N>(t);
81 template<std::size_t
N,
typename... Args>
82 struct input_tuple_impl_<
N,
N,Args...> {
83 static void apply( istream& , std::tuple<Args...>& ){}
87 template<
typename... Args>
90 std::tuple<Args...> t;
91 input_tuple_impl_<0,
sizeof...(Args),Args...>::
apply(stream,t);
98 template<std::size_t
N, std::size_t MAX,
typename... Args>
99 struct output_tuple_impl_ {
100 static void apply( ostream& stream,
const std::tuple<Args...>& t){
101 stream << std::get<N>(t);
105 template<std::size_t
N,
typename... Args>
106 struct output_tuple_impl_<
N,
N,Args...> {
107 static void apply( ostream& ,
const std::tuple<Args...>& ){}
111 template<
typename... Args>
114 output_tuple_impl_<0,
sizeof...(Args),Args...>::
apply(stream,t);
u u u u u u u u u u u u u u u u u u u N
Definition: dim.h:317
istream & operator>>(istream &stream, smalluint &sml)
Definition: comm_tcp.h:103
ostream & operator<<(ostream &stream, const smalluint &sml)
Definition: comm_tcp.h:127
vexpr_apply1< E, OP, SCALAR, D > apply(vexpr< E, SCALAR, D > const &u, OP const &op)
Definition: point.h:392
Defines base stream class container_stream and associated functors.
Definition: stream_tuple.h:60
index_sequence type
Definition: stream_tuple.h:69
Definition: stream_tuple.h:64
make_index_sequence< N-1 >::type::next type
Definition: stream_tuple.h:65