85 void operator delete (
void *);
89 friend class Ptr<const T>;
102 template <
typename U>
115 template <
typename U>
156 template <
typename U>
208 operator Tester * ()
const;
227 template <
typename T,
241 template <
typename T>
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>
319 template <
typename T>
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>
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>
475 return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
478 template <
typename T>
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>
NS_ASSERT() and NS_ASSERT_MSG() macro definitions.
Helper to test for null pointer.
Smart pointer class similar to boost::intrusive_ptr.
Ptr(T *ptr)
Create a smart pointer which points to the object pointed to by the input raw pointer ptr.
friend U * GetPointer(const Ptr< U > &p)
Get a permanent pointer to the underlying object.
Ptr()
Create an empty smart pointer.
bool operator!()
Test for NULL pointer.
friend U * PeekPointer(const Ptr< U > &p)
Get a temporary pointer to the underlying object.
T & operator*() const
A const dereference.
Ptr(Ptr const &o)
Copy by referencing the same underlying object.
Ptr(T *ptr, bool ref)
Create a smart pointer which points to the object pointed to by the input raw pointer ptr.
void Acquire(void) const
Mark this as a a reference by incrementing the reference count.
Ptr< T > & operator=(Ptr const &o)
Assignment operator by referencing the same underlying object.
Ptr(Ptr< U > const &o)
Copy, removing const qualifier.
T * operator->() const
An rvalue member access.
#define NS_ASSERT_MSG(condition, message)
At runtime, in debugging builds, if this condition is not true, the program prints the message to out...
bool operator>(const int64x64_t &lhs, const int64x64_t &rhs)
Greater operator.
bool operator>=(const int64x64_t &lhs, const int64x64_t &rhs)
Greater or equal operator.
bool operator<=(const int64x64_t &lhs, const int64x64_t &rhs)
Less or equal operator.
Ptr< T > Create(Ts... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< T1 > DynamicCast(Ptr< T2 > const &p)
Cast a Ptr.
bool operator==(const EventId &a, const EventId &b)
Ptr< T1 > StaticCast(Ptr< T2 > const &p)
Cast a Ptr.
Ptr< T1 > ConstCast(Ptr< T2 > const &p)
Cast a Ptr.
bool operator<(const EventId &a, const EventId &b)
Ptr< T > Copy(Ptr< T > object)
Return a deep copy of a Ptr.
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.
U * GetPointer(const Ptr< U > &p)
std::ostream & operator<<(std::ostream &os, const Angles &a)
Ptr< T1 > const_pointer_cast(Ptr< T2 > const &p)
Return a copy of p with its stored pointer const casted from T2 to T1.
U * PeekPointer(const Ptr< U > &p)
static T & GetReference(Ptr< T > const p)
Trait class to convert a pointer into a reference, used by MemPtrCallBackImpl.
static T & GetReference(Ptr< T > p)
Helper for the MakeEvent functions which take a class method.