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_