halcheck 1.0
Loading...
Searching...
No Matches
halcheck::lib::iterator_interface< Self > Class Template Reference

A utility class for easily defining new iterators. More...

#include <interface.hpp>

Public Member Functions

template<typename I = Self>
constexpr lib::iter_reference_t< I > operator[] (lib::iter_difference_t< I > n) const
 Access the element at the specified index.
 
template<typename I = Self>
operator++ (int)
 Advances this iterator.
 
template<typename I = Self>
void operator++ (int)
 Advances this iterator.
 
template<typename I = Self>
operator-- (int)
 Advances this iterator a step backwards.
 
template<typename I = Self>
void operator-- (int)
 Advances this iterator a step backwards.
 
template<typename I = Self>
I & operator-= (lib::iter_difference_t< I > n)
 Advances this iterator the specified number of steps backwards.
 

Friends

template<typename I = Self>
bool operator!= (const Self &lhs, const Self &rhs)
 Determines if two iterators are not equal.
 
template<typename I = Self>
bool operator< (const Self &lhs, const Self &rhs)
 Determines if one iterator preceeds another.
 
template<typename I = Self>
bool operator> (const Self &lhs, const Self &rhs)
 Determines if one iterator succeeds another.
 
template<typename I = Self>
bool operator<= (const Self &lhs, const Self &rhs)
 Determines if one iterator either preceeds or is equal to another.
 
template<typename I = Self>
bool operator>= (const Self &lhs, const Self &rhs)
 Determines if one iterator either succeeds or is equal to another.
 
template<typename I = Self>
Self operator+ (Self i, lib::iter_difference_t< I > n)
 Advances an iterator by a specified amount.
 
template<typename I = Self>
Self operator+ (lib::iter_difference_t< I > n, Self i)
 Advances an iterator by a specified amount.
 
template<typename I = Self>
Self operator- (Self i, lib::iter_difference_t< I > n)
 Advances an iterator backwards by a specified amount.
 

Detailed Description

template<typename Self>
class halcheck::lib::iterator_interface< Self >

A utility class for easily defining new iterators.

Template Parameters
SelfThe derived type (as used in CRTP).

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