Pyrogenesis  trunk
Classes | Public Member Functions | Public Attributes | List of all members
PriorityQueueHeap< ID, R, H, CMP > Class Template Reference

Priority queue implemented as a binary heap. More...

#include <PriorityQueue.h>

Classes

struct  Item
 

Public Member Functions

void push (const Item &item)
 
void promote (ID id, R oldrank, R newrank, H newh)
 
Item pop ()
 
bool empty ()
 
size_t size ()
 
void clear ()
 

Public Attributes

std::vector< Itemm_Heap
 

Detailed Description

template<typename ID, typename R, typename H, typename CMP = std::less<R>>
class PriorityQueueHeap< ID, R, H, CMP >

Priority queue implemented as a binary heap.

This is quite dreadfully slow in MSVC's debug STL implementation, so we shouldn't use it unless we reimplement the heap functions more efficiently.

Member Function Documentation

template<typename ID, typename R, typename H, typename CMP = std::less<R>>
void PriorityQueueHeap< ID, R, H, CMP >::clear ( )
inline
template<typename ID, typename R, typename H, typename CMP = std::less<R>>
bool PriorityQueueHeap< ID, R, H, CMP >::empty ( )
inline
template<typename ID, typename R, typename H, typename CMP = std::less<R>>
Item PriorityQueueHeap< ID, R, H, CMP >::pop ( )
inline
template<typename ID, typename R, typename H, typename CMP = std::less<R>>
void PriorityQueueHeap< ID, R, H, CMP >::promote ( ID  id,
R  oldrank,
R  newrank,
newh 
)
inline
template<typename ID, typename R, typename H, typename CMP = std::less<R>>
void PriorityQueueHeap< ID, R, H, CMP >::push ( const Item item)
inline
template<typename ID, typename R, typename H, typename CMP = std::less<R>>
size_t PriorityQueueHeap< ID, R, H, CMP >::size ( )
inline

Member Data Documentation

template<typename ID, typename R, typename H, typename CMP = std::less<R>>
std::vector<Item> PriorityQueueHeap< ID, R, H, CMP >::m_Heap

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