A bounds-checked iterator for random-access containers that knows when its target was deleted. More...
#include <Iter.h>
Public Member Functions | |
RAIter () | |
Default constructor to nothing, by default invalid for use. | |
RAIter (RevPtr< Cont > container, size_t pos) | |
Creates an iterator to a container starting at index pos. More... | |
bool | IsValid () const |
True if the iterator still points to an existing container and remains in bounds. | |
size_t | GetIndex () const |
Return the index of the container which this iterator corresponds to. | |
RevPtr< Cont > | Raw () |
Directly access the RevPtr to the container. | |
T & | operator* () |
Dereference the iterator, returning a reference to the corresponding element. | |
const T & | operator* () const |
Const version of operator*. | |
const T * | operator-> () const |
Provides access to members of the element this iterator points to. | |
T & | operator[] (size_t x) |
Provides access to the element at offset x from the current index. | |
const T & | operator[] (size_t x) const |
Const version of operator[]. | |
RAIter< Cont, T > & | operator++ () |
Point to the next higher numbered indexed element. | |
RAIter< Cont, T > & | operator-- () |
Point to the next lower numbered indexed element. | |
RAIter< Cont, T > & | operator+= (size_t x) |
Increase the index by x. | |
RAIter< Cont, T > & | operator-= (size_t x) |
Decrease the index by x. | |
RAIter< Cont, T > | operator++ (int) |
Support for iter++, but for efficiency, use ++iter. | |
RAIter< Cont, T > | operator-- (int) |
Support for iter–, but for efficiency, use –iter. | |
RAIter< Cont, T > | operator+ (size_t x) const |
Returns a new iterator with an offset incremented by x. | |
RAIter< Cont, T > | operator- (size_t x) const |
Returns a new iterator with an offset decremented by x. | |
size_t | operator- (const RAIter< Cont, T > &first) const |
Returns the distance between two iterators. | |
bool | operator== (const RAIter< Cont, T > &other) const |
True if the two iterators have the same index. | |
bool | operator< (const RAIter< Cont, T > &other) const |
True if this iterator is less. | |
template<class AnyValidType > | |
bool | operator!= (const AnyValidType &other) const |
True if not equal. | |
template<class AnyValidType > | |
bool | operator> (const AnyValidType &other) const |
True if other is less than this object. | |
template<class AnyValidType > | |
bool | operator<= (const AnyValidType &other) const |
True if other is not less than this object. | |
template<class AnyValidType > | |
bool | operator>= (const AnyValidType &other) const |
True if this object is not less than other. | |
A bounds-checked iterator for random-access containers that knows when its target was deleted.
See Data1D.h for a usage example.
|
inline |
Creates an iterator to a container starting at index pos.
When the iterator is dereferenced, it corresponds to (*container)[pos]. Note that the RevPtr for container should be set to AutoRevoke when the container is deleted.
container | A RevPtr to the container. |
pos | The starting index for this iterator. |