OpenTTD Source 20250312-master-gcdcc6b491d
LeagueTableElement Struct Reference

Struct about league table elements. More...

#include <league_base.h>

Inheritance diagram for LeagueTableElement:
Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_league_table_element_pool >

Public Member Functions

 LeagueTableElement ()
 We need an (empty) constructor so struct isn't zeroed (as C++ standard states)
 
 LeagueTableElement (LeagueTableID table, int64_t rating, CompanyID company, const EncodedString &text, const EncodedString &score, const Link &link)
 
 ~LeagueTableElement ()
 (Empty) destructor has to be defined else operator delete might be called with nullptr parameter
 
- Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_league_table_element_pool >
void * operator new (size_t size)
 Allocates space for new Titem.
 
void * operator new (size_t size, Tindex index)
 Allocates space for new Titem with given index.
 
void * operator new (size_t, void *ptr)
 Allocates space for new Titem at given memory address.
 
void operator delete (void *p, size_t size)
 Marks Titem as free.
 

Data Fields

LeagueTableID table = LeagueTableID::Invalid()
 Id of the table which this element belongs to.
 
int64_t rating = 0
 Value that determines ordering of elements in the table (higher=better)
 
CompanyID company = CompanyID::Invalid()
 Company Id to show the color blob for or CompanyID::Invalid()
 
EncodedString text {}
 Text of the element.
 
EncodedString score {}
 String representation of the score associated with the element.
 
Link link {}
 What opens when element is clicked.
 
- Data Fields inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_league_table_element_pool >
Tindex index
 Index of this pool item.
 

Additional Inherited Members

- Public Types inherited from Pool< Titem, Tindex, Tgrowth_step, Tpool_type, Tcache >::PoolItem<&_league_table_element_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<&_league_table_element_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 about league table elements.

Each LeagueTable is composed of one or more elements. Elements are sorted by their rating (higher=better).

Definition at line 32 of file league_base.h.

Constructor & Destructor Documentation

◆ LeagueTableElement() [1/2]

LeagueTableElement::LeagueTableElement ( )
inline

We need an (empty) constructor so struct isn't zeroed (as C++ standard states)

Definition at line 43 of file league_base.h.

◆ LeagueTableElement() [2/2]

LeagueTableElement::LeagueTableElement ( LeagueTableID  table,
int64_t  rating,
CompanyID  company,
const EncodedString text,
const EncodedString score,
const Link link 
)
inline

Definition at line 44 of file league_base.h.

◆ ~LeagueTableElement()

LeagueTableElement::~LeagueTableElement ( )
inline

(Empty) destructor has to be defined else operator delete might be called with nullptr parameter

Definition at line 50 of file league_base.h.

Field Documentation

◆ company

CompanyID LeagueTableElement::company = CompanyID::Invalid()

Company Id to show the color blob for or CompanyID::Invalid()

Definition at line 35 of file league_base.h.

◆ link

Link LeagueTableElement::link {}

What opens when element is clicked.

Definition at line 38 of file league_base.h.

◆ rating

int64_t LeagueTableElement::rating = 0

Value that determines ordering of elements in the table (higher=better)

Definition at line 34 of file league_base.h.

Referenced by ScriptLeagueWindow::BuildTable().

◆ score

EncodedString LeagueTableElement::score {}

String representation of the score associated with the element.

Definition at line 37 of file league_base.h.

◆ table

LeagueTableID LeagueTableElement::table = LeagueTableID::Invalid()

Id of the table which this element belongs to.

Definition at line 33 of file league_base.h.

◆ text

EncodedString LeagueTableElement::text {}

Text of the element.

Definition at line 36 of file league_base.h.


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