OpenTTD
Public Member Functions | Data Fields
FreeUnitIDGenerator Struct Reference

Generates sequence of free UnitID numbers. More...

#include <vehicle_base.h>

Public Member Functions

 FreeUnitIDGenerator (VehicleType type, CompanyID owner)
 Initializes the structure.
UnitID NextID ()
 Returns next free UnitID.
 ~FreeUnitIDGenerator ()
 Releases allocated memory.

Data Fields

bool * cache
 array of occupied unit id numbers
UnitID maxid
 maximum ID at the moment of constructor call
UnitID curid
 last ID returned; 0 if none

Detailed Description

Generates sequence of free UnitID numbers.

Definition at line 1159 of file vehicle_base.h.

Constructor & Destructor Documentation

FreeUnitIDGenerator::FreeUnitIDGenerator ( VehicleType  type,
CompanyID  owner 
)

Initializes the structure.

Vehicle unit numbers are supposed not to change after struct initialization, except after each call to this->NextID() the returned value is assigned to a vehicle.

Parameters
typetype of vehicle
ownerowner of vehicles

Definition at line 1651 of file vehicle.cpp.

References cache, FOR_ALL_VEHICLES, maxid, Vehicle::owner, BaseVehicle::type, and Vehicle::unitnumber.

Member Function Documentation

UnitID FreeUnitIDGenerator::NextID ( )

Returns next free UnitID.

Supposes the last returned value was assigned to a vehicle.

Definition at line 1677 of file vehicle.cpp.

References cache, and curid.

Referenced by ChangeOwnershipOfCompanyItems(), and GetFreeUnitNumber().


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