18 #ifndef IOX_UTILS_RELOCATABLE_POINTER_BASE_RELOCATABLE_POINTER_HPP
19 #define IOX_UTILS_RELOCATABLE_POINTER_BASE_RELOCATABLE_POINTER_HPP
49 using offset_t = std::ptrdiff_t;
83 const
void* operator*() const noexcept;
87 operator
bool() const noexcept;
91 bool operator!() const noexcept;
95 const
void*
get() const noexcept;
101 static constexpr offset_t NULL_POINTER_OFFSET = std::numeric_limits<offset_t>::max();
104 offset_t m_offset{NULL_POINTER_OFFSET};
106 offset_t computeOffset(
const void* ptr)
const noexcept;
108 void* computeRawPtr() const noexcept;
pointer class to use when pointer and pointee are located in the same shared memory segment We can ha...
Definition: base_relocatable_pointer.hpp:44
offset_t getOffset() const noexcept
returns the offset
const void * get() const noexcept
access to the underlying object in shared memory
BaseRelocatablePointer() noexcept
default constructs a logical nullptr
typed version so we can use operator->
Definition: relocatable_pointer.hpp:30
building block to easily create free function for logging in a library context
Definition: lockfree_queue.hpp:28