hexed 0.4.0
 
Loading...
Searching...
No Matches
hexed::Iterator< T > Class Template Reference

A random-access iterator type based on an arbitrary access function. More...

#include <Iterator.hpp>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = T
 
using difference_type = Int
 
using pointer = std::remove_reference<T>*
 
using reference = std::add_lvalue_reference<T>
 

Public Member Functions

 Iterator (const std::function< T(Int)> &get, Int index)
 
Int index () const
 Obtains the current index of this iterator.
 
const std::function< T(Int)> & get () const
 Obtains this iterator's access function.
 
Iteratoroperator++ ()
 
Iteratoroperator-- ()
 
Iteratoroperator-= (difference_type diff)
 
Iterator operator++ (int)
 
Iterator operator-- (int)
 
Iteratoroperator+= (difference_type diff)
 
operator* () const
 
std::add_pointer< std::remove_reference< T > > operator-> () const
 
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)
 

Detailed Description

template<typename T>
class hexed::Iterator< T >

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.


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