23 LB_TS_SCOPED(_reader);
34 _data.resize(size + 1);
40 LB_TS_SCOPED(_reader);
41 if (_readPos == _writePos)
44 result = _data[_readPos];
45 _readPos = (_readPos + 1) % _data.size();
52 LB_TS_SCOPED(_reader);
53 if (_readPos == _writePos)
56 result = _data[_readPos];
63 LB_TS_SCOPED(_writer);
64 int32_t nextPos = (_writePos + 1) % _data.size();
65 if (nextPos == _readPos)
68 _data[_writePos] = element;
bool pop(T &result)
Retrieve and pop the front element from the queue.
void clear()
Reset (empty) the queue.
void resize(const int32_t size)
Resize and reset the queue.
bool getFront(T &result)
Retrieve the front element from the queue.
Abstraction layer and common utilities for multi-threaded programming.
bool push(const T &element)
Push a new element to the back of the queue.