OpenTTD Source: LinkRefresher::Hop Struct Reference

OpenTTD Source 15.0-beta1

Public Member Functions | Data Fields
LinkRefresher::Hop Struct Reference

A hop the refresh algorithm might evaluate. More...

`#include <refresh.h>`

## Public Member Functions
| Hop ()
| Default constructor should not be called but has to be visible for usage in std::set.
| Hop (OrderID from, OrderID to, CargoID cargo)
| Real constructor, only use this one.
bool | operator< (const Hop &other) const
| Comparison operator to allow hops to be used in a std::set.

## Data Fields
OrderID | from
| Last order where vehicle could interact with cargo or absolute first order.
OrderID | to
| Next order to be processed.
CargoID | cargo
| Cargo the consist is probably carrying or INVALID_CARGO if unknown.

## Detailed Description

A hop the refresh algorithm might evaluate.

If the same hop is seen again the evaluation is stopped. This of course is a fairly simple heuristic. Sequences of refit orders can produce vehicles with all kinds of different cargoes and remembering only one can lead to early termination of the algorithm. However, as the order language is Turing complete, we are facing the halting problem here. At some point we have to draw the line.

Definition at line 56 of file refresh.h.

## Constructor & Destructor Documentation

## ◆ Hop() [1/2]

LinkRefresher::Hop::Hop | ( |  | ) |
| inline

Default constructor should not be called but has to be visible for usage in std::set.

Definition at line 65 of file refresh.h.

## ◆ Hop() [2/2]

LinkRefresher::Hop::Hop | ( | OrderID | from,
|  | OrderID | to,
|  | CargoID | cargo
| ) |  |
| inline

Real constructor, only use this one.

Parameters

  from | First order of the hop.
  to | Second order of the hop.
  cargo | Cargo the consist is probably carrying when passing the hop.

Definition at line 73 of file refresh.h.

## Member Function Documentation

## ◆ operator<()

bool LinkRefresher::Hop::operator< | ( | const Hop & | other | ) | const

Comparison operator to allow hops to be used in a std::set.

Parameters

  other | Other hop to be compared with.

Returns
  If this hop is "smaller" than the other (defined by from, to and cargo in this order).

Definition at line 46 of file refresh.cpp.

References cargo, from, and to.

## Field Documentation

## ◆ cargo

CargoID LinkRefresher::Hop::cargo

Cargo the consist is probably carrying or INVALID_CARGO if unknown.

Definition at line 59 of file refresh.h.

Referenced by operator<().

## ◆ from

OrderID LinkRefresher::Hop::from

Last order where vehicle could interact with cargo or absolute first order.

Definition at line 57 of file refresh.h.

Referenced by operator<().

## ◆ to

OrderID LinkRefresher::Hop::to

Next order to be processed.

Definition at line 58 of file refresh.h.

Referenced by operator<().

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

- src/linkgraph/refresh.h
- src/linkgraph/refresh.cpp