OpenTTD Source 20241224-master-gf74b0cf984
PoolBase Struct Referenceabstract

Base class for base of all pools. More...

#include <pool_type.hpp>

Inheritance diagram for PoolBase:
Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >

Public Member Functions

 PoolBase (PoolType pt)
 Constructor registers this object in the pool vector.
 
virtual ~PoolBase ()
 Destructor removes this object from the pool vector and deletes the vector itself if this was the last item removed.
 
virtual void CleanPool ()=0
 Virtual method that deletes all items in the pool.
 

Static Public Member Functions

static PoolVectorGetPools ()
 Function used to access the vector of all pools.
 
static void Clean (PoolType)
 Clean all pools of given type.
 

Data Fields

const PoolType type
 Type of this pool.
 

Private Member Functions

 PoolBase (const PoolBase &other)
 Dummy private copy constructor to prevent compilers from copying the structure, which fails due to GetPools().
 

Detailed Description

Base class for base of all pools.

Definition at line 29 of file pool_type.hpp.

Constructor & Destructor Documentation

◆ PoolBase()

PoolBase::PoolBase ( PoolType  pt)
inline

Constructor registers this object in the pool vector.

Parameters
pttype of this pool.

Definition at line 48 of file pool_type.hpp.

References GetPools().

◆ ~PoolBase()

PoolBase::~PoolBase ( )
virtual

Destructor removes this object from the pool vector and deletes the vector itself if this was the last item removed.

Definition at line 19 of file pool_func.cpp.

References GetPools().

Member Function Documentation

◆ Clean()

void PoolBase::Clean ( PoolType  pt)
static

Clean all pools of given type.

Parameters
ptpool types to clean.

Definition at line 30 of file pool_func.cpp.

References GetPools().

Referenced by InitializeNetworkPools(), and ShutdownGame().

◆ CleanPool()

virtual void PoolBase::CleanPool ( )
pure virtual

Virtual method that deletes all items in the pool.

Implemented in Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >.

◆ GetPools()

static PoolVector * PoolBase::GetPools ( )
inlinestatic

Function used to access the vector of all pools.

Returns
pointer to vector of all pools

Definition at line 36 of file pool_type.hpp.

Referenced by Clean(), PoolBase(), and ~PoolBase().

Field Documentation

◆ type

const PoolType PoolBase::type

Type of this pool.

Definition at line 30 of file pool_type.hpp.


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