Base classes which provide memory management and object aggregation. More...
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 > | |
Ptr< T > | ns3::CreateObjectWithAttributes (std::string n1="", const AttributeValue &v1=EmptyAttributeValue(), std::string n2="", const AttributeValue &v2=EmptyAttributeValue(), std::string n3="", const AttributeValue &v3=EmptyAttributeValue(), std::string n4="", const AttributeValue &v4=EmptyAttributeValue(), std::string n5="", const AttributeValue &v5=EmptyAttributeValue(), std::string n6="", const AttributeValue &v6=EmptyAttributeValue(), std::string n7="", const AttributeValue &v7=EmptyAttributeValue(), std::string n8="", const AttributeValue &v8=EmptyAttributeValue(), std::string n9="", const AttributeValue &v9=EmptyAttributeValue()) |
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 563 of file object.h.
References ns3::CompleteConstruct().
Referenced by ns3::Ipv6L3Protocol::AddInterface(), ns3::Ipv4L3Protocol::AddInterface(), TestChildQueueDisc::CheckConfig(), Ipv4L3ProtocolTestCase::DoRun(), PointToPointTest::DoRun(), Ipv6L3ProtocolTestCase::DoRun(), ns3::Ipv4L3Protocol::SetupLoopback(), and ns3::Ipv6L3Protocol::SetupLoopback().
Ptr< T > ns3::CreateObjectWithAttributes | ( | std::string | n1 = "" , |
const AttributeValue & | v1 = EmptyAttributeValue () , |
||
std::string | n2 = "" , |
||
const AttributeValue & | v2 = EmptyAttributeValue () , |
||
std::string | n3 = "" , |
||
const AttributeValue & | v3 = EmptyAttributeValue () , |
||
std::string | n4 = "" , |
||
const AttributeValue & | v4 = EmptyAttributeValue () , |
||
std::string | n5 = "" , |
||
const AttributeValue & | v5 = EmptyAttributeValue () , |
||
std::string | n6 = "" , |
||
const AttributeValue & | v6 = EmptyAttributeValue () , |
||
std::string | n7 = "" , |
||
const AttributeValue & | v7 = EmptyAttributeValue () , |
||
std::string | n8 = "" , |
||
const AttributeValue & | v8 = EmptyAttributeValue () , |
||
std::string | n9 = "" , |
||
const AttributeValue & | v9 = EmptyAttributeValue () |
||
) |
Allocate an Object on the heap and initialize with a set of attributes.
T | [explicit] The requested Object type. |
[in] | n1 | Name of attribute |
[in] | v1 | Value of attribute |
[in] | n2 | Name of attribute |
[in] | v2 | Value of attribute |
[in] | n3 | Name of attribute |
[in] | v3 | Value of attribute |
[in] | n4 | Name of attribute |
[in] | v4 | Value of attribute |
[in] | n5 | Name of attribute |
[in] | v5 | Value of attribute |
[in] | n6 | Name of attribute |
[in] | v6 | Value of attribute |
[in] | n7 | Name of attribute |
[in] | v7 | Value of attribute |
[in] | n8 | Name of attribute |
[in] | v8 | Value of attribute |
[in] | n9 | Name of attribute |
[in] | v9 | Value of attribute |
Definition at line 212 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().