59 const T&& operator*() const &&;
66 explicit operator
bool() const;
71 const T&
value() const &;
73 const T&&
value() const &&;
74 T
value_or(const T& default_value) const;
86 bool operator==(std::nullptr_t) const;
87 bool operator!=(std::nullptr_t) const;
90 bool operator==(const T&
value) const;
91 bool operator!=(const T&
value) const;
125 *m_dataPtr = std::move(
value);
138 return m_dataPtr->IsValid();
145 return m_dataPtr->IsNull();
152 return m_dataPtr->HasValue();
159 return m_dataPtr->GetPtr();
166 return m_dataPtr->GetPtr();
173 return m_dataPtr->GetValue();
180 return m_dataPtr->GetValue();
194 return m_dataPtr->Emplace();
201 m_dataPtr->SetNull();
210 m_dataPtr->operator=(value);
219 m_dataPtr->operator=(std::move(value));
231 return m_dataPtr->operator->();
238 return m_dataPtr->operator->();
245 return m_dataPtr->operator*();
252 return m_dataPtr->operator*();
259 return m_dataPtr->operator*();
266 return m_dataPtr->operator*();
273 m_dataPtr->operator=(
nullptr);
282 m_dataPtr = other.m_dataPtr;
291 return m_dataPtr->operator bool();
298 return m_dataPtr->has_value();
305 return m_dataPtr->value();
312 return m_dataPtr->value();
319 return m_dataPtr->value();
326 return m_dataPtr->value();
333 return m_dataPtr->value_or(default_value);
340 m_dataPtr.swap(other.m_dataPtr);
361 return m_dataPtr->emplace();
368 return m_dataPtr.get() == other.m_dataPtr.get();
375 return (!
operator==(other));
382 return m_dataPtr->operator==(
nullptr);
389 return m_dataPtr->operator!=(
nullptr);
396 return m_dataPtr->operator==(value);
403 return m_dataPtr->operator!=(value);
412 return qHash(*key, seed);
unsigned int qHash(const istd::TSharedNullable< T > &key, unsigned int seed)
This is a comfort wrap for TNullable that allows several TSharedNullable objects to own the same obje...
bool operator==(const TSharedNullable &other) const
const T * operator->() const
T value_or(const T &default_value) const
void swap(TSharedNullable &other)
const T & operator*() const &
bool operator!=(const TSharedNullable &other) const
TSharedNullable & operator=(const T &value)
bool Less(const istd::TSharedNullable< T > &lhs, const istd::TSharedNullable< T > &rhs)