85     void operator delete (
void *);
    89   friend class Ptr<const T>;
   102   template <
typename U>
   115   template <
typename U>
   119   inline void Acquire (
void) 
const;
   143   Ptr (T *ptr, 
bool ref);
   156   template <
typename U>
   208   operator Tester * () 
const;
   227 template <
typename T,
   241 template <
typename T>
   242 std::ostream &operator << (std::ostream &os, const Ptr<T> &p);
   265 template <
typename T1, 
typename T2>
   268 template <
typename T1, 
typename T2>
   271 template <
typename T1, 
typename T2>
   296 template <
typename T1, 
typename T2>
   299 template <
typename T1, 
typename T2>
   302 template <
typename T1, 
typename T2>
   317 template <
typename T>
   318 bool operator < (const Ptr<T> &lhs, 
const Ptr<T> &rhs);
   319 template <
typename T>
   320 bool operator <= (const Ptr<T> &lhs, 
const Ptr<T> &rhs);
   321 template <
typename T>
   323 template <
typename T>
   336 template <
typename T1, 
typename T2>
   340 template <
typename T>
   353 template <
typename T>
   369 template <
typename T>
   370 struct EventMemberImplObjTraits;
   380 template <
typename T>
   404 template <
typename T, 
typename... Ts>
   407   return Ptr<T> (
new T (args...), 
false);
   410 template <
typename U>
   416 template <
typename U>
   423 template <
typename T>
   424 std::ostream &operator << (std::ostream &os, const Ptr<T> &p)
   430 template <
typename T1, 
typename T2>
   437 template <
typename T1, 
typename T2>
   444 template <
typename T1, 
typename T2>
   451 template <
typename T1, 
typename T2>
   458 template <
typename T1, 
typename T2>
   465 template <
typename T1, 
typename T2>
   472 template <
typename T>
   473 bool operator < (const Ptr<T> &lhs, 
const Ptr<T> &rhs)
   475   return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
   478 template <
typename T>
   479 bool operator <= (const Ptr<T> &lhs, 
const Ptr<T> &rhs)
   481   return PeekPointer<T> (lhs) <= PeekPointer<T> (rhs);
   484 template <
typename T>
   487   return PeekPointer<T> (lhs) > PeekPointer<T> (rhs);
   490 template <
typename T>
   493   return PeekPointer<T> (lhs) >= PeekPointer<T> (rhs);
   505 template <
typename T1, 
typename T2>
   512 template <
typename T1, 
typename T2>
   519 template <
typename T1, 
typename T2>
   535 template <
typename T>
   542 template <
typename T>
   543 Ptr<T> 
Copy (Ptr<const T> 
object)
   545   Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)), 
false);
   554 template <
typename T>
   564 template <
typename T>
   569 template <
typename T>
   576 template <
typename T>
   586 template <
typename T>
   592 template <
typename T>
   593 template <
typename U>
   600 template <
typename T>
   609 template <
typename T>
   626 template <
typename T>
   630   NS_ASSERT_MSG (m_ptr, 
"Attempted to dereference zero pointer");
   634 template <
typename T>
   638   NS_ASSERT_MSG (m_ptr, 
"Attempted to dereference zero pointer");
   642 template <
typename T>
   646   NS_ASSERT_MSG (m_ptr, 
"Attempted to dereference zero pointer");
   650 template <
typename T>
   654   NS_ASSERT_MSG (m_ptr, 
"Attempted to dereference zero pointer");
   658 template <
typename T>
   665 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. 
 
static T & GetReference(Ptr< T > const p)
 
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator. 
 
T * operator->() const
An rvalue member access. 
 
int64x64_t operator*(const int64x64_t &lhs, const int64x64_t &rhs)
Multiplication operator. 
 
U * GetPointer(const Ptr< U > &p)
 
Ptr< T > & operator=(Ptr const &o)
Assignment operator by referencing the same underlying object. 
 
NS_ASSERT() and NS_ASSERT_MSG() macro definitions. 
 
Trait class to convert a pointer into a reference, used by MemPtrCallBackImpl. 
 
T & operator*() const
A const dereference. 
 
Ptr< T1 > StaticCast(Ptr< T2 > const &p)
Cast a Ptr. 
 
Ptr< T1 > DynamicCast(Ptr< T2 > const &p)
Cast a Ptr. 
 
Ptr< T > Create(Ts... args)
Create class instances by constructors with varying numbers of arguments and return them by 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. 
 
void Acquire(void) const
Mark this as a a reference by incrementing the reference count. 
 
static T & GetReference(Ptr< T > p)
 
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
 
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. 
 
Ptr< T1 > const_pointer_cast(Ptr< T2 > const &p)
Return a copy of p with its stored pointer const casted from T2 to T1. 
 
Ptr< T > Copy(Ptr< T > object)
Return a deep copy of a Ptr. 
 
int64x64_t operator!(const int64x64_t &lhs)
Logical not operator.