indirect_range_iterator< T, Storage > Class Template Reference

#include <indirect_range_iterator.h>

Inheritance diagram for indirect_range_iterator< T, Storage >:
abstract_range_iterator

Public Member Functions

 indirect_range_iterator (T &rval)
 
 indirect_range_iterator (T &rval, const T beg, const T end, const bool reset_state=true)
 
virtual ~indirect_range_iterator ()
 
void reset ()
 
void advance ()
 
bool is_done () const
 
- Public Member Functions inherited from abstract_range_iterator
virtual ~abstract_range_iterator ()
 
abstract_range_iteratoroperator++ ()
 
void operator() ()
 
 operator bool () const
 

Detailed Description

template<typename T, typename Storage = T>
class illumina::interop::util::indirect_range_iterator< T, Storage >

Iterate over a range and update a reference to another value

Constructor & Destructor Documentation

indirect_range_iterator ( T &  rval)
inline

Constructor

Parameters
rvalreference to value to update
indirect_range_iterator ( T &  rval,
const T  beg,
const T  end,
const bool  reset_state = true 
)
inline

Constructor

Parameters
rvalreference to value to update
begvalue at start of range
endvalue at end of range
reset_statereset current state
virtual ~indirect_range_iterator ( )
inlinevirtual

Destructor

Member Function Documentation

void advance ( )
inlinevirtual

Advance the iterator to the next element in the range

Implements abstract_range_iterator.

bool is_done ( ) const
inlinevirtual

Test if you are at the end of the range

Returns
true if you are done iterating, reached the end of the range

Implements abstract_range_iterator.

void reset ( )
inlinevirtual

Reset the iterator to the start of the range

Implements abstract_range_iterator.


The documentation for this class was generated from the following file: