Sound Byte Libs 0.5.1-121-g3358a44
C++ firmware library for audio applications on 32-bit ARM Cortex-M processors
Loading...
Searching...
No Matches
sbl::control::EventQueue< T, Size > Class Template Reference

Detailed Description

template<typename T, uint32_t Size>
class sbl::control::EventQueue< T, Size >

Definition at line 37 of file event_queue.hpp.

#include <event_queue.hpp>

Public Member Functions

bool push (const T &event)
 Producer side. Returns false (and counts a drop) if the queue is full.
 
template<typename Fn >
uint32_t drain (Fn &&fn)
 
bool pop (T &event)
 Consumer side. Pop one event; false if empty.
 
bool empty () const
 
uint32_t dropped () const
 Pushes rejected because the queue was full, since boot. Any context.
 

Static Public Member Functions

static constexpr uint32_t capacity ()
 

Member Function Documentation

◆ push()

template<typename T , uint32_t Size>
bool sbl::control::EventQueue< T, Size >::push ( const T &  event)
inline

Producer side. Returns false (and counts a drop) if the queue is full.

Definition at line 40 of file event_queue.hpp.

◆ drain()

template<typename T , uint32_t Size>
template<typename Fn >
uint32_t sbl::control::EventQueue< T, Size >::drain ( Fn &&  fn)
inline

Consumer side. Calls fn(event) for up to capacity() queued events, oldest first. Returns the number handled.

Definition at line 50 of file event_queue.hpp.

References sbl::control::EventQueue< T, Size >::capacity().

◆ pop()

template<typename T , uint32_t Size>
bool sbl::control::EventQueue< T, Size >::pop ( T &  event)
inline

Consumer side. Pop one event; false if empty.

Definition at line 61 of file event_queue.hpp.

◆ empty()

template<typename T , uint32_t Size>
bool sbl::control::EventQueue< T, Size >::empty ( ) const
inline

Definition at line 63 of file event_queue.hpp.

◆ dropped()

template<typename T , uint32_t Size>
uint32_t sbl::control::EventQueue< T, Size >::dropped ( ) const
inline

Pushes rejected because the queue was full, since boot. Any context.

Definition at line 66 of file event_queue.hpp.

◆ capacity()

template<typename T , uint32_t Size>
static constexpr uint32_t sbl::control::EventQueue< T, Size >::capacity ( )
inlinestaticconstexpr

Definition at line 68 of file event_queue.hpp.

Referenced by sbl::control::EventQueue< T, Size >::drain().


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