base class for queues. More...
#include <queue.hpp>
Public Member Functions | |
ItemQueueBase (size_t item_size, size_t items_count) | |
ItemQueueBase (const ItemQueueBase &)=delete | |
ItemQueueBase (ItemQueueBase &&)=delete | |
Message * | next () |
template<typename MessageType , typename... Args> | |
MessageType * | put (Args... args) |
void | release () |
Protected Member Functions | |
void | post_constructor (char *buff) |
Friends | |
struct | Message |
base class for queues.
Item = Message
rotor_light::ItemQueueBase::ItemQueueBase | ( | size_t | item_size, |
size_t | items_count | ||
) |
initializes queue with the message size and maximum amount of messsages
Message * rotor_light::ItemQueueBase::next | ( | ) |
returns the next stored message if there is one; otherwise nullptr is returned
|
protected |
records buffer pointer
|
inline |
constructs in-place new message by forwarding args into message ctor.
returns pointer to the newly created message or nullptr if the queue is full
void rotor_light::ItemQueueBase::release | ( | ) |
deletes the last message from the queue