OpenTTD Source  20241125-master-g5b02f51e17
FreeUnitIDGenerator Class Reference

Public Member Functions

UnitID NextID () const
 Find first unused unit number. More...
 
UnitID UseID (UnitID index)
 Use a unit number. More...
 
void ReleaseID (UnitID index)
 Release a unit number. More...
 

Private Types

using BitmapStorage = size_t
 

Private Attributes

std::vector< BitmapStorage > used_bitmap
 

Static Private Attributes

static constexpr size_t BITMAP_SIZE = std::numeric_limits<BitmapStorage>::digits
 

Detailed Description

Definition at line 52 of file company_base.h.

Member Function Documentation

◆ NextID()

UnitID FreeUnitIDGenerator::NextID ( ) const

Find first unused unit number.

This does not mark the unit number as used.

Returns
First unused unit number.

Definition at line 1848 of file vehicle.cpp.

References FindFirstBit().

Referenced by CmdCreateGroup().

◆ ReleaseID()

void FreeUnitIDGenerator::ReleaseID ( UnitID  index)

Release a unit number.

If the unit number is not valid it is ignored.

Parameters
indexUnit number to release.

Definition at line 1880 of file vehicle.cpp.

References ClrBit().

Referenced by CmdDeleteGroup().

◆ UseID()

UnitID FreeUnitIDGenerator::UseID ( UnitID  index)

Use a unit number.

If the unit number is not valid it is ignored.

Parameters
indexUnit number to use.
Returns
Unit number used.

Definition at line 1863 of file vehicle.cpp.

References SetBit().

Referenced by CmdCreateGroup().


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