| 
Static Public Member Functions | 
| static bool | CanAllocateItem (size_t n=1) | 
|  | Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() 
 | 
| static bool | CleaningPool () | 
|  | Returns current state of pool cleaning - yes or no. 
 | 
| static bool | IsValidID (size_t index) | 
|  | Tests whether given index can be used to get valid (non-NULL) Titem. 
 | 
| static Titem * | Get (size_t index) | 
|  | Returns Titem with given index. 
 | 
| static Titem * | GetIfValid (size_t index) | 
|  | Returns Titem with given index. 
 | 
| static size_t | GetPoolSize () | 
|  | Returns first unused index. 
 | 
| static size_t | GetNumItems () | 
|  | Returns number of valid items in the pool. 
 | 
| static void | PostDestructor (size_t index) | 
|  | Dummy function called after destructor of each member. 
 | 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool>
struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >
Base class for all PoolItems. 
- Template Parameters
- 
  
    | Tpool | The pool this item is going to be part of |  
 
Definition at line 146 of file pool_type.hpp.
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static bool Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::CanAllocateItem | ( | size_t | n = 1 | ) |  |  | inlinestatic | 
 
Helper functions so we can use PoolItem::Function() instead of _poolitem_pool.Function() 
Tests whether we can allocate 'n' items 
- Parameters
- 
  
    | n | number of items we want to allocate |  
 
- Returns
- true if 'n' items can be allocated 
Definition at line 216 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static bool Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::CleaningPool | ( |  | ) |  |  | inlinestatic | 
 
Returns current state of pool cleaning - yes or no. 
- Returns
- true iff we are cleaning the pool now 
Definition at line 225 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static Titem* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::Get | ( | size_t | index | ) |  |  | inlinestatic | 
 
Returns Titem with given index. 
- Parameters
- 
  
  
- Returns
- pointer to Titem 
- Precondition
- index < this->first_unused 
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, Type >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, SpecializedVehicle< RoadVehicle, Type >, SpecializedStation< T, Tis_waypoint >, SpecializedStation< Station, false >, and SpecializedStation< Waypoint, true >.
Definition at line 246 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static Titem* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::GetIfValid | ( | size_t | index | ) |  |  | inlinestatic | 
 
Returns Titem with given index. 
- Parameters
- 
  
  
- Returns
- pointer to Titem 
- Note
- returns NULL for invalid index 
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, Type >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, SpecializedVehicle< RoadVehicle, Type >, SpecializedStation< T, Tis_waypoint >, SpecializedStation< Station, false >, and SpecializedStation< Waypoint, true >.
Definition at line 257 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static size_t Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::GetNumItems | ( |  | ) |  |  | inlinestatic | 
 
Returns number of valid items in the pool. 
- Returns
- number of valid items in the pool 
Definition at line 276 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static size_t Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::GetPoolSize | ( |  | ) |  |  | inlinestatic | 
 
Returns first unused index. 
Useful when iterating over all pool items. 
- Returns
- first unused index 
Definition at line 267 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static bool Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::IsValidID | ( | size_t | index | ) |  |  | inlinestatic | 
 
Tests whether given index can be used to get valid (non-NULL) Titem. 
- Parameters
- 
  
  
- Returns
- true if PoolItem::Get(index) will return non-NULL pointer 
Reimplemented in SpecializedVehicle< T, Type >, SpecializedVehicle< DisasterVehicle, VEH_DISASTER >, SpecializedVehicle< Ship, VEH_SHIP >, SpecializedVehicle< Train, Type >, SpecializedVehicle< Aircraft, VEH_AIRCRAFT >, SpecializedVehicle< EffectVehicle, VEH_EFFECT >, SpecializedVehicle< RoadVehicle, Type >, SpecializedStation< T, Tis_waypoint >, SpecializedStation< Station, false >, and SpecializedStation< Waypoint, true >.
Definition at line 235 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | void Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::operator delete | ( | void * | p | ) |  |  | inline | 
 
Marks Titem as free. 
Its memory is released 
- Parameters
- 
  
  
- Note
- the item has to be allocated in the pool! 
Definition at line 165 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | void* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::operator new | ( | size_t | size | ) |  |  | inline | 
 
Allocates space for new Titem. 
- Parameters
- 
  
  
- Returns
- pointer to allocated memory 
- Note
- can never fail (return NULL), use CanAllocate() to check first! 
Definition at line 155 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | void* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::operator new | ( | size_t | size, |  
          |  |  | size_t | index |  
          |  | ) |  |  |  | inline | 
 
Allocates space for new Titem with given index. 
- Parameters
- 
  
    | size | size of Titem |  | index | index of item |  
 
- Returns
- pointer to allocated memory 
- Note
- can never fail (return NULL), use CanAllocate() to check first! 
- Precondition
- index has to be unused! Else it will crash 
Definition at line 181 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | void* Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::operator new | ( | size_t | size, |  
          |  |  | void * | ptr |  
          |  | ) |  |  |  | inline | 
 
Allocates space for new Titem at given memory address. 
- Parameters
- 
  
    | size | size of Titem |  | ptr | where are we allocating the item? |  
 
- Returns
- pointer to allocated memory (== ptr) 
- Note
- use of this is strongly discouraged 
- Precondition
- the memory must not be allocated in the Pool! 
Definition at line 194 of file pool_type.hpp.
 
 
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<struct Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero > * Tpool> 
  
  | 
        
          | static void Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem< Tpool >::PostDestructor | ( | size_t | index | ) |  |  | inlinestatic | 
 
Dummy function called after destructor of each member. 
If you want to use it, override it in PoolItem's subclass. 
- Parameters
- 
  
    | index | index of deleted item |  
 
- Note
- when this function is called, PoolItem::Get(index) == NULL. 
- 
it's called only when !CleaningPool() 
Reimplemented in Company, BaseStation, Town, and Industry.
Definition at line 288 of file pool_type.hpp.