hexed 0.3.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 (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.
 
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: