OpenTTD Source  20241121-master-g67a0fccfad
CargoMovement< Tsource, Tdest > Class Template Reference

Abstract action for moving cargo from one list to another. More...

#include <cargoaction.h>

Inheritance diagram for CargoMovement< Tsource, Tdest >:
CargoReroute< StationCargoList > StationCargoReroute

Public Member Functions

 CargoMovement (Tsource *source, Tdest *destination, uint max_move)
 
uint MaxMove ()
 Returns how much more cargo can be moved with this action. More...
 

Protected Member Functions

CargoPacketPreprocess (CargoPacket *cp)
 Decides if a packet needs to be split. More...
 

Protected Attributes

Tsource * source
 Source of the cargo.
 
Tdest * destination
 Destination for the cargo.
 
uint max_move
 Maximum amount of cargo to be moved with this action.
 

Detailed Description

template<class Tsource, class Tdest>
class CargoMovement< Tsource, Tdest >

Abstract action for moving cargo from one list to another.

Template Parameters
TsourceCargoList subclass to remove cargo from.
TdestCargoList subclass to add cargo to.

Definition at line 56 of file cargoaction.h.

Member Function Documentation

◆ MaxMove()

template<class Tsource , class Tdest >
uint CargoMovement< Tsource, Tdest >::MaxMove ( )
inline

Returns how much more cargo can be moved with this action.

Returns
Amount of cargo this action can still move.

Definition at line 69 of file cargoaction.h.

References CargoMovement< Tsource, Tdest >::max_move.

◆ Preprocess()

template<class Tsource , class Tdest >
CargoPacket * CargoMovement< Tsource, Tdest >::Preprocess ( CargoPacket cp)
protected

Decides if a packet needs to be split.

Parameters
cpPacket to be either split or moved in one piece.
Returns
Either new packet if splitting was necessary or the given one otherwise.

Definition at line 24 of file cargoaction.cpp.

Referenced by StationCargoReroute::operator()().


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