FastLED 3.9.7
Loading...
Searching...
No Matches
fl::Ptr< T > Class Template Reference

Detailed Description

template<typename T>
class fl::Ptr< T >

Definition at line 102 of file ptr.h.

+ Inheritance diagram for fl::Ptr< T >:

Public Member Functions

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

Static Public Member Functions

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

Friends

class PtrTraits< T >
 

Additional Inherited Members

- Public Types inherited from fl::PtrTraits< T >
using element_type = T
 
using ptr_type = Ptr<T>
 

Constructor & Destructor Documentation

◆ Ptr() [1/4]

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

Definition at line 121 of file ptr.h.

◆ Ptr() [2/4]

template<typename T >
fl::Ptr< T >::Ptr ( )
inline

Definition at line 129 of file ptr.h.

◆ Ptr() [3/4]

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

Definition at line 136 of file ptr.h.

◆ Ptr() [4/4]

template<typename T >
fl::Ptr< T >::Ptr ( Ptr< T > && other)
inlinenoexcept

Definition at line 142 of file ptr.h.

◆ ~Ptr()

template<typename T >
fl::Ptr< T >::~Ptr ( )
inline

Definition at line 146 of file ptr.h.

Member Function Documentation

◆ get()

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

Definition at line 195 of file ptr.h.

◆ isOwned()

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

Definition at line 235 of file ptr.h.

◆ New()

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

Definition at line 106 of file ptr.h.

◆ NoTracking()

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

Definition at line 116 of file ptr.h.

◆ Null()

template<typename T >
static Ptr< T > fl::Ptr< T >::Null ( )
inlinestatic

Definition at line 127 of file ptr.h.

◆ operator bool()

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

Definition at line 201 of file ptr.h.

◆ operator!=() [1/2]

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

Definition at line 176 of file ptr.h.

◆ operator!=() [2/2]

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

Definition at line 171 of file ptr.h.

◆ operator*()

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

Definition at line 199 of file ptr.h.

◆ operator->()

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

Definition at line 197 of file ptr.h.

◆ operator<()

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

Definition at line 180 of file ptr.h.

◆ operator=() [1/2]

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

Definition at line 152 of file ptr.h.

◆ operator=() [2/2]

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

Definition at line 184 of file ptr.h.

◆ operator==() [1/2]

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

Definition at line 173 of file ptr.h.

◆ operator==() [2/2]

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

Definition at line 169 of file ptr.h.

◆ release()

template<typename T >
T * fl::Ptr< T >::release ( )
inline

Definition at line 223 of file ptr.h.

◆ reset() [1/2]

template<typename T >
void fl::Ptr< T >::reset ( )
inline

Definition at line 203 of file ptr.h.

◆ reset() [2/2]

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

Definition at line 210 of file ptr.h.

◆ swap()

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

Definition at line 229 of file ptr.h.

◆ TakeOwnership()

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

Definition at line 111 of file ptr.h.

◆ weakPtr()

template<typename T >
WeakPtr< T > fl::Ptr< T >::weakPtr ( ) const
inline

Definition at line 167 of file ptr.h.

◆ weakRefNoCreate()

template<typename T >
WeakPtr< T > fl::Ptr< T >::weakRefNoCreate ( ) const
inline

Definition at line 414 of file ptr.h.

Friends And Related Symbol Documentation

◆ PtrTraits< T >

template<typename T >
friend class PtrTraits< T >
friend

Definition at line 57 of file ptr.h.


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