OpenTTD Source: LinkGraph::Edge Class Reference

OpenTTD Source 12.0-beta1

Public Member Functions
LinkGraph::Edge Class Reference

An updatable edge class. More...

`#include <linkgraph.h>`

Inheritance diagram for LinkGraph::Edge:

## Public Member Functions
| Edge (BaseEdge &edge)
| Constructor. More...
void | Update (uint capacity, uint usage, EdgeUpdateMode mode)
| Update an edge. More...
void | Restrict ()
void | Release ()
Public Member Functions inherited from LinkGraph::EdgeWrapper< BaseEdge >
| EdgeWrapper (BaseEdge &edge)
| Wrap a an edge. More...
uint | Capacity () const
| Get edge's capacity. More...
uint | Usage () const
| Get edge's usage. More...
Date | LastUnrestrictedUpdate () const
| Get the date of the last update to the edge's unrestricted capacity. More...
Date | LastRestrictedUpdate () const
| Get the date of the last update to the edge's restricted capacity. More...
Date | LastUpdate () const
| Get the date of the last update to any part of the edge's capacity. More...

## Additional Inherited Members
Protected Attributes inherited from LinkGraph::EdgeWrapper< BaseEdge >
BaseEdge & | edge
| Actual edge to be used.

## Detailed Description

An updatable edge class.

Definition at line 292 of file linkgraph.h.

## Constructor & Destructor Documentation

## ◆ Edge()

LinkGraph::Edge::Edge | ( | BaseEdge & | edge | ) |
| inline

Constructor.

Parameters

  edge | Edge to be wrapped.

Definition at line 298 of file linkgraph.h.

## Member Function Documentation

## ◆ Update()

void LinkGraph::Edge::Update | ( | uint | capacity,
|  | uint | usage,
|  | EdgeUpdateMode | mode
| ) |  |

Update an edge.

If mode contains UM_REFRESH refresh the edge to have at least the given capacity and usage, otherwise add the capacity and usage. In any case set the respective update timestamp(s), according to the given mode.

Parameters

  capacity | Capacity to be added/updated.
  usage | Usage to be added.
  mode | Update mode to be applied.

Definition at line 259 of file linkgraph.cpp.

References _date, EUM_INCREASE, EUM_REFRESH, EUM_RESTRICTED, and EUM_UNRESTRICTED.

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

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