reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
136 T *Obj = nullptr; 139 using element_type = T; 142 IntrusiveRefCntPtr(T *obj) : Obj(obj) { retain(); } 147 IntrusiveRefCntPtr(IntrusiveRefCntPtr<X> &&S) : Obj(S.get()) { 152 IntrusiveRefCntPtr(const IntrusiveRefCntPtr<X> &S) : Obj(S.get()) { 163 T &operator*() const { return *Obj; } 164 T *operator->() const { return Obj; } 165 T *get() const { return Obj; } 184 IntrusiveRefCntPtrInfo<T>::retain(Obj); 189 IntrusiveRefCntPtrInfo<T>::release(Obj);unittests/ADT/IntrusiveRefCntPtrTest.cpp
39 struct InterceptRefCounted : public RefCountedBase<InterceptRefCounted> { 46 static void retain(InterceptRefCounted *I) { 50 static void release(InterceptRefCounted *I) { 59 InterceptRefCounted *I = new InterceptRefCounted(&Released, &Retained); 59 InterceptRefCounted *I = new InterceptRefCounted(&Released, &Retained); 60 IntrusiveRefCntPtr<InterceptRefCounted> R = I;