# engine_base.h File Reference

Base class for engines. More...

`#include "company_type.h"`
`#include "engine_type.h"`
`#include "vehicle_type.h"`
`#include "core/pool_type.hpp"`
`#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(var, start) FOR_ALL_ITEMS_FROM(Engine, engine_index, var, start)
#define | FOR_ALL_ENGINES(var) FOR_ALL_ENGINES_FROM(var, 0)
#define | FOR_ALL_ENGINES_OF_TYPE(e, engine_type) FOR_ALL_ENGINES(e) if (e->type == engine_type)

## Typedefs

typedef Pool< Engine, EngineID, 64, 64000 > | EnginePool

## Functions

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

EnginePool | _engine_pool
EngineOverrideManager | _engine_mngr

## Detailed Description

Base class for engines.

Definition in file engine_base.h.