OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

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 26 of file cargoaction.cpp.

References CargoPacket::Count(), and CargoPacket::Split().

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

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