OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Static Public Member Functions | Static Public Attributes
SpecializedStation< T, Tis_waypoint > Struct Template Reference

Class defining several overloaded accessors so we don't have to cast base stations that often. More...

`#include <base_station_base.h>`

Inheritance diagram for SpecializedStation< T, Tis_waypoint >:

## Public Member Functions
| SpecializedStation (TileIndex tile)
| Set station type correctly.
Public Member Functions inherited from BaseStation
| BaseStation (TileIndex tile)
| Initialize the base station.
virtual bool | TileBelongsToRailStation (TileIndex tile) const =0
| Check whether a specific tile belongs to this station.
virtual uint32 | GetNewGRFVariable (const struct ResolverObject &object, byte variable, byte parameter, bool *available) const =0
| Helper function to get a NewGRF variable that isn't implemented by the base class.
virtual void | UpdateVirtCoord ()=0
| Update the coordinated of the sign (as shown in the viewport).
virtual void | GetTileArea (TileArea *ta, StationType type) const =0
| Get the tile area for a given station type.
virtual uint | GetPlatformLength (TileIndex tile) const =0
| Obtain the length of a platform.
virtual uint | GetPlatformLength (TileIndex tile, DiagDirection dir) const =0
| Determines the REMAINING length of a platform, starting at (and including) the given tile.
bool | IsInUse () const
| Check whether the base station currently is in use; in use means that it is not scheduled for deletion and that it still has some facilities left.
Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >
void * | operator new (size_t size)
| Allocates space for new Titem.
void * | operator new (size_t size, size_t index)
| Allocates space for new Titem with given index.
void * | operator new (size_t size, void *ptr)
| Allocates space for new Titem at given memory address.
void | operator delete (void *p)
| Marks Titem as free.

## Static Public Member Functions
static bool | IsExpected (const BaseStation *st)
| Helper for checking whether the given station is of this type.
static bool | IsValidID (size_t index)
| Tests whether given index is a valid index for station of this type.
static T * | Get (size_t index)
| Gets station with given index.
static T * | GetIfValid (size_t index)
| Returns station if the index is a valid index for this station type.
static T * | GetByTile (TileIndex tile)
| Get the station belonging to a specific tile.
static T * | From (BaseStation *st)
| Converts a BaseStation to SpecializedStation with type checking.
static const T * | From (const BaseStation *st)
| Converts a const BaseStation to const SpecializedStation with type checking.
Static Public Member Functions inherited from BaseStation
static void | PostDestructor (size_t index)
| Invalidating of the JoinStation window has to be done after removing item from the pool.
Static Public Member Functions inherited from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_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 size_t | GetPoolSize ()
| Returns first unused index.
static size_t | GetNumItems ()
| Returns number of valid items in the pool.

## Static Public Attributes
static const StationFacility | EXPECTED_FACIL = Tis_waypoint ? FACIL_WAYPOINT : FACIL_NONE
| Specialized type.

## Additional Inherited Members
Data Fields inherited from BaseStation
TileIndex | xy
| Base tile of the station.
ViewportSign | sign
| NOSAVE: Dimensions of sign.
byte | delete_ctr
| Delete counter. If greater than 0 then it is decremented until it reaches 0; the waypoint is then is deleted.
char * | name
| Custom name.
StringID | string_id
| Default name (town area) of station.
Town * | town
| The town this station is associated with.
OwnerByte | owner
| The owner of this station.
StationFacilityByte | facilities
| The facilities that this station has.
uint8 | num_specs
| Number of specs in the speclist.
StationSpecList * | speclist
| List of station specs of this station.
Date | build_date
| Date of construction.
uint16 | random_bits
| Random bits assigned to this station.
byte | waiting_triggers
| Waiting triggers (NewGRF) for this station.
uint8 | cached_anim_triggers
| NOSAVE: Combined animation trigger bitmask, used to determine if trigger processing should happen.
uint32 | cached_cargo_triggers
| NOSAVE: Combined cargo trigger bitmask.
TileArea | train_station
| Tile area the train 'station' part covers.
StationRect | rect
| NOSAVE: Station spread out rectangle maintained by StationRect::xxx() functions.

