|
Open Graph Drawing Framework |
v. 2023.09 (Elderberry)
|
|
|
Go to the documentation of this file.
41 #include <unordered_map>
44 namespace matching_blossom {
49 template<
typename E,
typename TWeight,
typename C = std::less<TWeight>,
50 template<
typename,
class>
class Impl = PairingHeap>
74 return this->
value(it->second).priority();
121 this->
decrease(e, -infinity<TWeight>());
The namespace for all OGDF objects.
Dummy class for scoped iteration of a std::unordered_map.
#define OGDF_ASSERT(expr)
Assert condition expr. See doc/build.md for more information.
Priority queue interface wrapping various heaps.
const T & value(handle pos) const
Returns the priority of that handle.
void decrease(Handle pos, const P &priority)
void remove(const E &e)
Remove e from the queue by decreasing its priority to the minimum. e must be present in the queue; if...
Defines a queue for handling prioritized elements.
void clear()
Removes all the entries from the queue.
std::unordered_map< E, Handle > m_handles
void pop()
Removes the top element from the heap.
void clear()
Removes all elements from this queue.
void merge(ThisQueue &other)
Merge this Priority Queue with another one. The other queue is cleared afterwards.
Handle push(const E &element, const P &priority)
Pushes a new element with the respective priority to the queue.
bool contains(const E &element) const
Returns whether this queue contains that key.
Implementation of pairing heap data structure.
const E & topElement() const
Returns the topmost element in the queue.
TWeight priority(const E &element) const
Basic declarations, included by all source files.
void decrease(const E &element, const TWeight priority)
Decreases the priority of the given element.
Utility functions and classes regarding map access and iteration.
void push(const E &element, const TWeight priority)
Adds a new element to the queue.
typename SuperQueue::handle Handle
The type of handle for accessing the elements of this queue.
void pop()
Removes the topmost element from the queue.
A custom priority queue for the blossom algorithm, based on the PrioritizedMapQueue....
Priority queue interface wrapper for heaps.
void merge(PriorityQueue &other)
Merges in enqueued values of other queue.