58 WeakPtr& operator=(_Object* obj)
60 if (obj != m_object) {
67 WeakPtr& operator=(std::nullptr_t)
75 this->operator=(ptr.m_object);
92 return !m_object || aObject_IsDestructed(m_object);
99 _Object* operator->()
const
107 explicit operator bool()
const
111 bool operator==(
const WeakPtr& other)
const
113 return m_object == other.m_object;
115 bool operator!=(
const WeakPtr& other)
const
117 return m_object != other.m_object;
119 bool operator<(
const WeakPtr& other)
const
121 return m_object < other.m_object;
127 aObject_IncWeakRef(m_object);
132 aObject_DecWeakRef(m_object);
135 _Object* m_object{
nullptr};