Base classes which provide memory management and object aggregation. More...
 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 class declaration and NS_OBJECT_ENSURE_REGISTERED() definition.  | |
| file | object-factory.cc | 
| ns3::ObjectFactory class implementation.  | |
| file | object-factory.h | 
| ns3::ObjectFactory class declaration.  | |
| 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.h | 
| TypeTraits introspection template.  | |
Macros | |
| #define | NS_OBJECT_ENSURE_REGISTERED(type) | 
| Register an Object subclass 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 > | |
| Ptr< T > | ns3::CreateObject (void) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 > | |
| Ptr< T > | ns3::CreateObject (T1 a1) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 , typename T3 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2, T3 a3) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 , typename T3 , typename T4 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2, T3 a3, T4 a4) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
| template<typename T , typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 > | |
| Ptr< T > | ns3::CreateObject (T1 a1, T2 a2, T3 a3, T4 a4, T5 a5, T6 a6, T7 a7) | 
| Create an object by type, with varying number of constructor parameters.  More... | |
Base classes which provide memory management and object aggregation.
| #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 44 of file object-base.h.
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointer | 
 Not a pointer type.  | 
| IsPtr | 
 Ptr type.  | 
Definition at line 102 of file type-traits.h.
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsFunctionPointer | 
 Not a function pointer.  | 
Definition at line 160 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Not a pointer to member.  | 
Definition at line 297 of file type-traits.h.
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 307 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 319 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 333 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 348 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 364 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 381 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 399 of file type-traits.h.
      
  | 
  private | 
| Enumerator | |
|---|---|
| HashChainFlag | 
 Hash chaining flag. To handle the first collision, we reserve the high bit as a chain flag.  | 
Definition at line 335 of file type-id.cc.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 418 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 439 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 461 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 484 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 508 of file type-traits.h.
| anonymous enum | 
Predicates.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member predicate.  | 
| IsPointer | 
 Pointer predicate.  | 
| IsPtr | 
 Ptr predicate.  | 
| IsReference | 
 Reference predicate.  | 
| IsFunctionPointer | 
 Function pointer predicate.  | 
Definition at line 582 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 533 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointerToMember | 
 Pointer to member function.  | 
Definition at line 559 of file type-traits.h.
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointer | 
 Not a pointer type.  | 
| IsPtr | 
 Not a Ptr type.  | 
Definition at line 82 of file type-traits.h.
| anonymous enum | 
Value.
| Enumerator | |
|---|---|
| IsPointer | 
 Pointer type.  | 
| IsPtr | 
 Not a Ptr type.  | 
Definition at line 92 of file type-traits.h.
| Ptr<T> ns3::CreateObject | ( | void | ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
Definition at line 524 of file object.h.
References ns3::CompleteConstruct().
Referenced by ns3::Ipv6L3Protocol::AddInterface(), ns3::Ipv4L3Protocol::AddInterface(), Ipv4L3ProtocolTestCase::DoRun(), Ipv6L3ProtocolTestCase::DoRun(), ns3::Ipv4L3Protocol::SetupLoopback(), and ns3::Ipv6L3Protocol::SetupLoopback().
 Here is the call graph for this function:
 Here is the caller graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1 | ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the constructor argument. | 
| [in] | a1 | The constructor argument | 
Definition at line 536 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
Definition at line 551 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2, | ||
| T3 | a3 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| T3 | [deduced] The type of the third constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
| [in] | a3 | The constructor third argument | 
Definition at line 568 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| T3 | [deduced] The type of the third constructor argument. | 
| T4 | [deduced] The type of the fourth constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
| [in] | a3 | The constructor third argument | 
| [in] | a4 | The constructor fourth argument | 
Definition at line 587 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| T3 | [deduced] The type of the third constructor argument. | 
| T4 | [deduced] The type of the fourth constructor argument. | 
| T5 | [deduced] The type of the fifth constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
| [in] | a3 | The constructor third argument | 
| [in] | a4 | The constructor fourth argument | 
| [in] | a5 | The constructor fifth argument | 
Definition at line 608 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5, | ||
| T6 | a6 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| T3 | [deduced] The type of the third constructor argument. | 
| T4 | [deduced] The type of the fourth constructor argument. | 
| T5 | [deduced] The type of the fifth constructor argument. | 
| T6 | [deduced] The type of the sixth constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
| [in] | a3 | The constructor third argument | 
| [in] | a4 | The constructor fourth argument | 
| [in] | a5 | The constructor fifth argument | 
| [in] | a6 | The constructor sixth argument | 
Definition at line 631 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| Ptr<T> ns3::CreateObject | ( | T1 | a1, | 
| T2 | a2, | ||
| T3 | a3, | ||
| T4 | a4, | ||
| T5 | a5, | ||
| T6 | a6, | ||
| T7 | a7 | ||
| ) | 
Create an object by type, with varying number of constructor parameters.
| T | [explicit] The type of the derived object to construct. | 
| T1 | [deduced] The type of the first constructor argument. | 
| T2 | [deduced] The type of the second constructor argument. | 
| T3 | [deduced] The type of the third constructor argument. | 
| T4 | [deduced] The type of the fourth constructor argument. | 
| T5 | [deduced] The type of the fifth constructor argument. | 
| T6 | [deduced] The type of the sixth constructor argument. | 
| T7 | [deduced] The type of the seventh constructor argument. | 
| [in] | a1 | The constructor first argument | 
| [in] | a2 | The constructor second argument | 
| [in] | a3 | The constructor third argument | 
| [in] | a4 | The constructor fourth argument | 
| [in] | a5 | The constructor fifth argument | 
| [in] | a6 | The constructor sixth argument | 
| [in] | a7 | The constructor seventh argument | 
Definition at line 656 of file object.h.
References ns3::CompleteConstruct().
 Here is the call graph for this function:| 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 206 of file object-factory.h.
References ns3::ObjectFactory::Create(), ns3::ObjectFactory::Set(), and ns3::ObjectFactory::SetTypeId().
 Here is the call graph for this function: