A random-access iterator type based on an arbitrary access function. More...
#include <Iterator.hpp>
Public Member Functions | |
Iterator (std::function< T(std::size_t)> get, std::size_t index) | |
std::size_t | index () const |
Obtains the current index of this iterator. | |
std::function< T(std::size_t)> | get () const |
Obtains this iterator's access function. | |
Iterator & | operator++ () |
Iterator & | operator-- () |
Iterator & | operator-= (difference_type diff) |
Iterator | operator++ (int) |
Iterator | operator-- (int) |
Iterator & | operator+= (difference_type diff) |
T | operator* () const |
std::add_pointer< std::remove_reference< T > > | operator-> () const |
T | operator[] (difference_type diff) |
Related Symbols | |
(Note that these are not member symbols.) | |
template<typename T > | |
Iterator< T > | operator+ (typename Iterator< T >::difference_type diff, Iterator< T > it) |
template<typename T > | |
Iterator< T > | operator+ (Iterator< T > it, typename Iterator< T >::difference_type diff) |
template<typename T > | |
Iterator< T > | operator- (Iterator< T > it, typename Iterator< T >::difference_type diff) |
template<typename T > | |
bool | operator!= (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
bool | operator== (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
bool | operator<= (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
bool | operator>= (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
bool | operator< (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
bool | operator> (Iterator< T > it0, Iterator< T > it1) |
template<typename T > | |
Iterator< T >::difference_type | operator- (Iterator< T > it0, Iterator< T > it1) |
A random-access iterator type based on an arbitrary access function.
Has two data items: An integral index, and a function that gets a value for a given index. All arithmetic and comparison operators simply operate on the index.