Heap-on-Top handle to inserted items. More...
#include <ogdf/basic/heap/HotQueue.h>
Public Member Functions | |
| HotQueueHandle (const HotQueueHandle &other) | |
| HotQueueHandle & | operator= (const HotQueueHandle &other) |
Private Types | |
| enum class | Type { heap , bucket } |
Private Member Functions | |
| HotQueueHandle (HeapHandle handle) | |
| Creates heap-type handle. | |
| HotQueueHandle (std::size_t index, HotQueueNode< V, P > *queueNode) | |
| Creates bucket-type handle. | |
Private Attributes | ||
| union { | ||
| std::pair< std::size_t, HotQueueNode< V, P > * > bucketHandle | ||
| Handle to bucket element (bucket index and list iterator). More... | ||
| HeapHandle heapHandle | ||
| Handle to underlying heap. More... | ||
| }; | ||
| enum ogdf::HotQueueHandle::Type | type | |
| Union tag. | ||
Friends | |
| template<typename V1 , typename P1 , template< typename T, typename C > class H1> | |
| class | HotQueue |
Heap-on-Top handle to inserted items.
This structure is essentially just an tagged union of either bucket handle or native handle to underlying heap.
| V | Denotes type of values of inserted elements. |
| P | Denotes type of priorities of inserted elements. |
| HeapHandle | Denotes type of handle of underlying heap. |
Definition at line 70 of file HotQueue.h.
|
strongprivate |
| Enumerator | |
|---|---|
| heap | |
| bucket | |
Definition at line 72 of file HotQueue.h.
|
inlineprivate |
Creates heap-type handle.
Definition at line 82 of file HotQueue.h.
|
inlineprivate |
Creates bucket-type handle.
Definition at line 85 of file HotQueue.h.
|
inline |
Definition at line 89 of file HotQueue.h.
|
inline |
Definition at line 91 of file HotQueue.h.
|
friend |
Definition at line 106 of file HotQueue.h.
| union { ... } ogdf::HotQueueHandle< V, P, HeapHandle > |
| std::pair<std::size_t, HotQueueNode<V, P>*> ogdf::HotQueueHandle< V, P, HeapHandle >::bucketHandle |
Handle to bucket element (bucket index and list iterator).
Definition at line 78 of file HotQueue.h.
| HeapHandle ogdf::HotQueueHandle< V, P, HeapHandle >::heapHandle |
Handle to underlying heap.
Definition at line 76 of file HotQueue.h.
|
private |
Union tag.