OpenTTD Source: SmallSet< Tdir, items > Struct Template Reference

OpenTTD Source 1.11.0-RC1

Data Structures | Public Member Functions | Private Attributes
SmallSet< Tdir, items > Struct Template Reference

Set containing 'items' items of 'tile and Tdir' No tree structure is used because it would cause slowdowns in most usual cases. More...

## Data Structures
struct | SSdata
| Element of set. More...

## Public Member Functions
| SmallSet (const char *name)
| Constructor - just set default values and 'name'.
void | Reset ()
| Reset variables to default values.
bool | Overflowed ()
| Returns value of 'overflowed'. More...
bool | IsEmpty ()
| Checks for empty set. More...
bool | IsFull ()
| Checks for full set. More...
uint | Items ()
| Reads the number of items. More...
bool | Remove (TileIndex tile, Tdir dir)
| Tries to remove first instance of given tile and dir. More...
bool | IsIn (TileIndex tile, Tdir dir)
| Tries to find given tile and dir in the set. More...
bool | Add (TileIndex tile, Tdir dir)
| Adds tile & dir into the set, checks for full set Sets the 'overflowed' flag if the set was full. More...
bool | Get (TileIndex *tile, Tdir *dir)
| Reads the last added element into the set. More...

## Private Attributes
uint | n
bool | overflowed
const char * | name
struct SmallSet::SSdata | data [items]

## Detailed Description

### template<typename Tdir, uint items>
struct SmallSet< Tdir, items >

Set containing 'items' items of 'tile and Tdir' No tree structure is used because it would cause slowdowns in most usual cases.

Definition at line 52 of file signal.cpp.

## Member Function Documentation

## ◆ Add()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::Add | ( | TileIndex | tile,
|  | Tdir | dir
| ) |  |
| inline

Adds tile & dir into the set, checks for full set Sets the 'overflowed' flag if the set was full.

Parameters

  tile | tile
  dir | and dir to add

Returns
  true iff the item could be added (set wasn't full)

Definition at line 152 of file signal.cpp.

References DEBUG, and SmallSet< Tdir, items >::IsFull().

## ◆ Get()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::Get | ( | TileIndex * | tile,
|  | Tdir * | dir
| ) |  |
| inline

Reads the last added element into the set.

Parameters

  tile | pointer where tile is written to
  dir | pointer where dir is written to

Returns
  false iff the set was empty

Definition at line 173 of file signal.cpp.

## ◆ IsEmpty()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::IsEmpty | ( |  | ) |
| inline

Checks for empty set.

Returns
  is the set empty?

Definition at line 88 of file signal.cpp.

## ◆ IsFull()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::IsFull | ( |  | ) |
| inline

Checks for full set.

Returns
  is the set full?

Definition at line 97 of file signal.cpp.

References lengthof.

Referenced by SmallSet< Tdir, items >::Add().

## ◆ IsIn()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::IsIn | ( | TileIndex | tile,
|  | Tdir | dir
| ) |  |
| inline

Tries to find given tile and dir in the set.

Parameters

  tile | tile
  dir | and dir to find

Returns
  true iff the tile & dir element was found

Definition at line 136 of file signal.cpp.

## ◆ Items()

template<typename Tdir , uint items>

uint SmallSet< Tdir, items >::Items | ( |  | ) |
| inline

Reads the number of items.

Returns
  current number of items

Definition at line 106 of file signal.cpp.

## ◆ Overflowed()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::Overflowed | ( |  | ) |
| inline

Returns value of 'overflowed'.

Returns
  did we try to overflow the set?

Definition at line 79 of file signal.cpp.

## ◆ Remove()

template<typename Tdir , uint items>

bool SmallSet< Tdir, items >::Remove | ( | TileIndex | tile,
|  | Tdir | dir
| ) |  |
| inline

Tries to remove first instance of given tile and dir.

Parameters

  tile | tile
  dir | and dir to remove

Returns
  element was found and removed

Definition at line 118 of file signal.cpp.

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

- src/signal.cpp