Public Member Functions | Protected Member Functions | Protected Attributes

CargoMovement< Tsource, Tdest > Class Template Reference

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

#include <cargoaction.h>

Public Member Functions

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

Protected Member Functions

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

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:
Tsource CargoList subclass to remove cargo from.
Tdest CargoList subclass to add cargo to.

Definition at line 57 of file cargoaction.h.


Member Function Documentation

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 70 of file cargoaction.h.

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

Decides if a packet needs to be split.

Parameters:
cp Packet 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.

References CargoPacket::Count(), CargoMovement< Tsource, Tdest >::max_move, and CargoPacket::Split().


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