66 void operator delete (
void *);
68 friend class Ptr<const T>;
74 inline void Acquire (
void)
const;
99 Ptr (T *ptr,
bool ref);
102 template <
typename U>
115 operator Tester * ()
const;
118 template <
typename T>
121 template <
typename T,
typename T1>
124 template <
typename T,
typename T1,
typename T2>
127 template <
typename T,
typename T1,
typename T2,
typename T3>
130 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4>
133 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
136 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
137 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
139 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
140 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7);
151 template <
typename T>
163 template <
typename T>
166 template <
typename T>
167 std::ostream &operator << (std::ostream &, const Ptr<T> &p);
171 template <
typename T1,
typename T2>
175 template <
typename T1,
typename T2>
179 template <
typename T1,
typename T2>
183 template <
typename T1,
typename T2>
187 template <
typename T1,
typename T2>
191 template <
typename T1,
typename T2>
194 template <
typename T1,
typename T2>
197 template <
typename T>
200 template <
typename T>
209 template <
typename T>
210 struct EventMemberImplObjTraits;
212 template <
typename T>
231 template <
typename T>
234 return Ptr<T> (
new T (),
false);
237 template <
typename T,
typename T1>
240 return Ptr<T> (
new T (a1),
false);
243 template <
typename T,
typename T1,
typename T2>
246 return Ptr<T> (
new T (a1, a2),
false);
249 template <
typename T,
typename T1,
typename T2,
typename T3>
252 return Ptr<T> (
new T (a1, a2, a3),
false);
255 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4>
258 return Ptr<T> (
new T (a1, a2, a3, a4),
false);
261 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
264 return Ptr<T> (
new T (a1, a2, a3, a4, a5),
false);
267 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
270 return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6),
false);
273 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
276 return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6, a7),
false);
279 template <
typename T>
285 template <
typename T>
292 template <
typename T>
293 std::ostream &operator << (std::ostream &os, const Ptr<T> &p)
299 template <
typename T1,
typename T2>
306 template <
typename T1,
typename T2>
313 template <
typename T1,
typename T2>
320 template <
typename T1,
typename T2>
327 template <
typename T1,
typename T2>
334 template <
typename T1,
typename T2>
341 template <
typename T>
342 bool operator < (const Ptr<T> &lhs,
const Ptr<T> &rhs)
344 return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
347 template <
typename T>
348 bool operator <= (const Ptr<T> &lhs,
const Ptr<T> &rhs)
350 return PeekPointer<T> (lhs) <= PeekPointer<T> (rhs);
353 template <
typename T>
356 return PeekPointer<T> (lhs) > PeekPointer<T> (rhs);
359 template <
typename T>
362 return PeekPointer<T> (lhs) >= PeekPointer<T> (rhs);
365 template <
typename T1,
typename T2>
372 template <
typename T1,
typename T2>
379 template <
typename T1,
typename T2>
387 template <
typename T>
394 template <
typename T>
395 Ptr<T>
Copy (Ptr<const T>
object)
397 Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)),
false);
405 template <
typename T>
415 template <
typename T>
421 template <
typename T>
428 template <
typename T>
438 template <
typename T>
444 template <
typename T>
445 template <
typename U>
452 template <
typename T>
461 template <
typename T>
478 template <
typename T>
485 template <
typename T>
492 template <
typename T>
499 template <
typename T>
506 template <
typename T>
513 template <
typename T>
smart pointer class similar to boost::intrusive_ptr
Ptr()
Create an empty smart pointer.
T * GetPointer(const Ptr< T > &p)
static T & GetReference(Ptr< T > const p)
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator.
const T & operator*() const
Ptr< T > & operator=(Ptr const &o)
Trait class to convert a pointer into a reference, used by MemPtrCallBackImpl.
T * PeekPointer(const Ptr< T > &p)
Ptr< T1 > StaticCast(Ptr< T2 > const &p)
Ptr< T1 > DynamicCast(Ptr< T2 > const &p)
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test.
static T & GetReference(Ptr< T > p)
friend U * GetPointer(const Ptr< U > &p)
Ptr< T1 > ConstCast(Ptr< T2 > const &p)
bool operator>(const int64x64_t &lhs, const int64x64_t &rhs)
Greater operator.
bool operator==(const EventId &a, const EventId &b)
friend U * PeekPointer(const Ptr< U > &p)
Ptr< T1 > const_pointer_cast(Ptr< T2 > const &p)
Ptr< T > Copy(Ptr< T > object)