# engine_base.h File Reference

Base class for engines. More...

`#include "engine_type.h"`
`#include "economy_type.h"`
`#include "oldpool.h"`
`#include "core/smallvec_type.hpp"`

Go to the source code of this file.

## Data Structures

struct | Engine
struct | EngineIDMapping
struct | EngineOverrideManager
| Stores the mapping of EngineID to the internal id of newgrfs. More...

## Defines

#define | FOR_ALL_ENGINES_FROM(e, start) for (e = GetEngine(start); e != NULL; e = (e->index + 1U < GetEnginePoolSize()) ? GetEngine(e->index + 1U) : NULL) if (e->IsValid())
#define | FOR_ALL_ENGINES(e) FOR_ALL_ENGINES_FROM(e, 0)
#define | FOR_ALL_ENGINES_OF_TYPE(e, engine_type) FOR_ALL_ENGINES(e) if (e->type == engine_type)

## Functions

static bool | IsEngineIndex (uint index)
static const EngineInfo * | EngInfo (EngineID e)
static const RailVehicleInfo * | RailVehInfo (EngineID e)
static const RoadVehicleInfo * | RoadVehInfo (EngineID e)
static const ShipVehicleInfo * | ShipVehInfo (EngineID e)
static const AircraftVehicleInfo * | AircraftVehInfo (EngineID e)

## Variables

EngineOverrideManager | _engine_mngr

## Detailed Description

Base class for engines.

Definition in file engine_base.h.