Pothos
0.4.0-gd11861cd
The Pothos dataflow programming software suite
|
#include <RingDeque.hpp>
Public Member Functions | |
RingDeque (void) | |
Construct a new ring deque. More... | |
RingDeque (const size_t capacity) | |
Construct a new ring deque – with space reservation. More... | |
const T & | operator[] (const size_t offset) const |
Get a const ref at, where front == 0, back == size() - 1. More... | |
T & | operator[] (const size_t offset) |
Get a ref at, where front == 0, back == size() - 1. More... | |
template<typename U > | |
void | push_front (U &&elem) |
Push an element onto the front of the queue. More... | |
template<typename... Args> | |
T & | emplace_front (Args &&...args) |
Emplace an element onto the front of the queue. More... | |
void | pop_front (void) |
Pop and element from the front of the queue. More... | |
const T & | front (void) const |
Get a const reference to the front element. More... | |
T & | front (void) |
Get a reference to the front element. More... | |
template<typename U > | |
void | push_back (U &&elem) |
Push an element onto the back of the queue. More... | |
template<typename... Args> | |
T & | emplace_back (Args &&...args) |
Emplace an element onto the back of the queue. More... | |
void | pop_back (void) |
Pop and element from the back of the queue. More... | |
const T & | back (void) const |
Get a const reference to the back element. More... | |
T & | back (void) |
Get a reference to the back element. More... | |
bool | empty (void) const |
Is the deque empty? – no elements. More... | |
bool | full (void) const |
Is the deque full? – num elements == capacity. More... | |
size_t | size (void) const |
How many elements are in the deque. More... | |
size_t | capacity (void) const |
How many elements can be stored? More... | |
void | set_capacity (const size_t capacity) |
Set the deque capacity if too small. More... | |
void | clear (void) |
Empty the contents of this queue. More... | |
RingDeque is a templated deque using an underlying vector. The API of RingDeque is very similar to the std::deque<T>. RingDeque is here because I wanted the efficiency of boost::circular_buffer without the boost requirement. The ring deque does not have a specific capacity limit.
Pothos::Util::RingDeque< T >::RingDeque | ( | void | ) |
Construct a new ring deque.
Pothos::Util::RingDeque< T >::RingDeque | ( | const size_t | capacity | ) |
Construct a new ring deque – with space reservation.
const T & Pothos::Util::RingDeque< T >::back | ( | void | ) | const |
Get a const reference to the back element.
T & Pothos::Util::RingDeque< T >::back | ( | void | ) |
Get a reference to the back element.
size_t Pothos::Util::RingDeque< T >::capacity | ( | void | ) | const |
How many elements can be stored?
void Pothos::Util::RingDeque< T >::clear | ( | void | ) |
Empty the contents of this queue.
T & Pothos::Util::RingDeque< T >::emplace_back | ( | Args &&... | args | ) |
Emplace an element onto the back of the queue.
T & Pothos::Util::RingDeque< T >::emplace_front | ( | Args &&... | args | ) |
Emplace an element onto the front of the queue.
bool Pothos::Util::RingDeque< T >::empty | ( | void | ) | const |
Is the deque empty? – no elements.
const T & Pothos::Util::RingDeque< T >::front | ( | void | ) | const |
Get a const reference to the front element.
T & Pothos::Util::RingDeque< T >::front | ( | void | ) |
Get a reference to the front element.
bool Pothos::Util::RingDeque< T >::full | ( | void | ) | const |
Is the deque full? – num elements == capacity.
const T & Pothos::Util::RingDeque< T >::operator[] | ( | const size_t | offset | ) | const |
Get a const ref at, where front == 0, back == size() - 1.
T & Pothos::Util::RingDeque< T >::operator[] | ( | const size_t | offset | ) |
Get a ref at, where front == 0, back == size() - 1.
void Pothos::Util::RingDeque< T >::pop_back | ( | void | ) |
Pop and element from the back of the queue.
void Pothos::Util::RingDeque< T >::pop_front | ( | void | ) |
Pop and element from the front of the queue.
void Pothos::Util::RingDeque< T >::push_back | ( | U && | elem | ) |
Push an element onto the back of the queue.
void Pothos::Util::RingDeque< T >::push_front | ( | U && | elem | ) |
Push an element onto the front of the queue.
void Pothos::Util::RingDeque< T >::set_capacity | ( | const size_t | capacity | ) |
Set the deque capacity if too small.
size_t Pothos::Util::RingDeque< T >::size | ( | void | ) | const |
How many elements are in the deque.