implements a lock free queue (i.e. container with FIFO order) of elements of type T with a fixed Capacity
More...
|
| LockFreeQueue () noexcept |
| creates and initalizes an empty LockFreeQueue
|
|
| LockFreeQueue (const LockFreeQueue &)=delete |
|
| LockFreeQueue (LockFreeQueue &&)=delete |
|
LockFreeQueue & | operator= (const LockFreeQueue &)=delete |
|
LockFreeQueue & | operator= (LockFreeQueue &&)=delete |
|
constexpr uint64_t | capacity () const noexcept |
| returns the capacity of the queue
|
|
bool | tryPush (ElementType &&value) noexcept |
| tries to insert value in FIFO order, moves the value internally
|
|
bool | tryPush (const ElementType &value) noexcept |
| tries to insert value in FIFO order, copies the value internally
|
|
iox::cxx::optional< ElementType > | push (const ElementType &value) noexcept |
| inserts value in FIFO order, always succeeds by removing the oldest value when the queue is detected to be full (overflow)
|
|
iox::cxx::optional< ElementType > | push (ElementType &&value) noexcept |
| inserts value in FIFO order, always succeeds by removing the oldest value when the queue is detected to be full (overflow)
|
|
iox::cxx::optional< ElementType > | pop () noexcept |
| tries to remove value in FIFO order
|
|
bool | empty () const noexcept |
| check whether the queue is empty
|
|
uint64_t | size () const noexcept |
| get the number of stored elements in the queue
|
|
template<typename ElementType, uint64_t Capacity>
class iox::concurrent::LockFreeQueue< ElementType, Capacity >
implements a lock free queue (i.e. container with FIFO order) of elements of type T with a fixed Capacity