CSegmentCostCacheT< Tsegment > Struct Template Reference

CSegmentCostCacheT - template class providing hash-map and storage (heap) of Tsegment structures. More...

#include <yapf_costcache.hpp>

Inheritance diagram for CSegmentCostCacheT< Tsegment >:
CSegmentCostCacheBase

Public Types

typedef CHashTableT< Tsegment,
C_HASH_BITS > 
HashTable
typedef SmallArray< Tsegment > Heap
typedef Tsegment::Key Key
 key to hash table

Public Member Functions

FORCEINLINE void Flush ()
 flush (clear) the cache
FORCEINLINE Tsegment & Get (Key &key, bool *found)

Data Fields

HashTable m_map
Heap m_heap

Static Public Attributes

static const int C_HASH_BITS = 14

Detailed Description

template<class Tsegment>
struct CSegmentCostCacheT< Tsegment >

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.


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

Generated on Thu Jan 20 22:58:21 2011 for OpenTTD by  doxygen 1.6.1