Shaka Player Embedded
Public Member Functions | Static Public Member Functions | Friends | List of all members
shaka::RefPtr< T > Class Template Reference

#include <ref_ptr.h>

Public Member Functions

 RefPtr ()
 
 RefPtr (std::nullptr_t)
 
template<typename U >
 RefPtr (U *other)
 
 RefPtr (const RefPtr &other)
 
template<typename U >
 RefPtr (const RefPtr< U > &other)
 
 RefPtr (RefPtr &&other)
 
template<typename U >
 RefPtr (RefPtr< U > &&other)
 
 ~RefPtr ()
 
template<typename U >
 RefPtr (const Member< U > &other)
 
template<typename U >
 RefPtr (Member< U > &&other)
 
RefPtroperator= (const RefPtr &other)
 
RefPtroperator= (RefPtr &&other)
 
T & operator* () const
 
T * operator-> () const
 
 operator T* () const
 
bool empty () const
 
T * get () const
 
template<typename U = T>
void reset (U *other=nullptr)
 

Static Public Member Functions

static std::string name ()
 

Friends

template<typename U >
class RefPtr
 

Detailed Description

template<typename T>
class shaka::RefPtr< T >

Defines a smart pointer that performs ref counting on the value that is stored.

Note that when an argument is of type RefPtr<T>, it can be empty; this means the argument is either |null| or |undefined|. Returning an empty RefPtr means returning |null|.

Definition at line 43 of file ref_ptr.h.

Constructor & Destructor Documentation

§ RefPtr() [1/9]

template<typename T>
shaka::RefPtr< T >::RefPtr ( )
inline

Definition at line 51 of file ref_ptr.h.

§ RefPtr() [2/9]

template<typename T>
shaka::RefPtr< T >::RefPtr ( std::nullptr_t  )
inline

Definition at line 53 of file ref_ptr.h.

§ RefPtr() [3/9]

template<typename T>
template<typename U >
shaka::RefPtr< T >::RefPtr ( U *  other)
inline

Definition at line 56 of file ref_ptr.h.

§ RefPtr() [4/9]

template<typename T>
shaka::RefPtr< T >::RefPtr ( const RefPtr< T > &  other)
inline

Definition at line 61 of file ref_ptr.h.

§ RefPtr() [5/9]

template<typename T>
template<typename U >
shaka::RefPtr< T >::RefPtr ( const RefPtr< U > &  other)
inline

Definition at line 66 of file ref_ptr.h.

§ RefPtr() [6/9]

template<typename T>
shaka::RefPtr< T >::RefPtr ( RefPtr< T > &&  other)
inline

Definition at line 71 of file ref_ptr.h.

§ RefPtr() [7/9]

template<typename T>
template<typename U >
shaka::RefPtr< T >::RefPtr ( RefPtr< U > &&  other)
inline

Definition at line 77 of file ref_ptr.h.

§ ~RefPtr()

template<typename T>
shaka::RefPtr< T >::~RefPtr ( )
inline

Definition at line 82 of file ref_ptr.h.

§ RefPtr() [8/9]

template<typename T >
template<typename U >
shaka::RefPtr< T >::RefPtr ( const Member< U > &  other)

Definition at line 165 of file member.h.

§ RefPtr() [9/9]

template<typename T >
template<typename U >
shaka::RefPtr< T >::RefPtr ( Member< U > &&  other)

Definition at line 171 of file member.h.

Member Function Documentation

§ empty()

template<typename T>
bool shaka::RefPtr< T >::empty ( ) const
inline
Returns
Whether the pointer is empty.

Definition at line 120 of file ref_ptr.h.

§ get()

template<typename T>
T* shaka::RefPtr< T >::get ( ) const
inline
Returns
The pointer this holds, may be nullptr.

Definition at line 125 of file ref_ptr.h.

§ name()

template<typename T>
static std::string shaka::RefPtr< T >::name ( )
inlinestatic

Definition at line 47 of file ref_ptr.h.

§ operator T*()

template<typename T>
shaka::RefPtr< T >::operator T* ( ) const
inline

Definition at line 115 of file ref_ptr.h.

§ operator*()

template<typename T>
T& shaka::RefPtr< T >::operator* ( ) const
inline

Definition at line 107 of file ref_ptr.h.

§ operator->()

template<typename T>
T* shaka::RefPtr< T >::operator-> ( ) const
inline

Definition at line 111 of file ref_ptr.h.

§ operator=() [1/2]

template<typename T>
RefPtr& shaka::RefPtr< T >::operator= ( const RefPtr< T > &  other)
inline

Definition at line 97 of file ref_ptr.h.

§ operator=() [2/2]

template<typename T>
RefPtr& shaka::RefPtr< T >::operator= ( RefPtr< T > &&  other)
inline

Definition at line 101 of file ref_ptr.h.

§ reset()

template<typename T>
template<typename U = T>
void shaka::RefPtr< T >::reset ( U *  other = nullptr)
inline

Definition at line 130 of file ref_ptr.h.

Friends And Related Function Documentation

§ RefPtr

template<typename T>
template<typename U >
friend class RefPtr
friend

Definition at line 142 of file ref_ptr.h.


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