Motorcortex Core  version: 2.7.6
mcx::utils::MpmcQueue< T > Class Template Reference
Collaboration diagram for mcx::utils::MpmcQueue< T >:

Classes

struct  Cell
 

Public Member Functions

 MpmcQueue (uint32_t buffer_length)
 
bool write (const T &in, bool no_drop=false)
 
uint32_t read (T *out) const
 
void drop ()
 
uint32_t pos () const
 
uint32_t size () const
 

Protected Attributes

Cell *const buffer_
 
uint32_t const buffer_mask_
 
std::atomic< uint32_t > enqueue_pos_ {}
 
std::atomic< uint32_t > enqueue_pos_size_ {}
 
std::atomic< uint32_t > dequeue_pos_ {}
 
std::atomic< uint32_t > dequeue_pos_size_ {}
 

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