# CYapfFollowRailT< Types > Class Template Reference

Inheritance diagram for CYapfFollowRailT< Types >:

## Public Types
typedef Types::Tpf | Tpf
| the pathfinder class (derived from THIS class)
typedef Types::TrackFollower | TrackFollower
typedef Types::NodeList::Titem | Node
| this will be our node type
typedef Node::Key | Key
| key to hash tables
## Public Member Functions
void | PfFollowNode (Node &old_node)
| Called by YAPF to move from the given node to the next tile.
FORCEINLINE char | TransportTypeChar () const
| return debug report character to identify the transportation type
FORCEINLINE Trackdir | ChooseRailTrack (const Train *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool *path_not_found, bool reserve_track, PBSTileInfo *target)
FORCEINLINE bool | CheckReverseTrain (const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int reverse_penalty)
## Static Public Member Functions
static Trackdir | stChooseRailTrack (const Train *v, TileIndex tile, DiagDirection enterdir, TrackBits tracks, bool *path_not_found, bool reserve_track, PBSTileInfo *target)
static bool | stCheckReverseTrain (const Train *v, TileIndex t1, Trackdir td1, TileIndex t2, Trackdir td2, int reverse_penalty)
## Protected Member Functions
FORCEINLINE Tpf & | Yapf ()
| to access inherited path finder

## Detailed Description

### template<class Types>
class CYapfFollowRailT< Types >

Definition at line 362 of file yapf_rail.cpp.

## Member Function Documentation

template<class Types >

void CYapfFollowRailT< Types >::PfFollowNode | ( | Node & | old_node | ) | `[inline]`

Called by YAPF to move from the given node to the next tile.

For each reachable trackdir on the new tile creates new node, initializes it and adds it to the open list by calling Yapf().AddNewNode(n)

Definition at line 381 of file yapf_rail.cpp.

References CYapfFollowRailT< Types >::Yapf().

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

- src/pathfinder/yapf/yapf_rail.cpp