Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Public Attributes | List of all members
PriorityQueueHeap< ID, R, 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)
 
Itemfind (ID id)
 
void promote (ID id, R newrank)
 
Item pop ()
 
bool empty ()
 
size_t size ()
 

Public Attributes

std::vector< Itemm_Heap
 

Detailed Description

template<typename ID, typename R, typename CMP = std::less<R>>
class PriorityQueueHeap< ID, R, 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.

Definition at line 61 of file PriorityQueue.h.

Member Function Documentation

template<typename ID, typename R, typename CMP = std::less<R>>
bool PriorityQueueHeap< ID, R, CMP >::empty ( )
inline

Definition at line 113 of file PriorityQueue.h.

template<typename ID, typename R, typename CMP = std::less<R>>
Item* PriorityQueueHeap< ID, R, CMP >::find ( ID  id)
inline

Definition at line 76 of file PriorityQueue.h.

template<typename ID, typename R, typename CMP = std::less<R>>
Item PriorityQueueHeap< ID, R, CMP >::pop ( )
inline

Definition at line 102 of file PriorityQueue.h.

template<typename ID, typename R, typename CMP = std::less<R>>
void PriorityQueueHeap< ID, R, CMP >::promote ( ID  id,
newrank 
)
inline

Definition at line 86 of file PriorityQueue.h.

template<typename ID, typename R, typename CMP = std::less<R>>
void PriorityQueueHeap< ID, R, CMP >::push ( const Item item)
inline

Definition at line 70 of file PriorityQueue.h.

template<typename ID, typename R, typename CMP = std::less<R>>
size_t PriorityQueueHeap< ID, R, CMP >::size ( )
inline

Definition at line 118 of file PriorityQueue.h.

Member Data Documentation

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

Definition at line 123 of file PriorityQueue.h.


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