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 68 of file HotQueue.h.
|
strongprivate |
Enumerator | |
---|---|
heap | |
bucket |
Definition at line 70 of file HotQueue.h.
|
inlineprivate |
Creates heap-type handle.
Definition at line 80 of file HotQueue.h.
|
inlineprivate |
Creates bucket-type handle.
Definition at line 83 of file HotQueue.h.
|
inline |
Definition at line 87 of file HotQueue.h.
|
inline |
Definition at line 89 of file HotQueue.h.
Definition at line 104 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 76 of file HotQueue.h.
HeapHandle ogdf::HotQueueHandle< V, P, HeapHandle >::heapHandle |
Handle to underlying heap.
Definition at line 74 of file HotQueue.h.
|
private |
Union tag.