SSCMA-Micro CPP SDK  v2.0.0
SSCMA-Micro is a cross-platform machine learning inference framework designed for embedded devices.
ma::SPSCRingBuffer< T > Class Template Reference

#include <ma_ringbuffer.hpp>

Collaboration diagram for ma::SPSCRingBuffer< T >:

Public Member Functions

 SPSCRingBuffer (size_t size) noexcept
 
 ~SPSCRingBuffer () noexcept
 
size_t capacity () const
 
size_t size () const
 
bool empty () const
 
size_t push (const T *data, size_t size) noexcept
 
size_t pop (T *data, size_t size) noexcept
 
size_t popIf (T *data, size_t size, T value) noexcept
 
void clear () noexcept
 

Constructor & Destructor Documentation

◆ SPSCRingBuffer()

template<typename T >
ma::SPSCRingBuffer< T >::SPSCRingBuffer ( size_t  size)
inlineexplicitnoexcept
Here is the call graph for this function:

◆ ~SPSCRingBuffer()

template<typename T >
ma::SPSCRingBuffer< T >::~SPSCRingBuffer ( )
inlinenoexcept

Member Function Documentation

◆ capacity()

template<typename T >
size_t ma::SPSCRingBuffer< T >::capacity ( ) const
inline

◆ clear()

template<typename T >
void ma::SPSCRingBuffer< T >::clear ( )
inlinenoexcept

◆ empty()

template<typename T >
bool ma::SPSCRingBuffer< T >::empty ( ) const
inline
Here is the call graph for this function:

◆ pop()

template<typename T >
size_t ma::SPSCRingBuffer< T >::pop ( T *  data,
size_t  size 
)
inlinenoexcept
Here is the call graph for this function:

◆ popIf()

template<typename T >
size_t ma::SPSCRingBuffer< T >::popIf ( T *  data,
size_t  size,
value 
)
inlinenoexcept
Here is the call graph for this function:

◆ push()

template<typename T >
size_t ma::SPSCRingBuffer< T >::push ( const T *  data,
size_t  size 
)
inlinenoexcept
Here is the call graph for this function:

◆ size()

template<typename T >
size_t ma::SPSCRingBuffer< T >::size ( ) const
inline
Here is the caller graph for this function: