OpenTTD
Data Structures | Macros | 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 "../cargotype.h"
#include "../date_func.h"
#include "linkgraph_type.h"

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...

Macros

#define FOR_ALL_LINK_GRAPHS(var)   FOR_ALL_ITEMS_FROM(LinkGraph, link_graph_index, var, 0)

Typedefs

typedef Pool< LinkGraph,
LinkGraphID, 32, 0xFFFF > 
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.

Definition in file linkgraph.h.

Typedef Documentation

typedef Pool<LinkGraph, LinkGraphID, 32, 0xFFFF> 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.