Base classes which provide memory management and object aggregation. More...
 Collaboration diagram for Object:
 Collaboration diagram for Object:| Files | |
| file | attribute-construction-list.cc | 
| ns3::AttributeConstructionList implementation. | |
| file | attribute-construction-list.h | 
| ns3::AttributeConstructionList declaration. | |
| file | object-base.cc | 
| ns3::ObjectBase class implementation. | |
| file | object-base.h | 
| ns3::ObjectBase declaration and NS_OBJECT_ENSURE_REGISTERED() madro definition. | |
| file | object-factory.cc | 
| ns3::ObjectFactory class implementation. | |
| file | object-factory.h | 
| ns3::ObjectFactory class declaration. | |
| file | object-test-suite.cc | 
| Object test suite. | |
| file | object.cc | 
| ns3::Object class implementation. | |
| file | object.h | 
| ns3::Object class declaration, which is the root of the Object hierarchy and Aggregation. | |
| file | type-id.cc | 
| ns3::TypeId and ns3::IidManager implementations. | |
| file | type-id.h | 
| ns3::TypeId declaration; inline and template implementations. | |
| file | type-traits-test-suite.cc | 
| TypeTraits test suite. | |
| file | type-traits.h | 
| ns3::TypeTraits introspection declaration and template implementation. | |
| Classes | |
| class | ns3::AttributeConstructionList | 
| List of Attribute name, value and checker triples used to construct Objects.  More... | |
| class | ns3::IidManager | 
| TypeId information manager.  More... | |
| class | ns3::Object | 
| A base class which provides memory management and object aggregation.  More... | |
| class | ns3::ObjectBase | 
| Anchor the ns-3 type and attribute system.  More... | |
| struct | ns3::ObjectDeleter | 
| Standard Object deleter, used by SimpleRefCount to delete an Object when the reference count drops to zero.  More... | |
| class | ns3::ObjectFactory | 
| Instantiate subclasses of ns3::Object.  More... | |
| class | ns3::TypeId | 
| a unique identifier for an interface.  More... | |
| struct | ns3::TypeTraits< T > | 
| Inspect a type to deduce its features.  More... | |
| Macros | |
| #define | IID "IidManager" | 
| #define | IIDL IID << ": " | 
| #define | NS_OBJECT_ENSURE_REGISTERED(type) | 
| Register an Object subclass with the TypeId system.  More... | |
| #define | NS_OBJECT_TEMPLATE_CLASS_DEFINE(type, param) | 
| Explicitly instantiate a template class and register the resulting instance with the TypeId system.  More... | |
| Functions | |
| template<typename T , typename... Args> | |
| Ptr< T > | ns3::CreateObjectWithAttributes (Args... args) | 
| Allocate an Object on the heap and initialize with a set of attributes.  More... | |
| template<typename T , typename... Args> | |
| Ptr< T > | ns3::CreateObject (Args &&... args) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
Base classes which provide memory management and object aggregation.
| #define IID "IidManager" | 
Definition at line 375 of file type-id.cc.
Referenced by ns3::IidManager::AddAttribute(), ns3::IidManager::AddConstructor(), ns3::IidManager::AddTraceSource(), ns3::IidManager::AllocateUid(), ns3::IidManager::GetAttribute(), ns3::IidManager::GetAttributeN(), ns3::IidManager::GetConstructor(), ns3::IidManager::GetGroupName(), ns3::IidManager::GetHash(), ns3::IidManager::GetName(), ns3::IidManager::GetParent(), ns3::IidManager::GetRegistered(), ns3::IidManager::GetRegisteredN(), ns3::IidManager::GetSize(), ns3::IidManager::GetTraceSource(), ns3::IidManager::GetTraceSourceN(), ns3::IidManager::GetUid(), ns3::IidManager::HasAttribute(), ns3::IidManager::HasConstructor(), ns3::IidManager::HasTraceSource(), ns3::IidManager::HideFromDocumentation(), ns3::IidManager::LookupInformation(), ns3::IidManager::MustHideFromDocumentation(), ns3::IidManager::SetAttributeInitialValue(), ns3::IidManager::SetGroupName(), ns3::IidManager::SetParent(), and ns3::IidManager::SetSize().
| #define IIDL IID << ": " | 
Definition at line 381 of file type-id.cc.
Referenced by ns3::IidManager::AddAttribute(), ns3::IidManager::AddTraceSource(), ns3::IidManager::AllocateUid(), ns3::IidManager::GetAttribute(), ns3::IidManager::GetAttributeN(), ns3::IidManager::GetGroupName(), ns3::IidManager::GetHash(), ns3::IidManager::GetName(), ns3::IidManager::GetParent(), ns3::IidManager::GetSize(), ns3::IidManager::GetTraceSource(), ns3::IidManager::GetTraceSourceN(), ns3::IidManager::GetUid(), ns3::IidManager::HasAttribute(), ns3::IidManager::HasConstructor(), ns3::IidManager::HasTraceSource(), ns3::IidManager::LookupInformation(), and ns3::IidManager::MustHideFromDocumentation().
| #define NS_OBJECT_ENSURE_REGISTERED | ( | type | ) | 
Register an Object subclass with the TypeId system.
This macro should be invoked once for every class which defines a new GetTypeId method.
If the class is in a namespace, then the macro call should also be in the namespace.
Definition at line 45 of file object-base.h.
| #define NS_OBJECT_TEMPLATE_CLASS_DEFINE | ( | type, | |
| param | |||
| ) | 
Explicitly instantiate a template class and register the resulting instance with the TypeId system.
This macro should be invoked once for every required instance of a template class which derives from the Object class and defines a new GetTypeId method.
If the template class is in a namespace, then the macro call should also be in the namespace.
Definition at line 67 of file object-base.h.
| Ptr<T> ns3::CreateObject | ( | Args &&... | args | ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| [in] | args | Arguments to pass to the constructor. | 
Definition at line 576 of file object.h.
References ns3::CompleteConstruct().
Referenced by ns3::Ipv6L3Protocol::AddInterface(), ns3::Ipv4L3Protocol::AddInterface(), TestChildQueueDisc::CheckConfig(), Ipv4L3ProtocolTestCase::DoRun(), Ipv6L3ProtocolTestCase::DoRun(), PointToPointTest::DoRun(), ns3::Ipv4L3Protocol::SetupLoopback(), and ns3::Ipv6L3Protocol::SetupLoopback().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| Ptr< T > ns3::CreateObjectWithAttributes | ( | Args... | args | ) | 
Allocate an Object on the heap and initialize with a set of attributes.
| T | [explicit] The requested Object type. | 
| Args | [deduced] The type of the sequence of name-value pairs. | 
| [in] | args | A sequence of name-value pairs of the attributes to set. | 
The args sequence can be made of any number of pairs, each consisting of a name (of std::string type) followed by a value (of const AttributeValue & type).
Definition at line 231 of file object-factory.h.
References ns3::ObjectFactory::Create(), ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
Referenced by ns3::FifoQueueDisc::CheckConfig(), ns3::PieQueueDisc::CheckConfig(), ns3::CoDelQueueDisc::CheckConfig(), ns3::CobaltQueueDisc::CheckConfig(), and ns3::RedQueueDisc::CheckConfig().
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: