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

◆ weakRefNoCreate()

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

Definition at line 414 of file ptr.h.

414 {
415 if (!referent_) {
416 return WeakPtr<T>();
417 }
418 WeakReferent *tmp = get()->mWeakPtr.get();
419 if (!tmp) {
420 return WeakPtr<T>();
421 }
422 T *referent = static_cast<T *>(tmp->getReferent());
423 if (!referent) {
424 return WeakPtr<T>();
425 }
426 // At this point, we know that our weak referent is valid.
427 // However, the template parameter ensures that either we have
428 // an exact type, or are at least down-castable of it.
430 out.mWeakPtr = get()->mWeakPtr;
431 return out;
432}
T * referent_
Definition ptr.h:243
T * get() const
Definition ptr.h:195
Definition ptr.h:102

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: