| OpenTTD
    | 
CSegmentCostCacheT - template class providing hash-map and storage (heap) of Tsegment structures. More...
#include <yapf_costcache.hpp>
 
  
 | Public Types | |
| typedef CHashTableT< Tsegment, C_HASH_BITS > | HashTable | 
| typedef SmallArray< Tsegment > | Heap | 
| typedef Tsegment::Key | Key | 
| key to hash table | |
| Public Member Functions | |
| void | Flush () | 
| flush (clear) the cache | |
| Tsegment & | Get (Key &key, bool *found) | 
| Data Fields | |
| HashTable | m_map | 
| Heap | m_heap | 
| Static Public Attributes | |
| static const int | C_HASH_BITS = 14 | 
|  Static Public Attributes inherited from CSegmentCostCacheBase | |
| static int | s_rail_change_counter = 0 | 
| if any track changes, this counter is incremented - that will invalidate segment cost cache | |
| Additional Inherited Members | |
|  Static Public Member Functions inherited from CSegmentCostCacheBase | |
| static void | NotifyTrackLayoutChange (TileIndex tile, Track track) | 
CSegmentCostCacheT - template class providing hash-map and storage (heap) of Tsegment structures.
Each rail node contains pointer to the segment that contains cached (or non-cached) segment cost information. Nodes can differ by key type, but they use the same segment type. Segment key should be always the same (TileIndex + DiagDirection) that represent the beginning of the segment (origin tile and exit-dir from this tile). Different CYapfCachedCostT types can share the same type of CSegmentCostCacheT. Look at CYapfRailSegment (yapf_node_rail.hpp) for the segment example
Definition at line 124 of file yapf_costcache.hpp.
 1.8.1.2
 1.8.1.2