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: