|
|
| ETL_STATIC_ASSERT ((SIZE<=etl::integral_limits< size_type >::max), "Size too large for memory model") |
| |
|
| queue_spsc_locked (const etl::ifunction< void > &lock_, const etl::ifunction< void > &unlock_) |
| | Default constructor.
|
| |
|
| ~queue_spsc_locked () |
| | Destructor.
|
| |
|
bool | push_from_unlocked (const_reference value) |
| | Push a value to the queue.
|
| |
|
bool | push (const_reference value) |
| | Push a value to the queue.
|
| |
| template<typename T1 > |
| bool | emplace_from_unlocked (const T1 &value1) |
| |
| template<typename T1 , typename T2 > |
| bool | emplace_from_unlocked (const T1 &value1, const T2 &value2) |
| |
| template<typename T1 , typename T2 , typename T3 > |
| bool | emplace_from_unlocked (const T1 &value1, const T2 &value2, const T3 &value3) |
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 > |
| bool | emplace_from_unlocked (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| |
| bool | emplace () |
| |
| template<typename T1 > |
| bool | emplace (const T1 &value1) |
| |
| template<typename T1 , typename T2 > |
| bool | emplace (const T1 &value1, const T2 &value2) |
| |
| template<typename T1 , typename T2 , typename T3 > |
| bool | emplace (const T1 &value1, const T2 &value2, const T3 &value3) |
| |
| template<typename T1 , typename T2 , typename T3 , typename T4 > |
| bool | emplace (const T1 &value1, const T2 &value2, const T3 &value3, const T4 &value4) |
| |
| bool | pop_from_unlocked (reference value) |
| |
|
bool | pop (reference value) |
| | Pop a value from the queue.
|
| |
| bool | pop_from_unlocked () |
| |
|
bool | pop () |
| | Pop a value from the queue and discard.
|
| |
| reference | front_from_unlocked () |
| |
| const_reference | front_from_unlocked () const |
| |
|
reference | front () |
| | Peek a value from the front of the queue.
|
| |
|
const_reference | front () const |
| | Peek a value from the front of the queue.
|
| |
|
void | clear_from_unlocked () |
| | Clear the queue from the ISR.
|
| |
|
void | clear () |
| | Clear the queue.
|
| |
|
size_type | available () const |
| | How much free space available in the queue.
|
| |
|
bool | full () const |
| | Is the queue full?
|
| |
|
size_type | size () const |
| | How many items in the queue?
|
| |
|
bool | empty () const |
| | Is the queue empty?
|
| |
|
size_type | available_from_unlocked () const |
| | How much free space available in the queue.
|
| |
|
bool | full_from_unlocked () const |
| | Is the queue full?
|
| |
|
size_type | size_from_unlocked () const |
| | How many items in the queue?
|
| |
|
bool | empty_from_unlocked () const |
| | Is the queue empty?
|
| |
|
size_type | capacity () const |
| | How many items can the queue hold.
|
| |
|
size_type | max_size () const |
| | How many items can the queue hold.
|
| |
template<
typename T,
size_t SIZE,
const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
class etl::queue_spsc_locked< T, SIZE, MEMORY_MODEL >
A fixed capacity spsc queue. This queue supports concurrent access by one producer and one consumer.
- Template Parameters
-
| T | The type this queue should support. |
| SIZE | The maximum capacity of the queue. |
| MEMORY_MODEL | The memory model for the queue. Determines the type of the internal counter variables. |