iox::roudi::GenericMemoryBlock🔗
The GenericMemoryBlock is an implementation of a MemoryBlock for a common use case. More...
#include <generic_memory_block.hpp>
Inherits from iox::roudi::MemoryBlock
Public Functions🔗
Name | |
---|---|
GenericMemoryBlock() =default | |
~GenericMemoryBlock() | |
GenericMemoryBlock(const GenericMemoryBlock & ) | |
GenericMemoryBlock(GenericMemoryBlock && ) | |
GenericMemoryBlock & | operator=(const GenericMemoryBlock & ) |
GenericMemoryBlock & | operator=(GenericMemoryBlock && ) |
virtual uint64_t | size() const override Implementation of MemoryBlock::size. |
virtual uint64_t | alignment() const override Implementation of MemoryBlock::alignment. |
virtual void | destroy() override Implementation of MemoryBlock::destroy. |
template \<typename... Targs> cxx::optional< T * > |
emplace(Targs &&... args) A new element is constructed by forwarding the arguments to the constructor of T. If the MemoryBlock has a value then the destructor of T is called. |
cxx::optional< T * > | value() const This function enables the access to the underlying type. |
Friends🔗
Name | |
---|---|
class | MemoryProvider |
Additional inherited members🔗
Public Functions inherited from iox::roudi::MemoryBlock
Name | |
---|---|
MemoryBlock() =default | |
MemoryBlock(const MemoryBlock & ) | |
MemoryBlock(MemoryBlock && ) | |
virtual void | memoryAvailable(void * memory) This function is called once the memory is available and is therefore the earliest possibility to use the memory. |
cxx::optional< void * > | memory() const This function provides the pointer to the requested memory. |
Detailed Description🔗
template <typename T >
class iox::roudi::GenericMemoryBlock;
The GenericMemoryBlock is an implementation of a MemoryBlock for a common use case.
Public Functions Documentation🔗
function GenericMemoryBlock🔗
GenericMemoryBlock() =default
function ~GenericMemoryBlock🔗
~GenericMemoryBlock()
function GenericMemoryBlock🔗
GenericMemoryBlock(
const GenericMemoryBlock &
)
function GenericMemoryBlock🔗
GenericMemoryBlock(
GenericMemoryBlock &&
)
function operator=🔗
GenericMemoryBlock & operator=(
const GenericMemoryBlock &
)
function operator=🔗
GenericMemoryBlock & operator=(
GenericMemoryBlock &&
)
function size🔗
virtual uint64_t size() const override
Implementation of MemoryBlock::size.
Return: the size of type T
Reimplements: iox::roudi::MemoryBlock::size
function alignment🔗
virtual uint64_t alignment() const override
Implementation of MemoryBlock::alignment.
Return: the alignment of type T
Reimplements: iox::roudi::MemoryBlock::alignment
function destroy🔗
virtual void destroy() override
Implementation of MemoryBlock::destroy.
Reimplements: iox::roudi::MemoryBlock::destroy
function emplace🔗
template <typename... Targs>
cxx::optional< T * > emplace(
Targs &&... args
)
A new element is constructed by forwarding the arguments to the constructor of T. If the MemoryBlock has a value then the destructor of T is called.
Parameters:
- args are perfectly forwarded to the constructor of T to perform a placement new
Return: an optional pointer to the underlying type, cxx::nullopt_t if memory was not yet available
function value🔗
cxx::optional< T * > value() const
This function enables the access to the underlying type.
Return: an optional pointer to the underlying type, cxx::nullopt_t if value is not initialized
Friends🔗
friend MemoryProvider🔗
friend class MemoryProvider;
Updated on 31 May 2022 at 15:29:16 CEST