Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZStd::shared_ptr< T > Class Template Reference

Public Types

typedef T element_type
 
typedef T value_type
 
typedef AZStd::Internal::shared_ptr_traits< T >::reference reference
 
typedef T *this_type::* unspecified_bool_type
 

Public Member Functions

 shared_ptr (nullptr_t)
 
template<class Y >
 shared_ptr (Y *p)
 
template<class Y , class D >
 shared_ptr (Y *p, D d)
 
template<class Y , class D , class A >
 shared_ptr (Y *p, D d, const A &a)
 
template<class Y >
 shared_ptr (weak_ptr< Y > const &r)
 
template<class Y >
 shared_ptr (weak_ptr< Y > const &r, AZStd::Internal::sp_nothrow_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, typename AZStd::Internal::sp_enable_if_convertible< Y, T >::type=AZStd::Internal::sp_empty())
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, T *p)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, AZStd::Internal::static_cast_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, AZStd::Internal::const_cast_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, AZStd::Internal::reinterpret_cast_tag)
 
template<class Y >
 shared_ptr (shared_ptr< Y > const &r, AZStd::Internal::rtti_cast_tag)
 
template<class Y >
 shared_ptr (std::auto_ptr< Y > &r)
 
template<class Y , class A >
 shared_ptr (std::auto_ptr< Y > &r, const A &a)
 
template<class Ap >
 shared_ptr (Ap r, typename AZStd::Internal::sp_enable_if_auto_ptr< Ap, int >::type=0)
 
shared_ptroperator= (shared_ptr const &r)
 
template<class Y >
shared_ptroperator= (shared_ptr< Y > const &r)
 
template<class Y >
shared_ptroperator= (std::auto_ptr< Y > &r)
 
template<class Ap >
AZStd::Internal::sp_enable_if_auto_ptr< Ap, shared_ptr & >::type operator= (Ap r)
 
 shared_ptr (shared_ptr &&r)
 
template<class Y >
 shared_ptr (shared_ptr< Y > &&r, typename AZStd::Internal::sp_enable_if_convertible< Y, T >::type=AZStd::Internal::sp_empty())
 
shared_ptroperator= (shared_ptr &&r)
 
template<class Y >
shared_ptroperator= (shared_ptr< Y > &&r)
 
template<class Y , class Deleter >
 shared_ptr (unique_ptr< Y, Deleter > &&r)
 
template<class Y , class Deleter >
shared_ptroperator= (unique_ptr< Y, Deleter > &&r)
 
 shared_ptr (const this_type &r)
 
void reset ()
 
template<class Y >
void reset (Y *p)
 
template<class Y , class D >
void reset (Y *p, D d)
 
template<class Y , class D , class A >
void reset (Y *p, D d, A a)
 
template<class Y >
void reset (shared_ptr< Y > const &r, T *p)
 
reference operator* () const
 
T * operator-> () const
 
T * get () const
 
 operator unspecified_bool_type () const
 
bool operator! () const
 
bool unique () const
 
long use_count () const
 
void swap (shared_ptr< T > &other)
 
template<class Y >
bool _internal_less (shared_ptr< Y > const &rhs) const
 
void * _internal_get_deleter (AZStd::Internal::sp_typeinfo const &ti) const
 
bool _internal_equiv (shared_ptr const &r) const
 

Friends

template<class Y >
class weak_ptr
 

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