37 class AttributeAccessor;
39 class TraceSourceAccessor;
113 template <
typename T>
119 template <
typename T>
222 template <
typename T>
224 template <
typename T>
226 template <
typename T>
258 bool Check (
void)
const;
340 template <
typename T>
342 template <
typename T>
359 template <
typename T>
379 template <
typename T>
395 template <
typename T>
399 NS_ASSERT (p->GetInstanceTypeId () ==
object->GetInstanceTypeId ());
403 template <
typename T>
406 Ptr<T> p = Ptr<T> (
new T (*
PeekPointer (
object)),
false);
407 NS_ASSERT (p->GetInstanceTypeId () ==
object->GetInstanceTypeId ());
411 template <
typename T>
414 p->SetTypeId (T::GetTypeId ());
419 template <
typename T>
425 template <
typename T,
typename T1>
431 template <
typename T,
typename T1,
typename T2>
437 template <
typename T,
typename T1,
typename T2,
typename T3>
443 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4>
449 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5>
455 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6>
461 template <
typename T,
typename T1,
typename T2,
typename T3,
typename T4,
typename T5,
typename T6,
typename T7>
bool CheckLoose(void) const
smart pointer class similar to boost::intrusive_ptr
virtual TypeId GetInstanceTypeId(void) const
void DoDelete(void)
Attempt to delete this object.
bool m_disposed
Set to true when the DoDispose method of the object has run, false otherwise.
uint32_t m_getObjectCount
Indicates the number of times the object was accessed with a call to GetObject.
#define NS_ASSERT(condition)
struct Aggregates * m_aggregates
a pointer to an array of 'aggregates'.
virtual void DoDispose(void)
This method is called by Object::Dispose or by the object's destructor, whichever comes first...
friend Ptr< T > CompleteConstruct(T *object)
bool m_initialized
Set to true once the DoInitialize method has run, false otherwise.
Ptr< T > CreateObject(void)
Ptr< const Object > Next(void)
void SetTypeId(TypeId tid)
Ptr< const Object > m_object
Parent Object.
T * PeekPointer(const Ptr< T > &p)
friend Ptr< T > CopyObject(Ptr< T > object)
void AggregateObject(Ptr< Object > other)
virtual void NotifyNewAggregate(void)
This method is invoked whenever two sets of objects are aggregated together.
TypeId m_tid
Identifies the type of this object instance.
Ptr< T > CompleteConstruct(T *p)
static void Delete(Object *object)
AggregateIterator GetAggregateIterator(void) const
instantiate subclasses of ns3::Object.
Ptr< T > CopyObject(Ptr< const T > object)
static TypeId GetTypeId(void)
Register this type.
uint32_t m_current
Current position in parent's aggegrates.
void Construct(const AttributeConstructionList &attributes)
void Initialize(void)
This method calls the virtual DoInitialize method on all the objects aggregated to this object...
Ptr< Object > DoGetObject(TypeId tid) const
Find an object of TypeId tid in the aggregates of this Object.
a base class which provides memory management and object aggregation
Ptr< T > GetObject(void) const
A template-based reference counting class.
a unique identifier for an interface.
void UpdateSortedArray(struct Aggregates *aggregates, uint32_t i) const
Keep the list of aggregates in most-recently-used order.
void Dispose(void)
Run the DoDispose methods of this object and all the objects aggregated to it.
Iterate over the objects aggregated to an ns3::Object.
virtual void DoInitialize(void)
This method is called only once by Object::Initialize.
This data structure uses a classic C-style trick to hold an array of variable size without performing...