18 #ifndef IOX_UTILS_RELOCATABLE_POINTER_RELATIVE_POINTER_HPP
19 #define IOX_UTILS_RELOCATABLE_POINTER_RELATIVE_POINTER_HPP
21 #include "base_relative_pointer.hpp"
67 template <
typename U = T>
68 typename std::enable_if<!std::is_void<U>::value, U&>::type
operator*() noexcept;
77 template <
typename U = T>
78 typename std::enable_if<!std::is_void<U>::value,
const U&>::type
operator*()
const noexcept;
86 T*
get()
const noexcept;
90 operator T*()
const noexcept;
106 #include "iceoryx_utils/internal/relocatable_pointer/relative_pointer.inl"
pointer class to use when pointer and pointee are located in different shared memory segments We can ...
Definition: base_relative_pointer.hpp:53
typed version so we can use operator->
Definition: relative_pointer.hpp:34
RelativePointer & operator=(const BaseRelativePointer &other) noexcept
assign this to point to the same pointee as the BaseRelativePointer other
Definition: relative_pointer.inl:53
T * get() const noexcept
access the underlying object
Definition: relative_pointer.inl:96
RelativePointer(ptr_t ptr, id_t id) noexcept
constructs a RelativePointer pointing to the same pointee as ptr in a segment identified by id
Definition: relative_pointer.inl:28
T * operator->() noexcept
access to the underlying object
Definition: relative_pointer.inl:77
bool operator!=(T *const ptr) const noexcept
checks if this and ptr point not to the same pointee
Definition: relative_pointer.inl:114
std::enable_if<!std::is_void< U >::value, U & >::type operator*() noexcept
dereferencing operator which returns a reference to the underlying object
Definition: relative_pointer.inl:71
bool operator==(T *const ptr) const noexcept
checks if this and ptr point to the same pointee
Definition: relative_pointer.inl:108
building block to easily create free function for logging in a library context
Definition: lockfree_queue.hpp:28