## Detailed Description

### template<class T, bool Tis_waypoint>
struct SpecializedStation< T, Tis_waypoint >

Class defining several overloaded accessors so we don't have to cast base stations that often.

Definition at line 169 of file base_station_base.h.

## Constructor & Destructor Documentation

template<class T, bool Tis_waypoint>

SpecializedStation< T, Tis_waypoint >::SpecializedStation | ( | TileIndex | tile | ) |
| inline

Set station type correctly.

Parameters

  tile | The base tile of the station.

Definition at line 176 of file base_station_base.h.

## Member Function Documentation

template<class T, bool Tis_waypoint>

static T* SpecializedStation< T, Tis_waypoint >::From | ( | BaseStation * | st | ) |
| inline static

Converts a BaseStation to SpecializedStation with type checking.

Parameters

  st | BaseStation pointer

Returns
  pointer to SpecializedStation

Definition at line 235 of file base_station_base.h.

template<class T, bool Tis_waypoint>

static const T* SpecializedStation< T, Tis_waypoint >::From | ( | const BaseStation * | st | ) |
| inline static

Converts a const BaseStation to const SpecializedStation with type checking.

Parameters

  st | BaseStation pointer

Returns
  pointer to SpecializedStation

Definition at line 246 of file base_station_base.h.

template<class T, bool Tis_waypoint>

static T* SpecializedStation< T, Tis_waypoint >::Get | ( | size_t | index | ) |
| inline static

Gets station with given index.

Returns
  pointer to station with given index casted to T *

Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >.

Definition at line 206 of file base_station_base.h.

Referenced by SpecializedStation< Waypoint, true >::Get(), and SpecializedStation< Waypoint, true >::GetIfValid().

template<class T, bool Tis_waypoint>

static T* SpecializedStation< T, Tis_waypoint >::GetByTile | ( | TileIndex | tile | ) |
| inline static

Get the station belonging to a specific tile.

Parameters

  tile | The tile to get the station from.

Returns
  the station associated with that tile.

Reimplemented from BaseStation.

Definition at line 225 of file base_station_base.h.

template<class T, bool Tis_waypoint>

static T* SpecializedStation< T, Tis_waypoint >::GetIfValid | ( | size_t | index | ) |
| inline static

Returns station if the index is a valid index for this station type.

Returns
  pointer to station with given index if it's a station of this type

Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >.

Definition at line 215 of file base_station_base.h.

Referenced by SpecializedStation< Waypoint, true >::GetByTile().

template<class T, bool Tis_waypoint>

static bool SpecializedStation< T, Tis_waypoint >::IsExpected | ( | const BaseStation * | st | ) |
| inline static

Helper for checking whether the given station is of this type.

Parameters

  st | the station to check.

Returns
  true if the station is the type we expect it to be.

Definition at line 187 of file base_station_base.h.

Referenced by SpecializedStation< Waypoint, true >::From(), and SpecializedStation< Waypoint, true >::IsValidID().

template<class T, bool Tis_waypoint>

static bool SpecializedStation< T, Tis_waypoint >::IsValidID | ( | size_t | index | ) |
| inline static

Tests whether given index is a valid index for station of this type.

Parameters

  index | tested index

Returns
  is this index valid index of T?

Reimplemented from Pool< Titem, Tindex, Tgrowth_step, Tmax_size, Tpool_type, Tcache, Tzero >::PoolItem<&_station_pool >.

Definition at line 197 of file base_station_base.h.

Referenced by SpecializedStation< Waypoint, true >::GetIfValid(), and SpecializedStation< Waypoint, true >::IsValidID().

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

- src/base_station_base.h