14 #ifndef STXXL_STREAM__CHOOSE_H_
15 #define STXXL_STREAM__CHOOSE_H_
17 #include <stxxl/bits/namespace.h>
20 __STXXL_BEGIN_NAMESPACE
29 template <
class Input_,
int Which>
38 template <
class Input_>
39 class choose<Input_, 1>
43 typedef typename Input_::value_type tuple_type;
59 const value_type * operator -> ()
const
65 choose & operator ++ ()
83 template <
class Input_>
84 class choose<Input_, 2>
88 typedef typename Input_::value_type tuple_type;
104 const value_type * operator -> ()
const
106 return &(*in).second;
110 choose & operator ++ ()
128 template <
class Input_>
129 class choose<Input_, 3>
133 typedef typename Input_::value_type tuple_type;
149 const value_type * operator -> ()
const
155 choose & operator ++ ()
173 template <
class Input_>
174 class choose<Input_, 4>
178 typedef typename Input_::value_type tuple_type;
194 const value_type * operator -> ()
const
196 return &(*in).fourth;
200 choose & operator ++ ()
218 template <
class Input_>
219 class choose<Input_, 5>
223 typedef typename Input_::value_type tuple_type;
239 const value_type * operator -> ()
const
245 choose & operator ++ ()
263 template <
class Input_>
264 class choose<Input_, 6>
268 typedef typename Input_::value_type tuple_type;
284 const value_type * operator -> ()
const
290 choose & operator ++ ()
307 __STXXL_END_NAMESPACE
310 #include <stxxl/bits/stream/unique.h>
313 #endif // !STXXL_STREAM__CHOOSE_H_