Go to the documentation of this file.
10 #ifndef FocalOpenClosed_h
11 #define FocalOpenClosed_h
22 template<
typename state>
37 template<
typename state,
typename CmpKey,
class dataStructure = FocalOpenClosedData<state> >
42 void Reset(uint64_t maxKey=0);
47 inline dataStructure &
Lookup(uint64_t objKey) {
return elements[objKey]; }
48 inline const dataStructure &
Lookat(uint64_t objKey)
const {
return elements[objKey]; }
49 void Remove(uint64_t hash);
52 uint64_t
Close(uint64_t objKey);
53 void Reopen(uint64_t objKey);
dataLocation Lookup(uint64_t hashKey, uint64_t &objKey) const
uint64_t PeekFocal() const
uint64_t GetOpenItem(unsigned int which)
const dataStructure & Lookat(uint64_t objKey) const
uint64_t AddOpenNode(const state &val, uint64_t hash, double f, double g, double h, uint64_t parent=kTAStarNoNode)
void Reopen(uint64_t objKey)
uint64_t PeekOpen() const
void KeyChanged(uint64_t objKey)
void Remove(uint64_t hash)
const uint64_t kTAStarNoNode
FocalOpenClosedData(const state &theData, double fCost, double gCost, double hCost, uint64_t parent, uint64_t openLoc, dataLocation location)
dataStructure & Lookup(uint64_t objKey)
void Reset(uint64_t maxKey=0)
uint64_t Close(uint64_t objKey)
A simple & efficient Heap class which uses Graph objects.
uint64_t AddClosedNode(state &val, uint64_t hash, double f, double g, double h, uint64_t parent=kTAStarNoNode)
size_t ClosedSize() const