OpenTTD Source: FreeUnitIDGenerator Class Reference

OpenTTD Source 14.0-RC3

Public Member Functions | Private Types | Private Attributes | Static Private Attributes
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 1834 of file vehicle.cpp.

References FindFirstBit().

## ◆ ReleaseID()

void FreeUnitIDGenerator::ReleaseID | ( | UnitID | index | ) |

Release a unit number.

If the unit number is not valid it is ignored.

Parameters

  index | Unit number to release.

Definition at line 1866 of file vehicle.cpp.

References ClrBit().

## ◆ UseID()

UnitID FreeUnitIDGenerator::UseID | ( | UnitID | index | ) |

Use a unit number.

If the unit number is not valid it is ignored.

Parameters

  index | Unit number to use.

Returns
  Unit number used.

Definition at line 1849 of file vehicle.cpp.

References SetBit().

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

- src/company_base.h
- src/vehicle.cpp