|
|
constexpr | operator const iobject_ptr< const IObject > & () const noexcept |
| |
|
template<typename U, typename = ::std::enable_if_t<::std::is_same_v<U, IObject> && !::std::is_const_v<StorageType>>> |
| constexpr | operator const iobject_ptr< U > & () const noexcept |
| |
|
template<typename U, typename = std::enable_if_t<(::std::is_same_v<U, const IObject> && ::std::is_const_v<StorageType>) || (::std::is_same_v<U, IObject> && !::std::is_const_v<StorageType>)>> |
| constexpr | operator iobject_ptr< U > & () noexcept |
| |
|
template<typename... Args> |
| | object_ptr_delegate_base (Args &&... args) noexcept |
| |
|
| object_ptr_delegate_base (const object_ptr_delegate_base &oOther) noexcept |
| |
|
| object_ptr_delegate_base (object_ptr_delegate_base &&oOther) noexcept |
| |
| constexpr detail::iobject_ptr_ref< size_t > * | GetObjPtrRef () const noexcept final override |
| |
|
constexpr StorageType * | GetStorageObject () const noexcept |
| |
| T * | Get () const final override |
| | Get raw pointer to shared object.
|
| |
| T * | operator-> () const noexcept final override |
| | Operator-> overload to treat object_ptr<> types like real pointers.
|
| |
|
T & | operator* () const noexcept |
| |
|
void | Swap (object_ptr_delegate_base &oOther) noexcept |
| |
|
void | Reset () |
| |
| tResult | Reset (const iobject_ptr< T > &oOther) noexcept final override |
| | Reset this object_ptr<> with the content of another iobject_ptr<>
|
| |
|
object_ptr_delegate_base & | operator= (const object_ptr_delegate_base &oOther) |
| |
|
object_ptr_delegate_base & | operator= (object_ptr_delegate_base &&oOther) |
| |
|
constexpr | operator bool () const noexcept |
| |
| virtual | operator const iobject_ptr< const T > & () const =0 |
| | Enable implicit conversion to const value type for pointer-like behavior.
|
| |
| T & | operator* () const noexcept |
| | Operator* to dereference the stored pointer.
|
| |