Lines Matching refs:fPtr
23 explicit SkTLazy(const T* src) : fPtr(src ? new (&fStorage) T(*src) : nullptr) {}
24 SkTLazy(const SkTLazy& that) : fPtr(that.fPtr ? new (&fStorage) T(*that.fPtr) : nullptr) {}
25 SkTLazy(SkTLazy&& that) : fPtr(that.fPtr ? new (&fStorage) T(std::move(*that.fPtr)) : nullptr){}
55 fPtr = new (&fStorage) T(std::forward<Args>(args)...);
56 return fPtr;
67 *fPtr = src;
69 fPtr = new (&fStorage) T(src);
71 return fPtr;
76 *fPtr = std::move(src);
78 fPtr = new (&fStorage) T(std::move(src));
80 return fPtr;
88 fPtr->~T();
89 fPtr = nullptr;
97 bool isValid() const { return SkToBool(fPtr); }
103 T* get() const { SkASSERT(this->isValid()); return fPtr; }
111 T* getMaybeNull() const { return fPtr; }
115 T* fPtr{nullptr}; // nullptr or fStorage