84     void operator delete (
void *);
 
   88   friend class Ptr<const T>;
 
  100   template <
typename U>
 
  112   template <
typename U>
 
  116   inline void Acquire (
void) 
const;
 
  140   Ptr (T *ptr, 
bool ref);
 
  153   template <
typename U>
 
  205   operator Tester * () 
const;
 
  222 template <
typename T>
 
  231 template <
typename T,
 
  243 template <
typename T,
 
  244           typename T1, 
typename T2>
 
  257 template <
typename T,
 
  258           typename T1, 
typename T2,
 
  274 template <
typename T,
 
  275           typename T1, 
typename T2,
 
  276           typename T3, 
typename T4>
 
  293 template <
typename T,
 
  294           typename T1, 
typename T2,
 
  295           typename T3, 
typename T4,
 
  315 template <
typename T,
 
  316           typename T1, 
typename T2,
 
  317           typename T3, 
typename T4,
 
  318           typename T5, 
typename T6>
 
  319 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6);
 
  339 template <
typename T,
 
  340           typename T1, 
typename T2,
 
  341           typename T3, 
typename T4,
 
  342           typename T5, 
typename T6,
 
  344 Ptr<T> Create (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7);
 
  354 template <
typename T>
 
  355 std::ostream &operator << (std::ostream &os, const Ptr<T> &p);
 
  378 template <
typename T1, 
typename T2>
 
  381 template <
typename T1, 
typename T2>
 
  384 template <
typename T1, 
typename T2>
 
  409 template <
typename T1, 
typename T2>
 
  412 template <
typename T1, 
typename T2>
 
  415 template <
typename T1, 
typename T2>
 
  429 template <
typename T>
 
  430 bool operator < (const Ptr<T> &lhs, 
const Ptr<T> &rhs);
 
  431 template <
typename T>
 
  432 bool operator <= (const Ptr<T> &lhs, 
const Ptr<T> &rhs);
 
  433 template <
typename T>
 
  435 template <
typename T>
 
  448 template <
typename T1, 
typename T2>
 
  452 template <
typename T>
 
  465 template <
typename T>
 
  479 template <
typename T>
 
  480 struct EventMemberImplObjTraits;
 
  490 template <
typename T>
 
  513 template <
typename T>
 
  516   return Ptr<T> (
new T (), 
false);
 
  519 template <
typename T, 
typename T1>
 
  522   return Ptr<T> (
new T (a1), 
false);
 
  525 template <
typename T, 
typename T1, 
typename T2>
 
  528   return Ptr<T> (
new T (a1, a2), 
false);
 
  531 template <
typename T, 
typename T1, 
typename T2, 
typename T3>
 
  534   return Ptr<T> (
new T (a1, a2, a3), 
false);
 
  537 template <
typename T, 
typename T1, 
typename T2, 
typename T3, 
typename T4>
 
  540   return Ptr<T> (
new T (a1, a2, a3, a4), 
false);
 
  543 template <
typename T, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5>
 
  546   return Ptr<T> (
new T (a1, a2, a3, a4, a5), 
false);
 
  549 template <
typename T, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6>
 
  552   return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6), 
false);
 
  555 template <
typename T, 
typename T1, 
typename T2, 
typename T3, 
typename T4, 
typename T5, 
typename T6, 
typename T7>
 
  558   return Ptr<T> (
new T (a1, a2, a3, a4, a5, a6, a7), 
false);
 
  561 template <
typename U>
 
  567 template <
typename U>
 
  574 template <
typename T>
 
  575 std::ostream &operator << (std::ostream &os, const Ptr<T> &p)
 
  581 template <
typename T1, 
typename T2>
 
  588 template <
typename T1, 
typename T2>
 
  595 template <
typename T1, 
typename T2>
 
  602 template <
typename T1, 
typename T2>
 
  609 template <
typename T1, 
typename T2>
 
  616 template <
typename T1, 
typename T2>
 
  623 template <
typename T>
 
  624 bool operator < (const Ptr<T> &lhs, 
const Ptr<T> &rhs)
 
  626   return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
 
  629 template <
typename T>
 
  630 bool operator <= (const Ptr<T> &lhs, 
const Ptr<T> &rhs)
 
  632   return PeekPointer<T> (lhs) <= PeekPointer<T> (rhs);
 
  635 template <
typename T>
 
  638   return PeekPointer<T> (lhs) > PeekPointer<T> (rhs);
 
  641 template <
typename T>
 
  644   return PeekPointer<T> (lhs) >= PeekPointer<T> (rhs);
 
  656 template <
typename T1, 
typename T2>
 
  663 template <
typename T1, 
typename T2>
 
  670 template <
typename T1, 
typename T2>
 
  685 template <
typename T>
 
  692 template <
typename T>
 
  693 Ptr<T> 
Copy (Ptr<const T> 
object)
 
  695   Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)), 
false);
 
  704 template <
typename T>
 
  714 template <
typename T>
 
  720 template <
typename T>
 
  727 template <
typename T>
 
  737 template <
typename T>
 
  743 template <
typename T>
 
  744 template <
typename U>
 
  751 template <
typename T>
 
  760 template <
typename T>
 
  777 template <
typename T>
 
  784 template <
typename T>
 
  791 template <
typename T>
 
  798 template <
typename T>
 
  805 template <
typename T>
 
  812 template <
typename T>
 
Smart pointer class similar to boost::intrusive_ptr. 
Ptr()
Create an empty smart pointer. 
bool operator!()
Test for NULL pointer. 
U * PeekPointer(const Ptr< U > &p)
Helper for the MakeEvent functions which take a class method. 
T * operator->() const 
An rvalue member access. 
static T & GetReference(Ptr< T > const p)
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator. 
U * GetPointer(const Ptr< U > &p)
const T & operator*() const 
A const dereference. 
Ptr< T > & operator=(Ptr const &o)
Assignment operator by referencing the same underlying object. 
Definition of assertion macros NS_ASSERT() and NS_ASSERT_MSG(). 
Trait class to convert a pointer into a reference, used by MemPtrCallBackImpl. 
Ptr< T1 > StaticCast(Ptr< T2 > const &p)
Cast a Ptr. 
Ptr< T1 > DynamicCast(Ptr< T2 > const &p)
Cast a Ptr. 
Helper to test for null pointer. 
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. 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
Ptr< T > Create(void)
Create class instances by constructors with varying numbers of arguments and return them by Ptr...
static T & GetReference(Ptr< T > p)
friend U * GetPointer(const Ptr< U > &p)
Get a permanent pointer to the underlying object. 
Ptr< T1 > ConstCast(Ptr< T2 > const &p)
Cast a Ptr. 
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)
Get a temporary pointer to the underlying object. 
void Acquire(void) const 
Mark this as a a reference by incrementing the reference count. 
Ptr< T1 > const_pointer_cast(Ptr< T2 > const &p)
Return a copy of p with its stored pointer const casted from T2 to T1. 
void test(void)
Example use of ns3::SystemThread. 
Ptr< T > Copy(Ptr< T > object)
Return a deep copy of a Ptr.