33 operator T*()
const noexcept {
48 operator bool() const noexcept {
57 return get() == other.get();
65 return !(*
this == other);
72 return get() ==
nullptr;
80 return get()->getRefCount() == 0;
88 return get()->getRefCount() == 1;
94 T*
get()
const noexcept {
102 void set(T* ptr) noexcept {
bool operator!=(const RefBase &other) const noexcept
Check if two refs are not the same.
Definition: RefBase.h:64
RefBase() noexcept=default
Initializes object pointer to nullptr.
bool isUnique() const noexcept
Check if object has only one strong reference.
Definition: RefBase.h:86
RefBase(T *ptr) noexcept
Initializes object pointer with ptr.
Definition: RefBase.h:25
Generic base class of a pointer for reference counted objects.
Definition: RefBase.h:16
T & operator*() const noexcept
Dereference operator.
Definition: RefBase.h:40
T * m_ptr
Raw pointer.
Definition: RefBase.h:107
bool isExpired() const noexcept
Check is object is dead.
Definition: RefBase.h:78
void set(T *ptr) noexcept
Replace object pointer without any checks or reference management.
Definition: RefBase.h:102
bool isNull() const noexcept
Check for nullptr.
Definition: RefBase.h:71
bool operator==(const RefBase &other) const noexcept
Check if two refs are the same.
Definition: RefBase.h:56