OpenTTD Source 20260108-master-g8ba1860eaa
EngineRenew Struct Reference

Struct to store engine replacements. More...

#include <autoreplace_base.h>

Inheritance diagram for EngineRenew:
Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_enginerenew_pool >

Public Member Functions

 EngineRenew (EngineRenewID index)
 
 EngineRenew (EngineRenewID index, EngineID from, EngineID to, GroupID group_id, bool replace_when_old, EngineRenew *next)
 
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_enginerenew_pool >
 PoolItem (Tindex index)
 Construct the item.
 
void * operator new (size_t)=delete
 Do not use new PoolItem, but rather PoolItem::Create.
 
void * operator new (size_t size, Tindex index)=delete
 Do not use new (index) PoolItem(...), but rather PoolItem::CreateAtIndex(index, ...).
 
void * operator new (size_t, void *ptr)=delete
 Do not use new (address) PoolItem(...).
 
void operator delete (void *p, size_t size)
 Marks Titem as free.
 

Data Fields

EngineID from = EngineID::Invalid()
 
EngineID to = EngineID::Invalid()
 
EngineRenewnext = nullptr
 
GroupID group_id = GroupID::Invalid()
 
bool replace_when_old = false
 Do replacement only when vehicle is old.
 
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_enginerenew_pool >
const Tindex index
 Index of this pool item.
 

Additional Inherited Members

- Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_enginerenew_pool >
typedef struct Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache > Pool
 Type of the pool this item is going to be part of.
 
- Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_enginerenew_pool >
static T * Create (Targs &&... args)
 Creates a new T-object in the associated pool.
 
static T * CreateAtIndex (Tindex index, Targs &&... args)
 Creates a new T-object in the associated pool.
 
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 (auto index)
 Tests whether given index can be used to get valid (non-nullptr) Titem.
 
static Titem * Get (auto index)
 Returns Titem with given index.
 
static Titem * GetIfValid (auto 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.
 
static Pool::IterateWrapper< Titem > Iterate (size_t from=0)
 Returns an iterable ensemble of all valid Titem.
 

Detailed Description

Struct to store engine replacements.

DO NOT USE outside of engine.c. Is placed here so the only exception to this rule, the saveload code, can use it.

Definition at line 33 of file autoreplace_base.h.

Constructor & Destructor Documentation

◆ EngineRenew() [1/2]

EngineRenew::EngineRenew ( EngineRenewID  index)
inline

Definition at line 40 of file autoreplace_base.h.

◆ EngineRenew() [2/2]

EngineRenew::EngineRenew ( EngineRenewID  index,
EngineID  from,
EngineID  to,
GroupID  group_id,
bool  replace_when_old,
EngineRenew next 
)
inline

Definition at line 41 of file autoreplace_base.h.

◆ ~EngineRenew()

EngineRenew::~EngineRenew ( )
inline

Definition at line 43 of file autoreplace_base.h.

Field Documentation

◆ from

EngineID EngineRenew::from = EngineID::Invalid()

Definition at line 34 of file autoreplace_base.h.

◆ group_id

GroupID EngineRenew::group_id = GroupID::Invalid()

Definition at line 37 of file autoreplace_base.h.

◆ next

EngineRenew* EngineRenew::next = nullptr

Definition at line 36 of file autoreplace_base.h.

◆ replace_when_old

bool EngineRenew::replace_when_old = false

Do replacement only when vehicle is old.

Definition at line 38 of file autoreplace_base.h.

Referenced by AddEngineReplacement(), and EngineReplacement().

◆ to

EngineID EngineRenew::to = EngineID::Invalid()

Definition at line 35 of file autoreplace_base.h.


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