mCRL2
|
A pointer storage object that uses a least significant bit as a mark. Can be used by objects that are 8 bytes aligned in memory. More...
#include <tagged_pointer.h>
Public Member Functions | |
tagged_pointer () | |
tagged_pointer (T *p) | |
bool | tagged () const |
void | tag () const |
Apply a tag to the pointer that can be checked with tagged(). | |
void | untag () const |
Remove the tag. | |
bool | defined () const |
void | operator= (std::nullptr_t) |
bool | operator== (std::nullptr_t) const |
bool | operator!= (std::nullptr_t) const |
bool | operator== (const tagged_pointer &other) const |
bool | operator!= (const tagged_pointer &other) const |
bool | operator< (const tagged_pointer &other) const noexcept |
bool | operator<= (const tagged_pointer &other) const noexcept |
bool | operator> (const tagged_pointer &other) const noexcept |
bool | operator>= (const tagged_pointer &other) const noexcept |
const T & | operator* () const |
T & | operator* () |
const T * | operator-> () const |
T * | operator-> () |
const T * | get () const |
T * | get () |
void | swap (tagged_pointer< T > &other) |
Private Attributes | |
std::conditional_t< detail::GlobalThreadSafe, detail::atomic_wrapper< T * >, T * > | m_pointer = nullptr |
A pointer storage object that uses a least significant bit as a mark. Can be used by objects that are 8 bytes aligned in memory.
Definition at line 65 of file tagged_pointer.h.
|
inline |
Definition at line 68 of file tagged_pointer.h.
|
inlineexplicit |
Definition at line 69 of file tagged_pointer.h.
|
inline |
Definition at line 91 of file tagged_pointer.h.
|
inline |
Definition at line 166 of file tagged_pointer.h.
|
inline |
Definition at line 161 of file tagged_pointer.h.
|
inline |
Definition at line 116 of file tagged_pointer.h.
|
inline |
Definition at line 106 of file tagged_pointer.h.
|
inline |
Definition at line 146 of file tagged_pointer.h.
|
inline |
Definition at line 141 of file tagged_pointer.h.
|
inline |
Definition at line 156 of file tagged_pointer.h.
|
inline |
Definition at line 151 of file tagged_pointer.h.
|
inlinenoexcept |
Definition at line 121 of file tagged_pointer.h.
|
inlinenoexcept |
Definition at line 126 of file tagged_pointer.h.
|
inline |
Definition at line 96 of file tagged_pointer.h.
|
inline |
Definition at line 111 of file tagged_pointer.h.
|
inline |
Definition at line 101 of file tagged_pointer.h.
|
inlinenoexcept |
Definition at line 131 of file tagged_pointer.h.
|
inlinenoexcept |
Definition at line 136 of file tagged_pointer.h.
|
inline |
Definition at line 171 of file tagged_pointer.h.
|
inline |
Apply a tag to the pointer that can be checked with tagged().
Definition at line 80 of file tagged_pointer.h.
|
inline |
Definition at line 74 of file tagged_pointer.h.
|
inline |
Remove the tag.
Definition at line 86 of file tagged_pointer.h.
|
mutableprivate |
Definition at line 180 of file tagged_pointer.h.