Data Structures | Defines | Typedefs | Variables

# linkgraph.h File Reference

Declaration of link graph classes used for cargo distribution. More...

`#include "../core/pool_type.hpp"`
`#include "../core/smallmap_type.hpp"`
`#include "../core/smallmatrix_type.hpp"`
`#include "../station_base.h"`
`#include "../cargo_type.h"`
`#include "../date_func.h"`
`#include "linkgraph_type.h"`
`#include "../core/smallmatrix_type.hpp"`

Go to the source code of this file.

## Data Structures
class | LinkGraph
| A connected component of a link graph. More...
struct | LinkGraph::BaseNode
| Node of the link graph. More...
struct | LinkGraph::BaseEdge
| An edge in the link graph. More...
class | LinkGraph::EdgeWrapper< Tedge >
| Wrapper for an edge (const or not) allowing retrieval, but no modification. More...
class | LinkGraph::NodeWrapper< Tnode, Tedge >
| Wrapper for a node (const or not) allowing retrieval, but no modification. More...
class | LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >
| Base class for iterating across outgoing edges of a node. More...
class | LinkGraph::BaseEdgeIterator< Tedge, Tedge_wrapper, Titer >::FakePointer
| A "fake" pointer to enable operator-> on temporaries. More...
class | LinkGraph::Edge
| An updatable edge class. More...
class | LinkGraph::ConstEdgeIterator
| An iterator for const edges. More...
class | LinkGraph::EdgeIterator
| An iterator for non-const edges. More...
class | LinkGraph::ConstNode
| Constant node class. More...
class | LinkGraph::Node
| Updatable node class. More...
## Defines
#define | FOR_ALL_LINK_GRAPHS(var) FOR_ALL_ITEMS_FROM(LinkGraph, link_graph_index, var, 0)
## Typedefs
typedef Pool< LinkGraph, LinkGraphID, 32, 0xFFFFFF > | LinkGraphPool
| Type of the pool for link graph components.
## Variables
LinkGraphPool | _link_graph_pool
| The actual pool with link graphs.

## Detailed Description

Declaration of link graph classes used for cargo distribution.

Declaration of link graph job classes used for cargo distribution.

Definition in file linkgraph.h.

## Typedef Documentation

typedef Pool<LinkGraph, LinkGraphID, 32, 0xFFFFFF> LinkGraphPool

Type of the pool for link graph components.

Each station can be in at up to 32 link graphs. So we allow for plenty of them to be created.

Definition at line 24 of file linkgraph.h.

## Variable Documentation

LinkGraphPool _link_graph_pool

The actual pool with link graphs.