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;
265template <
typename T1,
typename T2>
268template <
typename T1,
typename T2>
271template <
typename T1,
typename T2>
296template <
typename T1,
typename T2>
299template <
typename T1,
typename T2>
302template <
typename T1,
typename T2>
340template <
typename T1,
typename T2>
374struct EventMemberImplObjTraits;
408template <
typename T,
typename... Ts>
411 return Ptr<T> (
new T (std::forward<Ts> (args)...),
false);
434template <
typename T1,
typename T2>
441template <
typename T1,
typename T2>
448template <
typename T1,
typename T2>
455template <
typename T1,
typename T2>
462template <
typename T1,
typename T2>
469template <
typename T1,
typename T2>
479 return PeekPointer<T> (lhs) < PeekPointer<T> (rhs);
486 return PeekPointer<T> (lhs) < PeekPointer<const T> (rhs);
493 return PeekPointer<const T> (lhs) < PeekPointer<T> (rhs);
500 return PeekPointer<T> (lhs) <= PeekPointer<T> (rhs);
506 return PeekPointer<T> (lhs) > PeekPointer<T> (rhs);
512 return PeekPointer<T> (lhs) >= PeekPointer<T> (rhs);
524template <
typename T1,
typename T2>
531template <
typename T1,
typename T2>
538template <
typename T1,
typename T2>
562Ptr<T>
Copy (Ptr<const T>
object)
564 Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)),
false);
649 NS_ASSERT_MSG (m_ptr,
"Attempted to dereference zero pointer");
657 NS_ASSERT_MSG (m_ptr,
"Attempted to dereference zero pointer");
665 NS_ASSERT_MSG (m_ptr,
"Attempted to dereference zero pointer");
673 NS_ASSERT_MSG (m_ptr,
"Attempted to dereference zero pointer");
718std::hash<ns3::Ptr<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.
Ptr()
Create an empty smart pointer.
friend U * PeekPointer(const Ptr< U > &p)
Get a temporary pointer to the underlying object.
bool operator!()
Test for NULL pointer.
T & operator*() const
A const dereference.
Ptr(Ptr const &o)
Copy by referencing the same underlying object.
friend U * GetPointer(const Ptr< U > &p)
Get a permanent pointer to the 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 or equal operator.
bool operator<=(const int64x64_t &lhs, const int64x64_t &rhs)
Less or equal operator.
bool operator>(const Length &left, const Length &right)
Check if left has a value greater than right.
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.
U * PeekPointer(const Ptr< U > &p)
Ptr< T1 > StaticCast(Ptr< T2 > const &p)
Cast a Ptr.
bool operator==(const EventId &a, const EventId &b)
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.
bool operator<(const EventId &a, const EventId &b)
Ptr< T1 > ConstCast(Ptr< T2 > const &p)
Cast a Ptr.
Ptr< T1 > DynamicCast(Ptr< T2 > const &p)
Cast a Ptr.
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)
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.