ECSM v0.2.0
LinearPool< T, DestroyItems >::Iterator

Linear pool iterator class. More...

#include <linear-pool.hpp>

Public Types

using iterator_category = std::random_access_iterator_tag
 
using value_type = T
 
using difference_type = ptrdiff_t
 
using pointer = value_type*
 
using reference = value_type&
 

Public Member Functions

 Iterator (pointer ptr) noexcept
 
Iteratoroperator= (const Iterator &i) noexcept=default
 
Iteratoroperator= (pointer ptr) noexcept
 
 operator bool () const noexcept
 
bool operator== (const Iterator &i) const noexcept
 
bool operator!= (const Iterator &i) const noexcept
 
Iteratoroperator+= (const difference_type &m) noexcept
 
Iteratoroperator-= (const difference_type &m) noexcept
 
Iteratoroperator++ () noexcept
 
Iteratoroperator-- () noexcept
 
Iterator operator++ (int) noexcept
 
Iterator operator-- (int) noexcept
 
Iterator operator+ (const difference_type &m) noexcept
 
Iterator operator- (const difference_type &m) noexcept
 
difference_type operator- (const Iterator &i) noexcept
 
reference operator* () const noexcept
 
pointer operator-> () noexcept
 

Detailed Description

template<class T, bool DestroyItems>
struct ecsm::LinearPool< T, DestroyItems >::Iterator

Linear pool iterator class.