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