# order_base.h File Reference

Base class for orders. More...

`#include "order_type.h"`
`#include "oldpool.h"`
`#include "core/bitmath_func.hpp"`
`#include "cargo_type.h"`
`#include "depot_type.h"`
`#include "station_type.h"`
`#include "vehicle_type.h"`
`#include "waypoint_type.h"`

Go to the source code of this file.

## Data Structures

struct | Order
struct | OrderList
| Shared order list linking together the linked list of orders and the list of vehicles sharing this order list. More...

## Defines

#define | FOR_ALL_ORDERS_FROM(order, start) for (order = GetOrder(start); order != NULL; order = (order->index + 1U < GetOrderPoolSize()) ? GetOrder(order->index + 1U) : NULL) if (order->IsValid())
#define | FOR_ALL_ORDERS(order) FOR_ALL_ORDERS_FROM(order, 0)
#define | FOR_VEHICLE_ORDERS(v, order) for (order = (v->orders.list == NULL) ? NULL : v->orders.list->GetFirstOrder(); order != NULL; order = order->next)
#define | FOR_ALL_ORDER_LISTS_FROM(ol, start) for (ol = GetOrderList(start); ol != NULL; ol = (ol->index + 1U < GetOrderListPoolSize()) ? GetOrderList(ol->index + 1U) : NULL) if (ol->IsValid())
#define | FOR_ALL_ORDER_LISTS(ol) FOR_ALL_ORDER_LISTS_FROM(ol, 0)

## Functions

static VehicleOrderID | GetMaxOrderIndex ()
static VehicleOrderID | GetNumOrders ()
static bool | IsValidOrderListID (uint index)

## Detailed Description

Base class for orders.

Definition in file order_base.h.