Open
Graph Drawing
Framework

 v. 2023.09 (Elderberry)
 

ogdf::Queue< E > Class Template Reference

The parameterized class Queue<E> implements list-based queues. More...

#include <ogdf/basic/Queue.h>

+ Inheritance diagram for ogdf::Queue< E >:

Public Types

using const_iterator = SListConstIterator< E >
 Provides a forward iterator that can read a const element in a queue. More...
 
using const_reference = const E &
 Provides a reference to a const element stored in a queue for reading and performing const operations. More...
 
using iterator = SListIterator< E >
 Provides a forward iterator that can read or modify any element in a queue. More...
 
using reference = E &
 Provides a reference to an element stored in a queue. More...
 
using value_type = E
 Represents the data type stored in a queue element. More...
 

Public Member Functions

 Queue ()
 Constructs an empty queue. More...
 
 Queue (const Queue< E > &Q)
 Constructs a queue that is a copy of Q. More...
 
 Queue (Queue< E > &&Q)
 Constructs a queue containing the elements of Q (move semantics). More...
 
 Queue (std::initializer_list< E > initList)
 Constructs a queue and appends the elements in initList to it. More...
 
 ~Queue ()
 Destruction. More...
 
Access methods

These methods provide simple access without changing the list.

bool empty () const
 Returns true iff the queue is empty. More...
 
int size () const
 Returns the number of elements in the queue. More...
 
const_reference top () const
 Returns a reference to the front element. More...
 
reference top ()
 Returns a reference to the front element. More...
 
const_reference bottom () const
 Returns a reference to the back element. More...
 
reference bottom ()
 Returns a reference to the back element. More...
 
Iterators

These methods return forward iterators to elements in the queue.

iterator begin ()
 Returns an iterator to the first element of the queue. More...
 
const_iterator begin () const
 Returns a const iterator to the first element of the queue. More...
 
const_iterator cbegin () const
 Returns a const iterator to the first element of the queue. More...
 
iterator end ()
 Returns an iterator to one-past-last element of the queue. More...
 
const_iterator end () const
 Returns a const iterator to one-past-last element of the queue. More...
 
const_iterator cend () const
 Returns a const iterator to one-past-last element of the queue. More...
 
iterator backIterator ()
 Returns an iterator to the last element of the queue. More...
 
const_iterator backIterator () const
 Returns a const iterator to the last element of the queue. More...
 
Operators

The following operators are provided by lists.

Queue< E > & operator= (const Queue< E > &Q)
 Assignment operator. More...
 
Queue< E > & operator= (Queue< E > &&Q)
 Assignment operator (move semantics). More...
 
const SList< E > & getList () const
 Conversion to const SList. More...
 
Adding and removing elements

These method add elements to the list and remove elements from the list.

iterator append (const E &x)
 Adds x at the end of queue. More...
 
template<class... Args>
iterator emplace (Args &&... args)
 Adds a new element at the end of the queue. More...
 
pop ()
 Removes front element and returns it. More...
 
void clear ()
 Makes the queue empty. More...
 

Additional Inherited Members

- Private Member Functions inherited from ogdf::SList< E >
 SList ()
 Constructs an empty singly linked list. More...
 
 SList (const SList< E > &L)
 Constructs a singly linked list that is a copy of L. More...
 
 SList (SList< E > &&L) noexcept
 Constructs a singly linked list containing the elements of L (move semantics). More...
 
 SList (std::initializer_list< E > init)
 Constructs a singly linked list containing the elements in init. More...
 
int size () const
 Returns the number of elements in the list. More...
 
const SListPure< E > & getSListPure () const
 Conversion to const SListPure. More...
 
SList< E > & operator= (const SList< E > &L)
 Assignment operator. More...
 
SList< E > & operator= (SList< E > &&L)
 Assignment operator (move semantics). More...
 
bool operator== (const SList< E > &L) const
 Equality operator. More...
 
