|
|
| ETL_STATIC_ASSERT ((VSize<=etl::integral_limits< size_type >::max), "Size too large for memory model") |
|
| queue_lockable () |
| | Default constructor.
|
|
| ~queue_lockable () |
| | Destructor.
|
|
bool | push_unlocked (const_reference value) |
| | Push a value to the queue without locking.
|
|
bool | push (const_reference value) |
| | Push a value to the queue.
|
|
bool | emplace_unlocked (const T1 &value1) |
| | Constructs a value in the queue 'in place'.
|
|
bool | emplace () |
| | Constructs a value in the queue 'in place'.
|
|
bool | pop_unlocked () |
| | Pop a value from the queue without locking, and discard.
|
|
bool | pop () |
| | Pop a value from the queue and discard.
|
|
reference | front_unlocked () |
| | Peek a value at the front of the queue without locking.
|
|
reference | front () |
| | Peek a value at the front of the queue.
|
|
void | clear_unlocked () |
| | Clear the queue, unlocked.
|
|
void | clear () |
| | Clear the queue.
|
|
virtual | ~queue_lockable_base () |
| | Destructor.
|
| size_type | available_unlocked () const |
|
size_type | available () const |
| | How much free space available in the queue.
|
| bool | empty_unlocked () const |
|
bool | empty () const |
| | Is the queue empty?
|
| bool | full_unlocked () const |
|
bool | full () const |
| | Is the queue full?
|
| size_type | size_unlocked () const |
|
size_type | size () const |
| | How many items in the queue?
|
|
size_type | capacity () const |
| | How many items can the queue hold.
|
|
size_type | max_size () const |
| | How many items can the queue hold.
|
|
|
| iqueue_lockable (T *p_buffer_, size_type max_size_) |
| | The constructor that is called from derived classes.
|
|
| queue_lockable_base (size_type max_size_) |
|
virtual void | lock () const=0 |
| | The pure virtual lock and unlock functions.
|
|
virtual void | unlock () const=0 |
|
static size_type | get_next_index (size_type index, size_type maximum) |
| | Calculate the next index.
|
|
size_type | write_index |
| | Where to input new data.
|
|
size_type | read_index |
| | Where to get the oldest data.
|
|
size_type | current_size |
| | The current size of the queue.
|
|
const size_type | Max_Size |
| | The maximum number of items in the queue.
|
template<typename T, size_t VSize, size_t VMemory_Model = etl::memory_model::MEMORY_MODEL_LARGE>
class etl::queue_lockable< T, VSize, VMemory_Model >
A fixed capacity lockable queue. This queue supports concurrent access.
- Template Parameters
-
| T | The type this queue should support. |
| VSize | The maximum capacity of the queue. |
| VMemory_Model | The memory model for the queue. Determines the type of the internal counter variables. |