FastLED 3.9.3
Loading...
Searching...
No Matches
Ref< T > Class Template Reference

Detailed Description

template<typename T>
class Ref< T >

Definition at line 99 of file ref.h.

+ Inheritance diagram for Ref< T >:

Public Member Functions

template<typename U , typename = fl::is_derived<T, U>>
 Ref (const Ref< U > &refptr)
 
 Ref (T *referent)=delete
 
Refoperator= (T *referent)=delete
 
 Ref (const Ref &other)
 
 Ref (Ref &&other) noexcept
 
Refoperator= (const Ref &other)
 
WeakRef< T > weakRefNoCreate () const
 
WeakRef< T > weakRef () const
 
bool operator== (const T *other) const
 
bool operator!= (const T *other) const
 
bool operator== (const Ref &other) const
 
bool operator!= (const Ref &other) const
 
bool operator< (const Ref &other) const
 
Refoperator= (Ref &&other) noexcept
 
T * get () const
 
T * operator-> () const
 
T & operator* () const
 
 operator bool () const noexcept
 
void reset ()
 
void reset (Ref< T > &refptr)
 
T * release ()
 
void swap (Ref &other) noexcept
 
bool isOwned () const
 

Static Public Member Functions

template<typename... Args>
static Ref< T > New (Args... args)
 
static Ref TakeOwnership (T *ptr)
 
static Ref NoTracking (T &referent)
 
static Ref< T > Null ()
 
- Static Public Member Functions inherited from RefTraits< T >
template<typename... Args>
static Ref< T > New (Args... args)
 
static Ref< T > New ()
 

Friends

class RefTraits< T >
 

Additional Inherited Members

- Public Types inherited from RefTraits< T >
using element_type = T
 
using ptr_type = Ref<T>
 

Constructor & Destructor Documentation

◆ Ref() [1/4]

template<typename T >
template<typename U , typename = fl::is_derived<T, U>>
Ref< T >::Ref ( const Ref< U > & refptr)
inline

Definition at line 118 of file ref.h.

◆ Ref() [2/4]

template<typename T >
Ref< T >::Ref ( )
inline

Definition at line 126 of file ref.h.

◆ Ref() [3/4]

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

Definition at line 133 of file ref.h.

◆ Ref() [4/4]

template<typename T >
Ref< T >::Ref ( Ref< T > && other)
inlinenoexcept

Definition at line 139 of file ref.h.

◆ ~Ref()

template<typename T >
Ref< T >::~Ref ( )
inline

Definition at line 143 of file ref.h.

Member Function Documentation

◆ get()

template<typename T >
T * Ref< T >::get ( ) const
inline

Definition at line 192 of file ref.h.

◆ isOwned()

template<typename T >
bool Ref< T >::isOwned ( ) const
inline

Definition at line 232 of file ref.h.

◆ New()

template<typename T >
template<typename... Args>
static Ref< T > Ref< T >::New ( Args... args)
inlinestatic

Definition at line 103 of file ref.h.

◆ NoTracking()

template<typename T >
static Ref Ref< T >::NoTracking ( T & referent)
inlinestatic

Definition at line 113 of file ref.h.

◆ Null()

template<typename T >
static Ref< T > Ref< T >::Null ( )
inlinestatic

Definition at line 124 of file ref.h.

◆ operator bool()

template<typename T >
Ref< T >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 198 of file ref.h.

◆ operator!=() [1/2]

template<typename T >
bool Ref< T >::operator!= ( const Ref< T > & other) const
inline

Definition at line 173 of file ref.h.

◆ operator!=() [2/2]

template<typename T >
bool Ref< T >::operator!= ( const T * other) const
inline

Definition at line 168 of file ref.h.

◆ operator*()

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

Definition at line 196 of file ref.h.

◆ operator->()

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

Definition at line 194 of file ref.h.

◆ operator<()

template<typename T >
bool Ref< T >::operator< ( const Ref< T > & other) const
inline

Definition at line 177 of file ref.h.

◆ operator=() [1/2]

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

Definition at line 149 of file ref.h.

◆ operator=() [2/2]

template<typename T >
Ref & Ref< T >::operator= ( Ref< T > && other)
inlinenoexcept

Definition at line 181 of file ref.h.

◆ operator==() [1/2]

template<typename T >
bool Ref< T >::operator== ( const Ref< T > & other) const
inline

Definition at line 170 of file ref.h.

◆ operator==() [2/2]

template<typename T >
bool Ref< T >::operator== ( const T * other) const
inline

Definition at line 166 of file ref.h.

◆ release()

template<typename T >
T * Ref< T >::release ( )
inline

Definition at line 220 of file ref.h.

◆ reset() [1/2]

template<typename T >
void Ref< T >::reset ( )
inline

Definition at line 200 of file ref.h.

◆ reset() [2/2]

template<typename T >
void Ref< T >::reset ( Ref< T > & refptr)
inline

Definition at line 207 of file ref.h.

◆ swap()

template<typename T >
void Ref< T >::swap ( Ref< T > & other)
inlinenoexcept

Definition at line 226 of file ref.h.

◆ TakeOwnership()

template<typename T >
static Ref Ref< T >::TakeOwnership ( T * ptr)
inlinestatic

Definition at line 108 of file ref.h.

◆ weakRef()

template<typename T >
WeakRef< T > Ref< T >::weakRef ( ) const
inline

Definition at line 164 of file ref.h.

◆ weakRefNoCreate()

template<typename T >
WeakRef< T > Ref< T >::weakRefNoCreate ( ) const
inline

Definition at line 411 of file ref.h.

Friends And Related Symbol Documentation

◆ RefTraits< T >

template<typename T >
friend class RefTraits< T >
friend

Definition at line 54 of file ref.h.


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