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 688 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:
type type of vehicle
owner owner of vehicles

Definition at line 1200 of file vehicle.cpp.

References cache, maxid, and BaseVehicle::type.


Member Function Documentation

UnitID FreeUnitIDGenerator::NextID (  ) 

Returns next free UnitID.

Supposes the last returned value was assigned to a vehicle.

Definition at line 1225 of file vehicle.cpp.

References cache, and curid.


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

Generated on Wed Mar 31 22:44:05 2010 for OpenTTD by  doxygen 1.6.1