17 #ifndef IOX_POSH_MEPOO_SHM_SAFE_UNMANAGED_CHUNK_HPP
18 #define IOX_POSH_MEPOO_SHM_SAFE_UNMANAGED_CHUNK_HPP
20 #include "iceoryx_posh/internal/mepoo/shared_chunk.hpp"
21 #include "iceoryx_utils/internal/relocatable_pointer/relative_pointer_data.hpp"
63 rp::RelativePointerData m_chunkManagement;
WARNING: SharedChunk is not thread safe! Don't share SharedChunk objects between threads!...
Definition: shared_chunk.hpp:35
This class to safely store a chunk in shared memory. To be able to do so, torn writes/reads need to p...
Definition: shm_safe_unmanaged_chunk.hpp:31
ShmSafeUnmanagedChunk(SharedChunk chunk) noexcept
takes a SharedChunk without decrementing the chunk reference counter
bool isNotLogicalNullptrAndHasNoOtherOwners() const noexcept
Checks if the underlying RelativePointerData to the chunk is neither logically a nullptr nor that the...
SharedChunk cloneToSharedChunk() noexcept
Creates a SharedChunk with incrementing the chunk reference counter and does not invalidate itself.
ChunkHeader * getChunkHeader() noexcept
Access to the ChunkHeader of the underlying chunk.
bool isLogicalNullptr() const noexcept
Checks if the underlying RelativePointerData to the chunk is logically a nullptr.
SharedChunk releaseToSharedChunk() noexcept
Creates a SharedChunk without incrementing the chunk reference counter and invalidates itself.
Definition: service_description.hpp:29