bool operator!= (const SList< E > &L) const
 Inequality operator. More...
 
SListIterator< E > pushFront (const E &x)
 Adds element x at the beginning of the list. More...
 
template<class... Args>
iterator emplaceFront (Args &&... args)
 Adds a new element at the beginning of the list. More...
 
SListIterator< E > pushBack (const E &x)
 Adds element x at the end of the list. More...
 
template<class... Args>
iterator emplaceBack (Args &&... args)
 Adds a new element at the end of the list. More...
 
SListIterator< E > insertAfter (const E &x, SListIterator< E > itBefore)
 Inserts element x after itBefore. More...
 
void popFront ()
 Removes the first element from the list. More...
 
popFrontRet ()
 Removes the first element from the list and returns it. More...
 
void delSucc (SListIterator< E > itBefore)
 Removes the succesor of itBefore. More...
 
void clear ()
 Removes all elements from the list. More...
 
void moveFrontToFront (SList< E > &L2)
 Moves the first element of this list to the begin of list L2. More...
 
void moveFrontToBack (SList< E > &L2)
 Moves the first element of this list to the end of list L2. More...
 
void moveFrontToSucc (SList< E > &L2, SListIterator< E > itBefore)
 Moves the first element of this list to list L2 inserted after itBefore. More...
 
void conc (SList< E > &L2)
 Appends L2 to this list and makes L2 empty. More...
 

Detailed Description

template<class E>
class ogdf::Queue< E >

The parameterized class Queue<E> implements list-based queues.

In contrast to QueuePure<E>, instances of Queue<E> store the number of elements contained in the queue.

Template Parameters
Eis the element type.

Definition at line 205 of file Queue.h.

Member Typedef Documentation

◆ const_iterator

template<class E >
using ogdf::Queue< E >::const_iterator = SListConstIterator<E>

Provides a forward iterator that can read a const element in a queue.

Definition at line 214 of file Queue.h.

◆ const_reference

template<class E >
using ogdf::Queue< E >::const_reference = const E&

Provides a reference to a const element stored in a queue for reading and performing const operations.

Definition at line 212 of file Queue.h.

◆ iterator

template<class E >
using ogdf::Queue< E >::iterator = SListIterator<E>

Provides a forward iterator that can read or modify any element in a queue.

Definition at line 216 of file Queue.h.

◆ reference

template<class E >
using ogdf::Queue< E >::reference = E&

Provides a reference to an element stored in a queue.

Definition at line 210 of file Queue.h.

◆ value_type

template<class E >
using ogdf::Queue< E >::value_type = E

Represents the data type stored in a queue element.

Definition at line 208 of file Queue.h.

Constructor & Destructor Documentation

◆ Queue() [1/4]

template<class E >
ogdf::Queue< E >::Queue ( )
inline

Constructs an empty queue.

Definition at line 219 of file Queue.h.

◆ Queue() [2/4]

template<class E >
ogdf::Queue< E >::Queue ( std::initializer_list< E >  initList)
inline

Constructs a queue and appends the elements in initList to it.

Definition at line 222 of file Queue.h.

◆ Queue() [3/4]

template<class E >
ogdf::Queue< E >::Queue ( const Queue< E > &  Q)
inline

Constructs a queue that is a copy of Q.

Definition at line 225 of file Queue.h.

◆ Queue() [4/4]

template<class E >
ogdf::Queue< E >::Queue ( Queue< E > &&  Q)
inline

Constructs a queue containing the elements of Q (move semantics).

Queue Q is empty afterwards.

Definition at line 231 of file Queue.h.

◆ ~Queue()

template<class E >
ogdf::Queue< E >::~Queue ( )
inline

Destruction.

Definition at line 234 of file Queue.h.

Member Function Documentation

◆ append()

template<class E >
iterator ogdf::Queue< E >::append ( const E &  x)
inline

Adds x at the end of queue.

Definition at line 324 of file Queue.h.

◆ backIterator() [1/2]

