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
CargoPacket * | Preprocess (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 56 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 69 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:

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