STXXL
1.4.0
|
An internal priority queue that allows removing elements addressed with (a copy of) themselves.
KeyType | Type of contained elements. |
PriorityType | Type of Priority. |
Definition at line 108 of file addressable_queues.h.
Classes | |
struct | cmp |
Public Types | |
typedef meta_iter_t | handle |
Type of handle to an entry. For use with insert and remove. More... | |
Public Member Functions | |
addressable_priority_queue () | |
Create an empty queue. More... | |
~addressable_priority_queue () | |
bool | empty () const |
Check if queue is empty. More... | |
bool | erase (const KeyType &e) |
Erase element from the queue. More... | |
void | erase (handle i) |
Erase element from the queue. More... | |
std::pair< handle, bool > | insert (const KeyType &e, const PriorityType o) |
Insert new element. If the element is already in, it's priority is updated. More... | |
KeyType | pop () |
Remove top (= min) element from the queue. More... | |
const KeyType & | top () const |
Access top (= min) element in the queue. More... | |
Private Types | |
typedef container_t::iterator | container_iter_t |
typedef std::set< std::pair < PriorityType, KeyType >, cmp > | container_t |
typedef meta_t::iterator | meta_iter_t |
typedef std::map< KeyType, container_iter_t > | meta_t |
Private Attributes | |
meta_t | meta |
container_t | vals |
|
private |
Definition at line 122 of file addressable_queues.h.
|
private |
Definition at line 121 of file addressable_queues.h.
typedef meta_iter_t stxxl::addressable_priority_queue< KeyType, PriorityType, Cmp >::handle |
Type of handle to an entry. For use with insert and remove.
Definition at line 131 of file addressable_queues.h.
|
private |
Definition at line 124 of file addressable_queues.h.
|
private |
Definition at line 123 of file addressable_queues.h.
|
inline |
Create an empty queue.
Definition at line 134 of file addressable_queues.h.
|
inline |
Definition at line 135 of file addressable_queues.h.
|
inline |
Check if queue is empty.
Definition at line 139 of file addressable_queues.h.
|
inline |
Erase element from the queue.
e | Element to remove. |
Definition at line 162 of file addressable_queues.h.
|
inline |
Erase element from the queue.
i | Iterator to element to remove. |
Definition at line 174 of file addressable_queues.h.
|
inline |
Insert new element. If the element is already in, it's priority is updated.
e | Element to insert. |
o | Priority of element. |
Definition at line 146 of file addressable_queues.h.
|
inline |
Remove top (= min) element from the queue.
Definition at line 187 of file addressable_queues.h.
|
inline |
Access top (= min) element in the queue.
Definition at line 182 of file addressable_queues.h.
|
private |
Definition at line 127 of file addressable_queues.h.
|
private |
Definition at line 126 of file addressable_queues.h.