60   return m_current < m_object->m_aggregates->n;
 
  111   for (uint32_t i = 0; i < n; i++)
 
  133     m_initialized (false),
 
  155   for (uint32_t i = 0; i < n; i++)
 
  159       while (cur != tid && cur != objectTid)
 
  176           return const_cast<Object *
> (current);
 
  195   for (uint32_t i = 0; i < n; i++)
 
  220   for (uint32_t i = 0; i < n; i++)
 
  240       aggregates->
buffer[j] = tmp;
 
  256                       "Multiple aggregation of objects of type " << 
 
  265   aggregates->
n = total;
 
  268   std::memcpy (&aggregates->
buffer[0], 
 
  285   uint32_t n = aggregates->
n;
 
  286   for (uint32_t i = 0; i < n; i++)
 
  297   for (uint32_t i = 0; i < a->
n; i++)
 
  302   for (uint32_t i = 0; i < b->
n; i++)
 
  369   uint32_t refcount = 0;
 
  371   for (uint32_t i = 0; i < n; i++)
 
  377   return (refcount > 0);
 
  398   for (uint32_t i = 0; i < n; i++)
 
  409   for (uint32_t i = 0; i < n; i++)
 
bool CheckLoose(void) const 
Check if any aggregated Objects have non-zero reference counts. 
Smart pointer class similar to boost::intrusive_ptr. 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
virtual ~Object()
Destructor. 
virtual TypeId GetInstanceTypeId(void) const 
Implement the GetInstanceTypeId method defined in ObjectBase. 
bool Check(void) const 
Verify that this Object is still live, by checking it's reference count. 
void DoDelete(void)
Attempt to delete this Object. 
#define NS_OBJECT_ENSURE_REGISTERED(type)
Register an Object subclass with the TypeId system. 
String attribute value declarations. 
bool m_disposed
Set to true when the DoDispose() method of the Object has run, false otherwise. 
ns3::ObjectFactory class declaration. 
uint32_t m_getObjectCount
The number of times the Object was accessed with a call to GetObject(). 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
U * PeekPointer(const Ptr< U > &p)
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
TypeId GetParent(void) const 
struct Aggregates * m_aggregates
A pointer to an array of 'aggregates'. 
virtual void DoDispose(void)
Destructor implementation. 
#define NS_FATAL_ERROR(msg)
Fatal error handling. 
Anchor the ns-3 type and attribute system. 
bool m_initialized
Set to true once the DoInitialize() method has run, false otherwise. 
Object * buffer[1]
The array of Objects. 
uint32_t GetReferenceCount(void) const
Get the reference count of the object. 
Ptr< const Object > Next(void)
Get the next Aggregated Object. 
void SetTypeId(TypeId tid)
Set the TypeId of this Object. 
AggregateIterator()
Default constructor, which has no Object. 
ns3::AttributeValue, ns3::AttributeAccessor and ns3::AttributeChecker declarations. 
List of Attribute name, value and checker triples used to construct Objects. 
void AggregateObject(Ptr< Object > other)
Aggregate two Objects together. 
virtual void NotifyNewAggregate(void)
Notify all Objects aggregated to this one of a new Object being aggregated. 
uint32_t n
The number of entries in buffer. 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
void ConstructSelf(const AttributeConstructionList &attributes)
Complete construction of ObjectBase; invoked by derived classes. 
TypeId m_tid
Identifies the type of this Object instance. 
std::string GetName(void) const 
friend class AggregateIterator
ns3::Object class declaration, which is the root of the Object hierarchy and Aggregation. 
AggregateIterator GetAggregateIterator(void) const 
Get an iterator to the Objects aggregated to this one. 
bool HasNext(void) const 
Check if there are more Aggregates to iterate over. 
static TypeId GetTypeId(void)
Register this type. 
void Construct(const AttributeConstructionList &attributes)
Initialize all member variables registered as Attributes of this TypeId. 
void Initialize(void)
Invoke DoInitialize on all Objects aggregated to this one. 
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. 
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. 
TypeId SetParent(TypeId tid)
void Dispose(void)
Dispose of this Object. 
Iterate over the Objects aggregated to an ns3::Object. 
virtual void DoInitialize(void)
Initialize() implementation. 
The list of Objects aggregated to this one.