SleakEngine 1.0.0
C++23 multi-backend game engine
Loading...
Searching...
No Matches
Sleak::WeakPtr< T > Class Template Reference

#include <WeakPtr.hpp>

Public Member Functions

 WeakPtr ()
 WeakPtr (const RefPtr< T > &refPtr)
 WeakPtr (const WeakPtr &other)
 ~WeakPtr ()=default
bool expired () const
RefPtr< T > lock () const
WeakPtroperator= (const RefPtr< T > &refPtr)
WeakPtroperator= (const WeakPtr &other)
size_t use_count () const

Detailed Description

template<typename T>
class Sleak::WeakPtr< T >

Non-owning observer of a RefPtr-managed object; lock() to get a strong reference back, or check expired() before touching the raw pointer.

Definition at line 12 of file WeakPtr.hpp.

Constructor & Destructor Documentation

◆ WeakPtr() [1/3]

template<typename T>
Sleak::WeakPtr< T >::WeakPtr ( )
inline

Definition at line 19 of file WeakPtr.hpp.

◆ WeakPtr() [2/3]

template<typename T>
Sleak::WeakPtr< T >::WeakPtr ( const RefPtr< T > & refPtr)
inline

Definition at line 22 of file WeakPtr.hpp.

◆ WeakPtr() [3/3]

template<typename T>
Sleak::WeakPtr< T >::WeakPtr ( const WeakPtr< T > & other)
inline

Definition at line 26 of file WeakPtr.hpp.

◆ ~WeakPtr()

template<typename T>
Sleak::WeakPtr< T >::~WeakPtr ( )
default

Member Function Documentation

◆ expired()

template<typename T>
bool Sleak::WeakPtr< T >::expired ( ) const
inline

Definition at line 57 of file WeakPtr.hpp.

◆ lock()

template<typename T>
RefPtr< T > Sleak::WeakPtr< T >::lock ( ) const
inline

Definition at line 49 of file WeakPtr.hpp.

◆ operator=() [1/2]

template<typename T>
WeakPtr & Sleak::WeakPtr< T >::operator= ( const RefPtr< T > & refPtr)
inline

Definition at line 42 of file WeakPtr.hpp.

◆ operator=() [2/2]

template<typename T>
WeakPtr & Sleak::WeakPtr< T >::operator= ( const WeakPtr< T > & other)
inline

Definition at line 33 of file WeakPtr.hpp.

◆ use_count()

template<typename T>
size_t Sleak::WeakPtr< T >::use_count ( ) const
inline

Definition at line 62 of file WeakPtr.hpp.