Lines Matching refs:RefCountingPtr
57 * should use RefCountingPtr<T> instead of regular pointers.
108 * typedef RefCountingPtr<Foo> FooPtr;
114 * typedef RefCountingPtr<const Foo> ConstFooPtr;
120 class RefCountingPtr
130 RefCountingPtr<T>,
131 RefCountingPtr<typename std::add_const<T>::type>>::type;
134 RefCountingPtr<typename std::remove_const<T>::type>,
135 RefCountingPtr<T>>::type;
185 RefCountingPtr() : data(0) {}
189 RefCountingPtr(T *data) { copy(data); }
193 RefCountingPtr(const RefCountingPtr &r) { copy(r.data); }
198 RefCountingPtr(RefCountingPtr&& r)
205 RefCountingPtr(const NonConstT &r) { copy(r.data); }
208 ~RefCountingPtr() { del(); }
224 operator RefCountingPtr<typename std::enable_if<!B, ConstT>::type>()
226 return RefCountingPtr<const T>(*this);
230 const RefCountingPtr &operator=(T *p) { set(p); return *this; }
232 /// Copy the pointer from another RefCountingPtr
233 const RefCountingPtr &operator=(const RefCountingPtr &r)
236 /// Move-assign the pointer from another RefCountingPtr
237 const RefCountingPtr &operator=(RefCountingPtr&& r)
257 inline bool operator==(const RefCountingPtr<T> &l, const RefCountingPtr<T> &r)
263 inline bool operator==(const RefCountingPtr<T> &l, const T *r)
269 inline bool operator==(const T *l, const RefCountingPtr<T> &r)
274 inline bool operator!=(const RefCountingPtr<T> &l, const RefCountingPtr<T> &r)
280 inline bool operator!=(const RefCountingPtr<T> &l, const T *r)
286 inline bool operator!=(const T *l, const RefCountingPtr<T> &r)