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