Gamedev Framework (gf)  0.12.0
A C++14 framework for 2D games
Public Types | Public Member Functions | Public Attributes | Related Functions | List of all members
gf::Range< T >::Iterator Struct Reference

A range iterator. More...

#include <gf/Range.h>

Public Types

using difference_type = std::ptrdiff_t
 
using value_type = T
 
using pointer = value_type
 
using reference = value_type
 
using iterator_category = std::bidirectional_iterator_tag
 

Public Member Functions

constexpr Iterator (T iteratorIndex) noexcept
 Constructor. More...
 
void swap (Iterator &other) noexcept
 Swap the iterator with another iterator. More...
 
reference operator* () noexcept
 Dereference operator. More...
 
pointer operator-> () noexcept
 Pointer operator. More...
 
Iteratoroperator++ () noexcept
 Increment operator (prefix) More...
 
Iterator operator++ (int) noexcept
 Increment operator (postfix) More...
 
Iteratoroperator-- () noexcept
 Decrement operator (prefix) More...
 
Iterator operator-- (int) noexcept
 Decrement operator (postfix) More...
 
constexpr bool operator!= (const Iterator &other) const noexcept
 Inequality operator. More...
 
constexpr bool operator== (const Iterator &other) const noexcept
 Equality operator. More...
 

Public Attributes

T index
 The index in the range. More...
 

Related Functions

(Note that these are not member functions.)

template<typename T >
void swap (typename Range< T >::Iterator &lhs, typename Range< T >::Iterator &rhs) noexcept
 Swap two range iterators. More...
 

Detailed Description

template<typename T>
struct gf::Range< T >::Iterator

A range iterator.

Member Typedef Documentation

◆ difference_type

template<typename T>
using gf::Range< T >::Iterator::difference_type = std::ptrdiff_t

◆ iterator_category

template<typename T>
using gf::Range< T >::Iterator::iterator_category = std::bidirectional_iterator_tag

◆ pointer

template<typename T>
using gf::Range< T >::Iterator::pointer = value_type

◆ reference

template<typename T>
using gf::Range< T >::Iterator::reference = value_type

◆ value_type

template<typename T>
using gf::Range< T >::Iterator::value_type = T

Constructor & Destructor Documentation

◆ Iterator()

template<typename T>
constexpr gf::Range< T >::Iterator::Iterator ( T  iteratorIndex)
inlinenoexcept

Constructor.

Parameters
iteratorIndexIndex in the range

Member Function Documentation

◆ operator!=()

template<typename T>
constexpr bool gf::Range< T >::Iterator::operator!= ( const Iterator other) const
inlinenoexcept

Inequality operator.

Parameters
otherAnother iterator
Returns
True if the iterator are different

◆ operator*()

template<typename T>
reference gf::Range< T >::Iterator::operator* ( )
inlinenoexcept

Dereference operator.

Returns
The index

◆ operator++() [1/2]

template<typename T>
Iterator& gf::Range< T >::Iterator::operator++ ( )
inlinenoexcept

Increment operator (prefix)

Returns
The iterator

◆ operator++() [2/2]

template<typename T>
Iterator gf::Range< T >::Iterator::operator++ ( int  )
inlinenoexcept

Increment operator (postfix)

Returns
The iterator

◆ operator--() [1/2]

template<typename T>
Iterator& gf::Range< T >::Iterator::operator-- ( )
inlinenoexcept

Decrement operator (prefix)

Returns
The iterator

◆ operator--() [2/2]

template<typename T>
Iterator gf::Range< T >::Iterator::operator-- ( int  )
inlinenoexcept

Decrement operator (postfix)

Returns
The iterator

◆ operator->()

template<typename T>
pointer gf::Range< T >::Iterator::operator-> ( )
inlinenoexcept

Pointer operator.

Returns
The index

◆ operator==()

template<typename T>
constexpr bool gf::Range< T >::Iterator::operator== ( const Iterator other) const
inlinenoexcept

Equality operator.

Parameters
otherAnother iterator
Returns
True if the iterator are the same

◆ swap()

template<typename T>
void gf::Range< T >::Iterator::swap ( Iterator other)
inlinenoexcept

Swap the iterator with another iterator.

Friends And Related Function Documentation

◆ swap()

template<typename T >
void swap ( typename Range< T >::Iterator lhs,
typename Range< T >::Iterator rhs 
)
related

Swap two range iterators.

Member Data Documentation

◆ index

template<typename T>
T gf::Range< T >::Iterator::index

The index in the range.