Stxxl
1.4.0
|
An internal fifo queue that allows removing elements addressed with (a copy of) themselves. More...
#include <addressable_queues.h>
Public Types | |
typedef meta_iter_t | handle |
Type of handle to an entry. For use with insert and remove. | |
Public Member Functions | |
addressable_fifo_queue () | |
Create an empty queue. | |
~addressable_fifo_queue () | |
bool | empty () const |
Check if queue is empty. | |
std::pair< handle, bool > | insert (const KeyType &e) |
Insert new element. If the element is already in, it is moved to the back. | |
bool | erase (const KeyType &e) |
Erase element from the queue. | |
void | erase (handle i) |
Erase element from the queue. | |
const KeyType & | top () const |
Access top element in the queue. | |
KeyType | pop () |
Remove top element from the queue. | |
Private Types | |
typedef std::list< KeyType > | container_t |
typedef container_t::iterator | container_iter_t |
typedef std::map< KeyType, container_iter_t > | meta_t |
typedef meta_t::iterator | meta_iter_t |
Private Attributes | |
container_t | vals |
meta_t | meta |
An internal fifo queue that allows removing elements addressed with (a copy of) themselves.
KeyType | Type of contained elements. |
Definition at line 27 of file addressable_queues.h.
typedef container_t::iterator stxxl::addressable_fifo_queue< KeyType >::container_iter_t [private] |
Definition at line 30 of file addressable_queues.h.
typedef std::list<KeyType> stxxl::addressable_fifo_queue< KeyType >::container_t [private] |
Definition at line 29 of file addressable_queues.h.
typedef meta_iter_t stxxl::addressable_fifo_queue< KeyType >::handle |
Type of handle to an entry. For use with insert and remove.
Definition at line 39 of file addressable_queues.h.
typedef meta_t::iterator stxxl::addressable_fifo_queue< KeyType >::meta_iter_t [private] |
Definition at line 32 of file addressable_queues.h.
typedef std::map<KeyType, container_iter_t> stxxl::addressable_fifo_queue< KeyType >::meta_t [private] |
Definition at line 31 of file addressable_queues.h.
stxxl::addressable_fifo_queue< KeyType >::addressable_fifo_queue | ( | ) | [inline] |
Create an empty queue.
Definition at line 42 of file addressable_queues.h.
stxxl::addressable_fifo_queue< KeyType >::~addressable_fifo_queue | ( | ) | [inline] |
Definition at line 43 of file addressable_queues.h.
bool stxxl::addressable_fifo_queue< KeyType >::empty | ( | ) | const [inline] |
Check if queue is empty.
Definition at line 47 of file addressable_queues.h.
bool stxxl::addressable_fifo_queue< KeyType >::erase | ( | const KeyType & | e | ) | [inline] |
Erase element from the queue.
e | Element to remove. |
Definition at line 69 of file addressable_queues.h.
void stxxl::addressable_fifo_queue< KeyType >::erase | ( | handle | i | ) | [inline] |
Erase element from the queue.
i | Iterator to element to remove. |
Definition at line 81 of file addressable_queues.h.
std::pair<handle, bool> stxxl::addressable_fifo_queue< KeyType >::insert | ( | const KeyType & | e | ) | [inline] |
Insert new element. If the element is already in, it is moved to the back.
e | Element to insert. |
Definition at line 53 of file addressable_queues.h.
KeyType stxxl::addressable_fifo_queue< KeyType >::pop | ( | ) | [inline] |
Remove top element from the queue.
Definition at line 94 of file addressable_queues.h.
const KeyType& stxxl::addressable_fifo_queue< KeyType >::top | ( | ) | const [inline] |
Access top element in the queue.
Definition at line 89 of file addressable_queues.h.
meta_t stxxl::addressable_fifo_queue< KeyType >::meta [private] |
Definition at line 35 of file addressable_queues.h.
container_t stxxl::addressable_fifo_queue< KeyType >::vals [private] |
Definition at line 34 of file addressable_queues.h.