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 | Type { Type::heap, Type::bucket } |
Private Member Functions | |
HotQueueHandle (HeapHandle handle) | |
Creates heap-type handle. More... | |
HotQueueHandle (std::size_t index, HotQueueNode< V, P > *queueNode) | |
Creates bucket-type handle. More... | |
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. More... | |
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 { ... } |
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.