|
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) |
|
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.
|
|
|
| iqueue_spsc_locked (T *p_buffer_, size_type max_size_, const etl::ifunction< void > &lock_, const etl::ifunction< void > &unlock_) |
| The constructor that is called from derived classes.
|
|
| iqueue_spsc_locked_base (size_type max_size_) |
|
size_type | available_implementation () const |
| How much free space available in the queue.
|
|
bool | full_implementation () const |
| Is the queue full?
|
|
size_type | size_implementation () const |
| How many items in the queue?
|
|
bool | empty_implementation () const |
| Is the queue empty?
|
|
| ~iqueue_spsc_locked_base () |
| Destructor.
|
|
template<typename T, const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
class etl::iqueue_spsc_locked< T, MEMORY_MODEL >
This is the base for all queue_spsc_locked that contain a particular type.
Normally a reference to this type will be taken from a derived queue_spsc_locked. This queue supports concurrent access by one producer and one consumer.
- Template Parameters
-
template<typename T , const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
template<typename T1 , typename T2 , typename T3 >
bool etl::iqueue_spsc_locked< T, MEMORY_MODEL >::emplace |
( |
const T1 & |
value1, |
|
|
const T2 & |
value2, |
|
|
const T3 & |
value3 |
|
) |
| |
|
inline |
Constructs a value in the queue 'in place'. If asserts or exceptions are enabled, throws an etl::queue_full if the queue if already full.
template<typename T , const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
template<typename T1 , typename T2 , typename T3 , typename T4 >
bool etl::iqueue_spsc_locked< T, MEMORY_MODEL >::emplace |
( |
const T1 & |
value1, |
|
|
const T2 & |
value2, |
|
|
const T3 & |
value3, |
|
|
const T4 & |
value4 |
|
) |
| |
|
inline |
Constructs a value in the queue 'in place'. If asserts or exceptions are enabled, throws an etl::queue_full if the queue if already full.
template<typename T , const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
template<typename T1 , typename T2 , typename T3 >
bool etl::iqueue_spsc_locked< T, MEMORY_MODEL >::emplace_from_unlocked |
( |
const T1 & |
value1, |
|
|
const T2 & |
value2, |
|
|
const T3 & |
value3 |
|
) |
| |
|
inline |
Constructs a value in the queue 'in place'. If asserts or exceptions are enabled, throws an etl::queue_full if the queue if already full.
template<typename T , const size_t MEMORY_MODEL = etl::memory_model::MEMORY_MODEL_LARGE>
template<typename T1 , typename T2 , typename T3 , typename T4 >
bool etl::iqueue_spsc_locked< T, MEMORY_MODEL >::emplace_from_unlocked |
( |
const T1 & |
value1, |
|
|
const T2 & |
value2, |
|
|
const T3 & |
value3, |
|
|
const T4 & |
value4 |
|
) |
| |
|
inline |
Constructs a value in the queue 'in place'. If asserts or exceptions are enabled, throws an etl::queue_full if the queue if already full.