libpalliate v0.0.1
Palliate core library
atomic_semaphore Class Reference

#include <atomic_semaphore.h>

Public Member Functions

 atomic_semaphore (char _size, std::atomic< unsigned char > *_write, std::atomic< unsigned char > *_readers, void *_list)
 
template<bool overwrite = false, unsigned sleep_time = 50, bool count_missed = false>
void push (int value)
 
template<bool block = true, unsigned sleep_time = 50>
int pop ()
 
void add_reader ()
 
void remove_reader ()
 

Public Attributes

unsigned missed = 0
 

Static Public Attributes

static thread_local unsigned char readPos = 0
 

Constructor & Destructor Documentation

◆ atomic_semaphore()

atomic_semaphore::atomic_semaphore ( char  _size,
std::atomic< unsigned char > *  _write,
std::atomic< unsigned char > *  _readers,
void *  _list 
)
inlineexplicit

Member Function Documentation

◆ add_reader()

void atomic_semaphore::add_reader ( )

◆ pop()

template<bool block = true, unsigned sleep_time = 50>
int atomic_semaphore::pop ( )
inline

◆ push()

template<bool overwrite = false, unsigned sleep_time = 50, bool count_missed = false>
void atomic_semaphore::push ( int  value)
inline

◆ remove_reader()

void atomic_semaphore::remove_reader ( )

Member Data Documentation

◆ missed

unsigned atomic_semaphore::missed = 0

◆ readPos

thread_local unsigned char atomic_semaphore::readPos = 0
static

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