OpenTTD Source: StationCargoReroute Class Reference

OpenTTD Source 14.0-RC3

Public Member Functions
StationCargoReroute Class Reference

Action of rerouting cargo in a station. More...

`#include <cargoaction.h>`

Inheritance diagram for StationCargoReroute:

## Public Member Functions
| StationCargoReroute (StationCargoList *source, StationCargoList *dest, uint max_move, StationID avoid, StationID avoid2, const GoodsEntry *ge)
bool | operator() (CargoPacket *cp)
| Reroutes some cargo from one Station sublist to another. More...
Public Member Functions inherited from CargoReroute< StationCargoList >
| CargoReroute (StationCargoList *source, StationCargoList *dest, uint max_move, StationID avoid, StationID avoid2, const GoodsEntry *ge)
Public Member Functions inherited from CargoMovement< StationCargoList, StationCargoList >
| CargoMovement (StationCargoList *source, StationCargoList *destination, uint max_move)
uint | MaxMove ()
| Returns how much more cargo can be moved with this action. More...

## Additional Inherited Members
Protected Member Functions inherited from CargoMovement< StationCargoList, StationCargoList >
CargoPacket * | Preprocess (CargoPacket *cp)
| Decides if a packet needs to be split. More...
Protected Attributes inherited from CargoReroute< StationCargoList >
StationID | avoid
StationID | avoid2
const GoodsEntry * | ge
Protected Attributes inherited from CargoMovement< StationCargoList, StationCargoList >
StationCargoList * | source
| Source of the cargo.
StationCargoList * | destination
| Destination for the cargo.
uint | max_move
| Maximum amount of cargo to be moved with this action.

## Detailed Description

Action of rerouting cargo in a station.

Definition at line 131 of file cargoaction.h.

## Member Function Documentation

## ◆ operator()()

bool StationCargoReroute::operator() | ( | CargoPacket * | cp | ) |

Reroutes some cargo from one Station sublist to another.

Parameters

  cp | Packet to be rerouted.

Returns
  True if the packet was completely rerouted, false if part of it was.

Definition at line 197 of file cargoaction.cpp.

References CargoList< Tinst, Tcont >::AddToCache(), CargoPacket::Count(), CargoMovement< StationCargoList, StationCargoList >::destination, CargoPacket::GetFirstStation(), GoodsEntry::GetVia(), MultiMap< Tkey, Tvalue, Tcompare >::Insert(), CargoList< Tinst, Tcont >::packets, CargoMovement< StationCargoList, StationCargoList >::Preprocess(), CargoList< Tinst, Tcont >::RemoveFromCache(), and CargoMovement< StationCargoList, StationCargoList >::source.

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

- src/cargoaction.h
- src/cargoaction.cpp