FastLED 3.9.15
Loading...
Searching...
No Matches

◆ weakRefNoCreate()

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

Definition at line 431 of file ptr.h.

431 {
432 if (!referent_) {
433 return WeakPtr<T>();
434 }
435 WeakReferent *tmp = get()->mWeakPtr.get();
436 if (!tmp) {
437 return WeakPtr<T>();
438 }
439 T *referent = static_cast<T *>(tmp->getReferent());
440 if (!referent) {
441 return WeakPtr<T>();
442 }
443 // At this point, we know that our weak referent is valid.
444 // However, the template parameter ensures that either we have
445 // an exact type, or are at least down-castable of it.
447 out.mWeakPtr = get()->mWeakPtr;
448 return out;
449}
T * referent_
Definition ptr.h:258
T * get() const
Definition ptr.h:210
Definition ptr.h:118

References get(), fl::WeakReferent::getReferent(), fl::WeakPtr< T >::mWeakPtr, and referent_.

Referenced by fl::WeakPtr< T >::WeakPtr(), and fl::WeakPtr< T >::WeakPtr().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: