OpenTTD Source 20241224-master-gee860a5c8e
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T > Struct Template Reference

Iterator to iterate all valid T of a pool. More...

#include <pool_type.hpp>

Public Types

typedef T value_type
 
typedef T * pointer
 
typedef T & reference
 
typedef size_t difference_type
 
typedef std::forward_iterator_tag iterator_category
 

Public Member Functions

 PoolIterator (size_t index)
 
bool operator== (const PoolIterator &other) const
 
bool operator!= (const PoolIterator &other) const
 
T * operator* () const
 
PoolIteratoroperator++ ()
 

Private Member Functions

void ValidateIndex ()
 

Private Attributes

size_t index
 

Detailed Description

template<class Titem, typename Tindex, size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T>
struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >

Iterator to iterate all valid T of a pool.

Template Parameters
TType of the class/struct that is going to be iterated

Definition at line 147 of file pool_type.hpp.

Member Typedef Documentation

◆ difference_type

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
typedef size_t Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::difference_type

Definition at line 151 of file pool_type.hpp.

◆ iterator_category

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
typedef std::forward_iterator_tag Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::iterator_category

Definition at line 152 of file pool_type.hpp.

◆ pointer

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
typedef T* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::pointer

Definition at line 149 of file pool_type.hpp.

◆ reference

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
typedef T& Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::reference

Definition at line 150 of file pool_type.hpp.

◆ value_type

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
typedef T Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::value_type

Definition at line 148 of file pool_type.hpp.

Constructor & Destructor Documentation

◆ PoolIterator()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::PoolIterator ( size_t  index)
inlineexplicit

Definition at line 154 of file pool_type.hpp.

Member Function Documentation

◆ operator!=()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
bool Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::operator!= ( const PoolIterator< T > &  other) const
inline

Definition at line 160 of file pool_type.hpp.

◆ operator*()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
T * Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::operator* ( ) const
inline

Definition at line 161 of file pool_type.hpp.

◆ operator++()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
PoolIterator & Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::operator++ ( )
inline

Definition at line 162 of file pool_type.hpp.

◆ operator==()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
bool Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::operator== ( const PoolIterator< T > &  other) const
inline

Definition at line 159 of file pool_type.hpp.

◆ ValidateIndex()

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
void Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::ValidateIndex ( )
inlineprivate

Definition at line 166 of file pool_type.hpp.

Field Documentation

◆ index

template<class Titem , typename Tindex , size_t Tgrowth_step, size_t Tmax_size, PoolType Tpool_type = PT_NORMAL, bool Tcache = false, bool Tzero = true>
template<class T >
size_t Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolIterator< T >::index
private

Definition at line 165 of file pool_type.hpp.


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