LeviLamina
Loading...
Searching...
No Matches
SharedPtr< T > Class Template Reference

Public Member Functions

 SharedPtr (std::nullptr_t) noexcept
 
 SharedPtr (T *p)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
 SharedPtr (SharedPtr< Y > const &other)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
 SharedPtr (SharedPtr< Y > &&other)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
 SharedPtr (WeakPtr< Y > const &other)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
SharedPtr< T > & operator= (SharedPtr< Y > const &other)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
SharedPtr< T > & operator= (SharedPtr< Y > &&other)
 
template<class Y >
requires (std::convertible_to<Y*, T*>)
SharedPtr< T > & operator= (WeakPtr< Y > const &other)
 
T * get () const
 
T * operator-> () const
 
T & operator* () const
 
 operator bool () const
 
int use_count () const
 
void reset ()
 

Static Public Member Functions

template<typename... Args>
static SharedPtr< T > make (Args &&... args)
 

Public Attributes

SharedCounter< T > * counter
 

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