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 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::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  ns3::TypeTraits< T >::Base< U >
 Base type, after removing &, * and const. More...
 
struct  ns3::TypeTraits< T >::Base< const U >
 Base type, after removing const. More...
 
struct  ns3::TypeTraits< T >::Base< U & >
 Base type, after removing &. More...
 
struct  ns3::TypeTraits< T >::Base< U * >
 Base type, after removing *. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U >
 Not a function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>
 Function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>
 Function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>
 Function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>
 Function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>
 Function pointer type. More...
 
struct  ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>
 Function pointer type. More...
 
struct  ns3::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  ns3::TypeTraits< T >::PointerTraits< U >
 Not a pointer type. More...
 
struct  ns3::TypeTraits< T >::PointerTraits< ns3::Ptr< U > >
 Ptr type. More...
 
struct  ns3::TypeTraits< T >::PointerTraits< U * >
 Pointer type. More...
 
struct  ns3::TypeTraits< T >::PtrBase< U >
 Base type of a Ptr. More...
 
struct  ns3::TypeTraits< T >::PtrBase< ns3::Ptr< U > >
 Base type of a Ptr. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U >
 Not a pointer to member type. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >
 Pointer to const member function. More...
 
struct  ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>
 Pointer to member function. More...
 
struct  ns3::TypeTraits< T >::ReferenceTraits< U >
 Not a reference type. More...
 
struct  ns3::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  ns3::TypeTraits< T >
 Inspect a type to deduce its features. More...
 
struct  ns3::TypeTraits< T >::UnConst< U >
 Not a const type. More...
 
struct  ns3::TypeTraits< T >::UnConst< const U >
 Const type. 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...
 

Enumerations

enum  { ns3::TypeTraits< T >::PointerTraits< U * >::IsPointer = 1, ns3::TypeTraits< T >::PointerTraits< U * >::IsPtr = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PointerTraits< ns3::Ptr< U > >::IsPointer = 0, ns3::TypeTraits< T >::PointerTraits< ns3::Ptr< U > >::IsPtr = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U >::IsFunctionPointer = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(void)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(void)>::nArgs = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1)>::nArgs = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2)>::nArgs = 2 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3)>::nArgs = 3 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::nArgs = 4 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::nArgs = 5 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::IsFunctionPointer = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::nArgs = 6 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U >::IsPointerToMember = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void)>::nArgs = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(void) const >::nArgs = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1)>::nArgs = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1) const >::nArgs = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2)>::nArgs = 2 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2) const >::nArgs = 2 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::nArgs = 3 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::nArgs = 3 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::nArgs = 4 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::nArgs = 4 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::nArgs = 5 }
 Value. More...
 
enum  { ns3::IidManager::HashChainFlag = 0x80000000 }
 IidManager constants. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::nArgs = 5 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::nArgs = 6 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::IsPointerToMember = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::nArgs = 6 }
 Value. More...
 
enum  {
  ns3::TypeTraits< T >::IsPointerToMember = PtrToMemberTraits<T>::IsPointerToMember, ns3::TypeTraits< T >::IsPointer = PointerTraits<T>::IsPointer, ns3::TypeTraits< T >::IsPtr = PointerTraits<T>::IsPtr, ns3::TypeTraits< T >::IsReference = ReferenceTraits<T>::IsReference,
  ns3::TypeTraits< T >::IsFunctionPointer = FunctionPtrTraits<T>::IsFunctionPointer
}
 Predicates. More...
 
enum  { ns3::TypeTraits< T >::ReferenceTraits< U >::IsReference = 0 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::ReferenceTraits< U & >::IsReference = 1 }
 Value. More...
 
enum  { ns3::TypeTraits< T >::PointerTraits< U >::IsPointer = 0, ns3::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...
 
enum  ns3::TypeId::SupportLevel { ns3::TypeId::SUPPORTED, ns3::TypeId::DEPRECATED, ns3::TypeId::OBSOLETE }
 The level of support or deprecation for attributes or trace sources. 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 45 of file object-base.h.

#define NS_OBJECT_TEMPLATE_CLASS_DEFINE (   type,
  param 
)
Value:
template class type<param>; \
template <> std::string DoGetTypeParamName<type<param> > () \
{ \
return #param; \
} \
static struct Object ## type ## param ## RegistrationClass \
{ \
Object ## type ## param ## RegistrationClass () { \
ns3::TypeId tid = type<param>::GetTypeId (); \
tid.SetSize (sizeof (type<param>)); \
tid.GetParent (); \
} \
} Object ## type ## param ## RegistrationVariable

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.

Enumeration Type Documentation

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

Value.

Enumerator
IsPointer 

Pointer type.

IsPtr 

Not a Ptr type.

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

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

Value.

Enumerator
IsPointer 

Not a pointer type.

IsPtr 

Ptr type.

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

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

Value.

Enumerator
IsFunctionPointer 

Not a function pointer.

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

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

Value.

Enumerator
IsFunctionPointer 

Function pointer.

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

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

Value.

Enumerator
nArgs 

Number of arguments.

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

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

Value.

Enumerator
IsFunctionPointer 

Function pointer.

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

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

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 186 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 200 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 201 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 217 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 218 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 237 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 238 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 259 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 260 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 283 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 284 of file type-traits.h.

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

Value.

Enumerator
IsPointerToMember 

Not a pointer to member.

Definition at line 299 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 309 of file type-traits.h.

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

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 310 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 321 of file type-traits.h.

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

Value.

Enumerator
nArgs 

Number of arguments.

Definition at line 322 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 335 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 336 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 350 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 351 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 366 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 367 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 383 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 384 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 401 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 402 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 420 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 421 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 441 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 442 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 463 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 464 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 486 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 487 of file type-traits.h.

anonymous enum
private

IidManager constants.

Enumerator
HashChainFlag 

Hash chaining flag.

To handle the first collision, we reserve the high bit as a chain flag.

Definition at line 348 of file type-id.cc.

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 510 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 511 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 535 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 536 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 561 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 562 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 584 of file type-traits.h.

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

Value.

Enumerator
IsReference 

Not a reference type.

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

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

Value.

Enumerator
IsReference 

Reference type.

Definition at line 75 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 84 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.

The level of support or deprecation for attributes or trace sources.

Enumerator
SUPPORTED 

Attribute or trace source is currently used.

DEPRECATED 

Attribute or trace source is deprecated; user is warned.

OBSOLETE 

Attribute or trace source is not used anymore; simulation fails.

Definition at line 69 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 528 of file object.h.

References ns3::CompleteConstruct().

Referenced by ns3::Ipv6L3Protocol::AddInterface(), ns3::Ipv4L3Protocol::AddInterface(), Ipv4L3ProtocolTestCase::DoRun(), Ipv6L3ProtocolTestCase::DoRun(), PointToPointTest::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 540 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 555 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 572 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 591 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 612 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 635 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 660 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: