Otclient  14/8/2020
stdext::shared_object_ptr< T > Class Template Reference

#include <shared_object.h>

Public Types

typedef T element_type
 
typedef T *shared_object_ptr::* unspecified_bool_type
 

Public Member Functions

 shared_object_ptr ()
 
 shared_object_ptr (T *p, bool add_ref=true)
 
 shared_object_ptr (shared_object_ptr const &rhs)
 
template<class U >
 shared_object_ptr (shared_object_ptr< U > const &rhs, typename std::enable_if< std::is_convertible< U *, T * >::value, U * >::type=nullptr)
 
 ~shared_object_ptr ()
 
void reset ()
 
void reset (T *rhs)
 
void swap (shared_object_ptr &rhs)
 
T * get () const
 
refcount_t use_count () const
 
bool is_unique () const
 
template<class U >
shared_object_ptroperator= (shared_object_ptr< U > const &rhs)
 
T & operator* () const
 
T * operator-> () const
 
shared_object_ptroperator= (shared_object_ptr const &rhs)
 
shared_object_ptroperator= (T *rhs)
 
 operator unspecified_bool_type () const
 
bool operator! () const
 
 shared_object_ptr (shared_object_ptr &&rhs)
 
shared_object_ptroperator= (shared_object_ptr &&rhs)
 

Detailed Description

template<class T>
class stdext::shared_object_ptr< T >

Definition at line 39 of file shared_object.h.

Member Typedef Documentation

◆ element_type

template<class T >
typedef T stdext::shared_object_ptr< T >::element_type

Definition at line 66 of file shared_object.h.

◆ unspecified_bool_type

template<class T >
typedef T* shared_object_ptr::* stdext::shared_object_ptr< T >::unspecified_bool_type

Definition at line 96 of file shared_object.h.

Constructor & Destructor Documentation

◆ shared_object_ptr() [1/5]

template<class T >
stdext::shared_object_ptr< T >::shared_object_ptr ( )
inline

Definition at line 68 of file shared_object.h.

Here is the caller graph for this function:

◆ shared_object_ptr() [2/5]

template<class T >
stdext::shared_object_ptr< T >::shared_object_ptr ( T *  p,
bool  add_ref = true 
)
inline

Definition at line 69 of file shared_object.h.

◆ shared_object_ptr() [3/5]

template<class T >
stdext::shared_object_ptr< T >::shared_object_ptr ( shared_object_ptr< T > const &  rhs)
inline

Definition at line 74 of file shared_object.h.

◆ shared_object_ptr() [4/5]

template<class T >
template<class U >
stdext::shared_object_ptr< T >::shared_object_ptr ( shared_object_ptr< U > const &  rhs,
typename std::enable_if< std::is_convertible< U *, T * >::value, U * >::type  = nullptr 
)
inline

Definition at line 76 of file shared_object.h.

◆ ~shared_object_ptr()

template<class T >
stdext::shared_object_ptr< T >::~shared_object_ptr ( )
inline

Definition at line 77 of file shared_object.h.

◆ shared_object_ptr() [5/5]

template<class T >
stdext::shared_object_ptr< T >::shared_object_ptr ( shared_object_ptr< T > &&  rhs)
inline

Definition at line 101 of file shared_object.h.

Member Function Documentation

◆ get()

template<class T >
T* stdext::shared_object_ptr< T >::get ( ) const
inline

Definition at line 82 of file shared_object.h.

Here is the caller graph for this function:

◆ is_unique()

template<class T >
bool stdext::shared_object_ptr< T >::is_unique ( ) const
inline

Definition at line 85 of file shared_object.h.

◆ operator unspecified_bool_type()

template<class T >
stdext::shared_object_ptr< T >::operator unspecified_bool_type ( ) const
inline

Definition at line 97 of file shared_object.h.

◆ operator!()

template<class T >
bool stdext::shared_object_ptr< T >::operator! ( ) const
inline

Definition at line 98 of file shared_object.h.

◆ operator*()

template<class T >
T& stdext::shared_object_ptr< T >::operator* ( ) const
inline

Definition at line 89 of file shared_object.h.

◆ operator->()

template<class T >
T* stdext::shared_object_ptr< T >::operator-> ( ) const
inline

Definition at line 90 of file shared_object.h.

◆ operator=() [1/4]

template<class T >
shared_object_ptr& stdext::shared_object_ptr< T >::operator= ( shared_object_ptr< T > &&  rhs)
inline

Definition at line 102 of file shared_object.h.

◆ operator=() [2/4]

template<class T >
shared_object_ptr& stdext::shared_object_ptr< T >::operator= ( shared_object_ptr< T > const &  rhs)
inline

Definition at line 92 of file shared_object.h.

◆ operator=() [3/4]

template<class T >
template<class U >
shared_object_ptr& stdext::shared_object_ptr< T >::operator= ( shared_object_ptr< U > const &  rhs)
inline

Definition at line 87 of file shared_object.h.

◆ operator=() [4/4]

template<class T >
shared_object_ptr& stdext::shared_object_ptr< T >::operator= ( T *  rhs)
inline

Definition at line 93 of file shared_object.h.

◆ reset() [1/2]

template<class T >
void stdext::shared_object_ptr< T >::reset ( )
inline

Definition at line 79 of file shared_object.h.

Here is the caller graph for this function:

◆ reset() [2/2]

template<class T >
void stdext::shared_object_ptr< T >::reset ( T *  rhs)
inline

Definition at line 80 of file shared_object.h.

◆ swap()

template<class T >
void stdext::shared_object_ptr< T >::swap ( shared_object_ptr< T > &  rhs)
inline

Definition at line 81 of file shared_object.h.

Here is the caller graph for this function:

◆ use_count()

template<class T >
refcount_t stdext::shared_object_ptr< T >::use_count ( ) const
inline

Definition at line 84 of file shared_object.h.

Here is the caller graph for this function:

The documentation for this class was generated from the following file: