/** return the best open node */ inline Titem_ *GetBestOpenNode() { if (!m_open_queue.IsEmpty()) { return m_open_queue.Begin(); } return NULL; }
/** remove and return the best open node */ inline Titem_ *PopBestOpenNode() { if (!m_open_queue.IsEmpty()) { Titem_ *item = m_open_queue.Shift(); m_open.Pop(*item); return item; } return NULL; }