template<class E >
iterator ogdf::Queue< E >::backIterator ( )
inline

Returns an iterator to the last element of the queue.

Definition at line 286 of file Queue.h.

◆ backIterator() [2/2]

template<class E >
const_iterator ogdf::Queue< E >::backIterator ( ) const
inline

Returns a const iterator to the last element of the queue.

Definition at line 289 of file Queue.h.

◆ begin() [1/2]

template<class E >
iterator ogdf::Queue< E >::begin ( )
inline

Returns an iterator to the first element of the queue.

Definition at line 268 of file Queue.h.

◆ begin() [2/2]

template<class E >
const_iterator ogdf::Queue< E >::begin ( ) const
inline

Returns a const iterator to the first element of the queue.

Definition at line 271 of file Queue.h.

◆ bottom() [1/2]

template<class E >
reference ogdf::Queue< E >::bottom ( )
inline

Returns a reference to the back element.

Definition at line 258 of file Queue.h.

◆ bottom() [2/2]

template<class E >
const_reference ogdf::Queue< E >::bottom ( ) const
inline

Returns a reference to the back element.

Definition at line 255 of file Queue.h.

◆ cbegin()

template<class E >
const_iterator ogdf::Queue< E >::cbegin ( ) const
inline

Returns a const iterator to the first element of the queue.

Definition at line 274 of file Queue.h.

◆ cend()

template<class E >
const_iterator ogdf::Queue< E >::cend ( ) const
inline

Returns a const iterator to one-past-last element of the queue.

Definition at line 283 of file Queue.h.

◆ clear()

template<class E >
void ogdf::Queue< E >::clear ( )
inline

Makes the queue empty.

Definition at line 343 of file Queue.h.

◆ emplace()

template<class E >
template<class... Args>
iterator ogdf::Queue< E >::emplace ( Args &&...  args)
inline

Adds a new element at the end of the queue.

The element is constructed in-place with exactly the same arguments args as supplied to the function.

Definition at line 331 of file Queue.h.

◆ empty()

template<class E >
bool ogdf::Queue< E >::empty ( ) const
inline

Returns true iff the queue is empty.

Definition at line 243 of file Queue.h.

◆ end() [1/2]

template<class E >
iterator ogdf::Queue< E >::end ( )
inline

Returns an iterator to one-past-last element of the queue.

Definition at line 277 of file Queue.h.

◆ end() [2/2]

template<class E >
const_iterator ogdf::Queue< E >::end ( ) const
inline

Returns a const iterator to one-past-last element of the queue.

Definition at line 280 of file Queue.h.

◆ getList()

template<class E >
const SList<E>& ogdf::Queue< E >::getList ( ) const
inline

Conversion to const SList.

Definition at line 314 of file Queue.h.

◆ operator=() [1/2]

template<class E >
Queue<E>& ogdf::Queue< E >::operator= ( const Queue< E > &  Q)
inline

Assignment operator.

Definition at line 299 of file Queue.h.

◆ operator=() [2/2]

template<class E >
Queue<E>& ogdf::Queue< E >::operator= ( Queue< E > &&  Q)
inline

Assignment operator (move semantics).

Queue Q is empty afterwards.

Definition at line 308 of file Queue.h.

◆ pop()

template<class E >
E ogdf::Queue< E >::pop ( )
inline

Removes front element and returns it.

Definition at line 336 of file Queue.h.

◆ size()

template<class E >
int ogdf::Queue< E >::size ( ) const
inlinevirtual

Returns the number of elements in the queue.

Reimplemented from ogdf::SListPure< E >.

Definition at line 246 of file Queue.h.

◆ top() [1/2]

template<class E >
reference ogdf::Queue< E >::top ( )
inline

Returns a reference to the front element.

Definition at line 252 of file Queue.h.

◆ top() [2/2]

template<class E >
const_reference ogdf::Queue< E >::top ( ) const
inline

Returns a reference to the front element.

Definition at line 249 of file Queue.h.


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