#pragma once #include "../Platform/stdafx.h" #include "../AI/Navigation/Node.h" #include "../Platform/System.h" #include "BasicTypeContainers.h" class BinaryHeap { private: NodeArray heap; int sizeVar; // 4J Jev, add common ctor code. void _init(); public: BinaryHeap(); ~BinaryHeap(); Node *insert(Node *node); void clear(); Node *peek(); Node *pop(); void remove(Node *node); void changeCost(Node *node, float newCost); int size(); private: void upHeap(int idx); void downHeap(int idx); public: bool isEmpty(); };