Skip to content

iox::rp🔗

Classes🔗

Name
class iox::rp::AtomicRelocatablePointer
minimalistic relocatable pointer that can be written and read atomically and can be stored safely in shared memory. As the basic RelocatablePointer, it must point to something in the same shared memory segment as itself since the internally used offset must be an invariant different across adress spaces. Rationale: the default RelocatablePointer cannot be used in an atomic since the copy ctor is nontrivial.
class iox::rp::BaseRelativePointer
pointer class to use when pointer and pointee are located in different shared memory segments We can have the following scenario: Pointer p is stored in segment S1 and points to object X of type T in segment S2.
class iox::rp::BaseRelocatablePointer
pointer class to use when pointer and pointee are located in the same shared memory segment We can have the following scenario: Pointer p points to object X of type T and both are stored in shared memory segment S.
class iox::rp::PointerRepository
Allows registration of memory segments with their start pointers and size. This class is used to resolve relative pointers in the corresponding address space of the application. Up to CAPACITY segments can be registered with MIN_ID = 1 to MAX_ID = CAPACITY - 1 id 0 is reserved and allows relative pointers to behave like normal pointers (which is equivalent to measure the offset relative to 0).
class iox::rp::RelativePointer
typed version so we can use operator->
class iox::rp::RelativePointerData
This are the data for a relative pointer. To be able so safely be used in the shared memory and prevent torn writes/reads, the class must not be larger than 64 bits and trivially copy-able.
class iox::rp::RelocatablePointer
typed version so we can use operator->

Updated on 17 June 2021 at 11:15:26 CEST