STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
stxxl::addressable_fifo_queue< KeyType > Class Template Reference

Detailed Description

template<typename KeyType>
class stxxl::addressable_fifo_queue< KeyType >

An internal fifo queue that allows removing elements addressed with (a copy of) themselves.

Template Parameters
KeyTypeType of contained elements.

Definition at line 28 of file addressable_queues.h.

+ Inheritance diagram for stxxl::addressable_fifo_queue< KeyType >:

Public Types

typedef meta_iterator handle
 Type of handle to an entry. For use with insert and remove. More...
 

Public Member Functions

 addressable_fifo_queue ()
 Create an empty queue. More...
 
 ~addressable_fifo_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)
 Insert new element. If the element is already in, it is moved to the back. More...
 
KeyType pop ()
 Remove top element from the queue. More...
 
const KeyType & top () const
 Access top element in the queue. More...
 

Private Types

typedef container_type::iterator container_iterator
 
typedef std::list< KeyType > container_type
 
typedef meta_type::iterator meta_iterator
 
typedef std::map< KeyType,
container_iterator
meta_type
 

Private Attributes

meta_type meta
 
container_type vals
 

Member Typedef Documentation

template<typename KeyType>
typedef container_type::iterator stxxl::addressable_fifo_queue< KeyType >::container_iterator
private

Definition at line 31 of file addressable_queues.h.

template<typename KeyType>
typedef std::list<KeyType> stxxl::addressable_fifo_queue< KeyType >::container_type
private

Definition at line 30 of file addressable_queues.h.

template<typename KeyType>
typedef meta_iterator stxxl::addressable_fifo_queue< KeyType >::handle

Type of handle to an entry. For use with insert and remove.

Definition at line 40 of file addressable_queues.h.

template<typename KeyType>
typedef meta_type::iterator stxxl::addressable_fifo_queue< KeyType >::meta_iterator
private

Definition at line 33 of file addressable_queues.h.

template<typename KeyType>
typedef std::map<KeyType, container_iterator> stxxl::addressable_fifo_queue< KeyType >::meta_type
private

Definition at line 32 of file addressable_queues.h.

Constructor & Destructor Documentation

template<typename KeyType>
stxxl::addressable_fifo_queue< KeyType >::addressable_fifo_queue ( )
inline

Create an empty queue.

Definition at line 43 of file addressable_queues.h.

template<typename KeyType>
stxxl::addressable_fifo_queue< KeyType >::~addressable_fifo_queue ( )
inline

Definition at line 44 of file addressable_queues.h.

Member Function Documentation

template<typename KeyType>
bool stxxl::addressable_fifo_queue< KeyType >::empty ( ) const
inline

Check if queue is empty.

Returns
If queue is empty.

Definition at line 48 of file addressable_queues.h.

template<typename KeyType>
bool stxxl::addressable_fifo_queue< KeyType >::erase ( const KeyType &  e)
inline

Erase element from the queue.

Parameters
eElement to remove.
Returns
If element was in.

Definition at line 72 of file addressable_queues.h.

template<typename KeyType>
void stxxl::addressable_fifo_queue< KeyType >::erase ( handle  i)
inline

Erase element from the queue.

Parameters
iIterator to element to remove.

Definition at line 84 of file addressable_queues.h.

template<typename KeyType>
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.

Parameters
eElement to insert.
Returns
pair<handle, bool> Iterator to element; if element was newly inserted.

Definition at line 56 of file addressable_queues.h.

template<typename KeyType>
KeyType stxxl::addressable_fifo_queue< KeyType >::pop ( )
inline

Remove top element from the queue.

Returns
Top element.

Definition at line 97 of file addressable_queues.h.

template<typename KeyType>
const KeyType& stxxl::addressable_fifo_queue< KeyType >::top ( ) const
inline

Access top element in the queue.

Returns
Const reference to top element.

Definition at line 92 of file addressable_queues.h.

Member Data Documentation

template<typename KeyType>
meta_type stxxl::addressable_fifo_queue< KeyType >::meta
private

Definition at line 36 of file addressable_queues.h.

template<typename KeyType>
container_type stxxl::addressable_fifo_queue< KeyType >::vals
private

Definition at line 35 of file addressable_queues.h.


The documentation for this class was generated from the following file: