This documentation is not the Latest Release.
A Discrete-Event Network Simulator
API
Object

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.
 

Classes

class  ns3::Object::AggregateIterator
 Iterate over the Objects aggregated to an ns3::Object. More...
 
struct  ns3::Object::Aggregates
 The list of Objects aggregated to this one. More...
 
class  ns3::AttributeConstructionList
 List of Attribute name, value and checker triples used to construct Objects. More...
 
struct  ns3::TypeId::AttributeInformation
 Attribute implementation. More...
 
struct  TypeTraits< T >::Base< U >
 Base type, after removing &, * and const. More...
 
struct  TypeTraits< T >::Base< const U >
 Base type, after removing const. More...
 
struct  TypeTraits< T >::Base< U & >
 Base type, after removing &. More...
 
struct  TypeTraits< T >::Base< U * >
 Base type, after removing *. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U >
 Not a function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>
 Function pointer type. More...
 
struct  TypeTraits< T >::FunctionPtrTraits< U(*)(void)>
 Function pointer type. More...
 
struct  ns3::IidManager::IidInformation
 The information record about a single type id. More...
 
class  ns3::IidManager
 TypeId information manager. More...
 
struct  ns3::AttributeConstructionList::Item
 A single Attribute triple. 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...
 
struct  TypeTraits< T >::PointerTraits< U >
 Not a pointer type. More...
 
struct  TypeTraits< T >::PointerTraits< ns3::Ptr< U > >
 Ptr type. More...
 
struct  TypeTraits< T >::PointerTraits< U * >
 Pointer type. More...
 
struct  TypeTraits< T >::PtrBase< U >
 Base type of a Ptr. More...
 
struct  TypeTraits< T >::PtrBase< ns3::Ptr< U > >
 Base type of a Ptr. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U >
 Not a pointer to member type. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >
 Pointer to const member function. More...
 
struct  TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>
 Pointer to member function. More...
 
struct  TypeTraits< T >::ReferenceTraits< U >
 Not a reference type. More...
 
struct  TypeTraits< T >::ReferenceTraits< U & >
 Reference type. More...
 
struct  ns3::TypeId::TraceSourceInformation
 TraceSource implementation. More...
 
class  ns3::TypeId
 a unique identifier for an interface. More...
 
struct  TypeTraits< T >
 Inspect a type to deduce its features. More...
 
struct  TypeTraits< T >::UnConst< U >
 Not a const type. More...
 
struct  TypeTraits< T >::UnConst< const U >
 Const type. More...
 

Macros

#define NS_OBJECT_ENSURE_REGISTERED(type)
 Register an Object subclass with the TypeId system. More...
 

Enumerations

enum  { TypeTraits< T >::PointerTraits< ns3::Ptr< U > >::IsPointer = 0, TypeTraits< T >::PointerTraits< ns3::Ptr< U > >::IsPtr = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U >::IsFunctionPointer = 0 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(void)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(void)>::nArgs = 0 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>::nArgs = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>::nArgs = 2 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>::nArgs = 3 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::nArgs = 4 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::nArgs = 5 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::nArgs = 6 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U >::IsPointerToMember = 0 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>::nArgs = 0 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >::nArgs = 0 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>::nArgs = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >::nArgs = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>::nArgs = 2 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >::nArgs = 2 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::IidManager::HashChainFlag = 0x80000000 }
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::nArgs = 3 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::nArgs = 3 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::nArgs = 4 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::nArgs = 4 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::nArgs = 5 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  {
  TypeTraits< T >::IsPointerToMember = PtrToMemberTraits<T>::IsPointerToMember, TypeTraits< T >::IsPointer = PointerTraits<T>::IsPointer, TypeTraits< T >::IsPtr = PointerTraits<T>::IsPtr, TypeTraits< T >::IsReference = ReferenceTraits<T>::IsReference,
  TypeTraits< T >::IsFunctionPointer = FunctionPtrTraits<T>::IsFunctionPointer
}
 Predicates. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::nArgs = 5 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::nArgs = 6 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::nArgs = 6 }
 Value. More...
 
enum  { TypeTraits< T >::ReferenceTraits< U >::IsReference = 0 }
 Value. More...
 
enum  { TypeTraits< T >::ReferenceTraits< U & >::IsReference = 1 }
 Value. More...
 
enum  { TypeTraits< T >::PointerTraits< U >::IsPointer = 0, TypeTraits< T >::PointerTraits< U >::IsPtr = 0 }
 Value. More...
 
enum  { TypeTraits< T >::PointerTraits< U * >::IsPointer = 1, TypeTraits< T >::PointerTraits< U * >::IsPtr = 0 }
 Value. More...
 
enum  ns3::TypeId::AttributeFlag { ns3::TypeId::ATTR_GET = 1<<0, ns3::TypeId::ATTR_SET = 1<<1, ns3::TypeId::ATTR_CONSTRUCT = 1<<2, ns3::TypeId::ATTR_SGC = ATTR_GET | ATTR_SET | ATTR_CONSTRUCT }
 Flags describing when a given attribute can be read or written. 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...
 

Detailed Description

Base classes which provide memory management and object aggregation.

Macro Definition Documentation

#define NS_OBJECT_ENSURE_REGISTERED (   type)
Value:
static struct Object ## type ## RegistrationClass \
{ \
Object ## type ## RegistrationClass () { \
ns3::TypeId tid = type::GetTypeId (); \
tid.SetSize (sizeof (type)); \
tid.GetParent (); \
} \
} Object ## type ## RegistrationVariable

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.

Enumeration Type Documentation

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsPointer 

Not a pointer type.

IsPtr 

Ptr type.

Definition at line 102 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Not a function pointer.

Definition at line 160 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 170 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 171 of file type-traits.h.

template<typename T>
template<typename U , typename V1 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 183 of file type-traits.h.

template<typename T>
template<typename U , typename V1 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 184 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 198 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 199 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 215 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 216 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 235 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 236 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 , typename V5 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 257 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 , typename V5 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 258 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 , typename V5 , typename V6 >
anonymous enum

Value.

Enumerator
IsFunctionPointer 

Function pointer.

Definition at line 281 of file type-traits.h.

template<typename T>
template<typename U , typename V1 , typename V2 , typename V3 , typename V4 , typename V5 , typename V6 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 282 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Not a pointer to member.

Definition at line 297 of file type-traits.h.

template<typename T>
template<typename U , typename V >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 307 of file type-traits.h.

template<typename T>
template<typename U , typename V >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 308 of file type-traits.h.

template<typename T>
template<typename U , typename V >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 319 of file type-traits.h.

template<typename T>
template<typename U , typename V >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 320 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 333 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 334 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 348 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 349 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 364 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 365 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 381 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 382 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 399 of file type-traits.h.

anonymous enum
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.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 400 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 418 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 419 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 439 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 440 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 461 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 462 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 484 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 485 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 508 of file type-traits.h.

template<typename T>
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.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 509 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 , typename W6 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 533 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 , typename W6 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 534 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 , typename W6 >
anonymous enum

Value.

Enumerator
IsPointerToMember 

Pointer to member function.

Definition at line 559 of file type-traits.h.

template<typename T>
template<typename U , typename V , typename W1 , typename W2 , typename W3 , typename W4 , typename W5 , typename W6 >
anonymous enum

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 560 of file type-traits.h.

template<typename T>
template<typename U>
anonymous enum

Value.

Enumerator
IsReference 

Not a reference type.

Definition at line 64 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsReference 

Reference type.

Definition at line 73 of file type-traits.h.

template<typename T>
template<typename U>
anonymous enum

Value.

Enumerator
IsPointer 

Not a pointer type.

IsPtr 

Not a Ptr type.

Definition at line 82 of file type-traits.h.

template<typename T>
template<typename U >
anonymous enum

Value.

Enumerator
IsPointer 

Pointer type.

IsPtr 

Not a Ptr type.

Definition at line 92 of file type-traits.h.

Flags describing when a given attribute can be read or written.

Enumerator
ATTR_GET 

The attribute can be read.

ATTR_SET 

The attribute can be written.

ATTR_CONSTRUCT 

The attribute can be written at construction-time.

ATTR_SGC 

The attribute can be read, and written at any time.

Definition at line 62 of file type-id.h.

Function Documentation

template<typename T >
Ptr<T> ns3::CreateObject ( void  )

Create an object by type, with varying number of constructor parameters.

Template Parameters
T[explicit] The type of the derived object to construct.
Returns
The derived object.

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:

template<typename T , typename T1 >
Ptr<T> ns3::CreateObject ( T1  a1)

Create an object by type, with varying number of constructor parameters.

Template Parameters
T[explicit] The type of the derived object to construct.
T1[deduced] The type of the constructor argument.
Parameters
[in]a1The constructor argument
Returns
The derived object.

Definition at line 536 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
Returns
The derived object.

Definition at line 551 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
[in]a3The constructor third argument
Returns
The derived object.

Definition at line 568 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
[in]a3The constructor third argument
[in]a4The constructor fourth argument
Returns
The derived object.

Definition at line 587 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
[in]a3The constructor third argument
[in]a4The constructor fourth argument
[in]a5The constructor fifth argument
Returns
The derived object.

Definition at line 608 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
[in]a3The constructor third argument
[in]a4The constructor fourth argument
[in]a5The constructor fifth argument
[in]a6The constructor sixth argument
Returns
The derived object.

Definition at line 631 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template 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.
Parameters
[in]a1The constructor first argument
[in]a2The constructor second argument
[in]a3The constructor third argument
[in]a4The constructor fourth argument
[in]a5The constructor fifth argument
[in]a6The constructor sixth argument
[in]a7The constructor seventh argument
Returns
The derived object.

Definition at line 656 of file object.h.

References ns3::CompleteConstruct().

+ Here is the call graph for this function:

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.

Template Parameters
T[explicit] The requested Object type.
Parameters
[in]n1Name of attribute
[in]v1Value of attribute
[in]n2Name of attribute
[in]v2Value of attribute
[in]n3Name of attribute
[in]v3Value of attribute
[in]n4Name of attribute
[in]v4Value of attribute
[in]n5Name of attribute
[in]v5Value of attribute
[in]n6Name of attribute
[in]v6Value of attribute
[in]n7Name of attribute
[in]v7Value of attribute
[in]n8Name of attribute
[in]v8Value of attribute
[in]n9Name of attribute
[in]v9Value of attribute
Returns
A pointer to a newly allocated object.

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: