# CYapfRailNodeT< Tkey_ > Struct Template Reference

Yapf Node for rail YAPF. More...

`#include <yapf_node_rail.hpp>`

Inheritance diagram for CYapfRailNodeT< Tkey_ >:

## Public Types

typedef CYapfNodeT< Tkey_, CYapfRailNodeT< Tkey_ > > | base
typedef CYapfRailSegment | CachedData

## Public Member Functions

FORCEINLINE void | Set (CYapfRailNodeT *parent, TileIndex tile, Trackdir td, bool is_choice)
FORCEINLINE TileIndex | GetLastTile () const
FORCEINLINE Trackdir | GetLastTrackdir () const
FORCEINLINE void | SetLastTileTrackdir (TileIndex tile, Trackdir td)
template<class Tbase , class Tfunc , class Tpf >
bool | IterateTiles (const Train *v, Tpf &yapf, Tbase &obj, bool(Tfunc::*func)(TileIndex, Trackdir)) const
void | Dump (DumpTarget &dmp) const

## Data Fields

CYapfRailSegment * | m_segment
uint16 | m_num_signals_passed
union {
uint32 m_inherited_flags
struct {
bool m_targed_seen: 1
bool m_choice_seen: 1
bool m_last_signal_was_red: 1
} flags_s
} | flags_u
SignalType | m_last_red_signal_type
SignalType | m_last_signal_type

## Detailed Description

### template<class Tkey_>
struct CYapfRailNodeT< Tkey_ >

Yapf Node for rail YAPF.

Definition at line 192 of file yapf_node_rail.hpp.

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

- src/pathfinder/yapf/yapf_node_rail.hpp