TrinityCore
|
Trinity::unique_trackable_ptr companion class, replicating what std::weak_ptr is to std::shared_ptr. More...
#include <UniqueTrackablePtr.h>
Public Types | |
using | element_type = T |
using | pointer = T * |
Public Member Functions | |
unique_weak_ptr ()=default | |
unique_weak_ptr (unique_trackable_ptr< T > const &trackable) | |
unique_weak_ptr (unique_weak_ptr const &other)=default | |
template<typename T2 , std::enable_if_t< std::is_convertible_v< T2 *, T * >, int > = 0> | |
unique_weak_ptr (unique_weak_ptr< T2 > const &other) noexcept | |
unique_weak_ptr (unique_weak_ptr &&other) noexcept=default | |
template<typename T2 , std::enable_if_t< std::is_convertible_v< T2 *, T * >, int > = 0> | |
unique_weak_ptr (unique_weak_ptr< T2 > &&other) noexcept | |
unique_weak_ptr & | operator= (unique_trackable_ptr< T > const &trackable) |
unique_weak_ptr & | operator= (unique_weak_ptr const &other)=default |
template<typename T2 , std::enable_if_t< std::is_convertible_v< T2 *, T * >, int > = 0> | |
unique_weak_ptr & | operator= (unique_weak_ptr< T2 > &&other) |
unique_weak_ptr & | operator= (unique_weak_ptr &&other) noexcept=default |
~unique_weak_ptr ()=default | |
void | swap (unique_weak_ptr &other) noexcept |
bool | expired () const |
unique_strong_ref_ptr< element_type > | lock () const |
Private Attributes | |
std::weak_ptr< element_type > | _ptr |
Friends | |
template<typename T0 > | |
class | unique_weak_ptr |
template<typename T0 > | |
class | unique_strong_ref_ptr |
template<class To , class From > | |
unique_weak_ptr< To > | static_pointer_cast (unique_weak_ptr< From > const &other) |
template<class To , class From > | |
unique_weak_ptr< To > | const_pointer_cast (unique_weak_ptr< From > const &other) |
template<class To , class From > | |
unique_weak_ptr< To > | reinterpret_pointer_cast (unique_weak_ptr< From > const &other) |
template<class To , class From > | |
unique_weak_ptr< To > | dynamic_pointer_cast (unique_weak_ptr< From > const &other) |
Trinity::unique_trackable_ptr companion class, replicating what std::weak_ptr is to std::shared_ptr.
T | Type of held object |
Definition at line 159 of file UniqueTrackablePtr.h.
using Trinity::unique_weak_ptr< T >::element_type = T |
Definition at line 162 of file UniqueTrackablePtr.h.
using Trinity::unique_weak_ptr< T >::pointer = T* |
Definition at line 163 of file UniqueTrackablePtr.h.
|
default |
|
inline |
Definition at line 167 of file UniqueTrackablePtr.h.
|
default |
|
inlinenoexcept |
Definition at line 173 of file UniqueTrackablePtr.h.
|
defaultnoexcept |
|
inlinenoexcept |
Definition at line 179 of file UniqueTrackablePtr.h.
|
default |
|
inline |
Definition at line 207 of file UniqueTrackablePtr.h.
|
inline |
Definition at line 212 of file UniqueTrackablePtr.h.
|
inline |
Definition at line 182 of file UniqueTrackablePtr.h.
|
defaultnoexcept |
|
default |
|
inline |
Definition at line 191 of file UniqueTrackablePtr.h.
|
inlinenoexcept |
Definition at line 201 of file UniqueTrackablePtr.h.
|
friend |
Definition at line 396 of file UniqueTrackablePtr.h.
|
friend |
Definition at line 412 of file UniqueTrackablePtr.h.
|
friend |
Definition at line 404 of file UniqueTrackablePtr.h.
|
friend |
Definition at line 388 of file UniqueTrackablePtr.h.
Definition at line 222 of file UniqueTrackablePtr.h.
Definition at line 219 of file UniqueTrackablePtr.h.
|
private |
Definition at line 236 of file UniqueTrackablePtr.h.