STXXL
1.4.1
|
Adapter for vector_bufreader to match iterator requirements of C++11 range-based loop construct.
Since vector_bufreader itself points to only one specific item, this iterator is merely a counter facade. The functions operator*() and operator++() must only be called when it is in sync with the bufreader object. This is generally only the case for an iterator constructed with begin() and then advanced with operator++(). The class checks this using asserts(), the operators will fail if used wrong.
Public Types | |
typedef vector_bufreader_type::value_type | value_type |
Value type of vector. More... | |
typedef VectorBufReaderType | vector_bufreader_type |
The underlying buffered reader type. More... | |
typedef vector_bufreader_type::vector_iterator | vector_iterator |
Use vector_iterator to reference a point in the vector. More... | |
Public Member Functions | |
vector_bufreader_iterator (vector_bufreader_type &bufreader, const vector_iterator &iter) | |
Construct iterator using vector_iterator. More... | |
bool | operator!= (const vector_bufreader_iterator &vbi) const |
Inequality comparison operator. More... | |
const value_type & | operator* () const |
Return constant reference to current item. More... | |
vector_bufreader_iterator & | operator++ () |
Make bufreader advance to next item (asserts if !empty() or if iterator does not point to current). More... | |
const value_type * | operator-> () const |
Return constant pointer to current item. More... | |
bool | operator== (const vector_bufreader_iterator &vbi) const |
Equality comparison operator. More... | |
Protected Attributes | |
vector_bufreader_type & | m_bufreader |
Buffered reader used to access elements in vector. More... | |
vector_iterator | m_iter |
Use vector_iterator to reference a point in the vector. More... | |
typedef vector_bufreader_type::value_type stxxl::vector_bufreader_iterator< VectorBufReaderType >::value_type |
typedef VectorBufReaderType stxxl::vector_bufreader_iterator< VectorBufReaderType >::vector_bufreader_type |
typedef vector_bufreader_type::vector_iterator stxxl::vector_bufreader_iterator< VectorBufReaderType >::vector_iterator |
Use vector_iterator to reference a point in the vector.
|
inline |
Construct iterator using vector_iterator.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
Use vector_iterator to reference a point in the vector.