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;
54 const value_type & operator * ()
const
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;
99 const value_type & operator * ()
const
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;
144 const value_type & operator * ()
const
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;
189 const value_type & operator * ()
const
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;
234 const value_type & operator * ()
const
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;
279 const value_type & operator * ()
const
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_
Stream package subnamespace.
Definition: choose.h:23