65 void operator delete (
void *);
67 friend class Ptr<const T>;
73 inline void Acquire (
void)
const;
98 Ptr (T *ptr,
bool ref);
101 template <
typename U>
114 operator Tester * ()
const;
117 template <
typename T>
120 template <
typename T,
typename T1>
123 template <
typename T,
typename T1,
typename T2>
126 template <
typename T,
typename T1,
typename T2,
typename T3>
129 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4>
132 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
135 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
136 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
138 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
139 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7);
150 template <
typename T>
162 template <
typename T>
165 template <
typename T>
166 std::ostream &operator << (std::ostream &, const Ptr<T> &p);
170 template <
typename T1,
typename T2>
174 template <
typename T1,
typename T2>
178 template <
typename T1,
typename T2>
182 template <
typename T1,
typename T2>
186 template <
typename T1,
typename T2>
190 template <
typename T1,
typename T2>
193 template <
typename T1,
typename T2>
196 template <
typename T>
199 template <
typename T>
208 template <
typename T>
209 struct EventMemberImplObjTraits;
211 template <
typename T>
230 template <
typename T>
233 return Ptr<T> (
new T (),
false);
236 template <
typename T,
typename T1>
239 return Ptr<T> (
new T (a1),
false);
242 template <
typename T,
typename T1,
typename T2>
245 return Ptr<T> (
new T (a1, a2),
false);
248 template <
typename T,
typename T1,
typename T2,
typename T3>
251 return Ptr<T> (
new T (a1, a2, a3),
false);
254 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4>
257 return Ptr<T> (
new T (a1, a2, a3, a4),
false);
260 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
263 return Ptr<T> (
new T (a1, a2, a3, a4, a5),
false);
266 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
269 return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6),
false);
272 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
275 return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6, a7),
false);
278 template <
typename T>
284 template <
typename T>
291 template <
typename T>
292 std::ostream &operator << (std::ostream &os, const Ptr<T> &p)
298 template <
typename T1,
typename T2>
305 template <
typename T1,
typename T2>
312 template <
typename T1,
typename T2>
319 template <
typename T1,
typename T2>
326 template <
typename T1,
typename T2>
333 template <
typename T1,
typename T2>
340 template <
typename T>
341 bool operator < (const Ptr<T> &lhs,
const Ptr<T> &rhs)
343 return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
346 template <
typename T>
347 bool operator <= (const Ptr<T> &lhs,
const Ptr<T> &rhs)
349 return PeekPointer<T> (lhs) <= PeekPointer<T> (rhs);
352 template <
typename T>
355 return PeekPointer<T> (lhs) > PeekPointer<T> (rhs);
358 template <
typename T>
361 return PeekPointer<T> (lhs) >= PeekPointer<T> (rhs);
364 template <
typename T1,
typename T2>
371 template <
typename T1,
typename T2>
378 template <
typename T1,
typename T2>
386 template <
typename T>
393 template <
typename T>
394 Ptr<T>
Copy (Ptr<const T>
object)
396 Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)),
false);
404 template <
typename T>
414 template <
typename T>
420 template <
typename T>
427 template <
typename T>
437 template <
typename T>
443 template <
typename T>
444 template <
typename U>
451 template <
typename T>
460 template <
typename T>
477 template <
typename T>
484 template <
typename T>
491 template <
typename T>
498 template <
typename T>
505 template <
typename T>
512 template <
typename T>
smart pointer class similar to boost::intrusive_ptr
Ptr()
Create an empty smart pointer.
bool operator>(const Time &lhs, const Time &rhs)
T * GetPointer(const Ptr< T > &p)
static T & GetReference(Ptr< T > const p)
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.
bool operator>=(const Time &lhs, const Time &rhs)
static T & GetReference(Ptr< T > p)
friend U * GetPointer(const Ptr< U > &p)
Ptr< T1 > ConstCast(Ptr< T2 > const &p)
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)