A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
ns3::ObjectPtrContainerValue Class Reference

contain a set of ns3::Object pointers. More...

#include <object-ptr-container.h>

+ Inheritance diagram for ns3::ObjectPtrContainerValue:
+ Collaboration diagram for ns3::ObjectPtrContainerValue:

Public Types

typedef std::map< uint32_t,
Ptr< Object >
>::const_iterator 
Iterator

Public Member Functions

 ObjectPtrContainerValue ()
Iterator Begin (void) const
virtual Ptr< AttributeValueCopy (void) const
virtual bool DeserializeFromString (std::string value, Ptr< const AttributeChecker > checker)
Iterator End (void) const
Ptr< ObjectGet (uint32_t i) const
uint32_t GetN (void) const
virtual std::string SerializeToString (Ptr< const AttributeChecker > checker) const
- Public Member Functions inherited from ns3::AttributeValue
 AttributeValue ()
virtual ~AttributeValue ()
- Public Member Functions inherited from ns3::SimpleRefCount< AttributeValue >
 SimpleRefCount ()
 SimpleRefCount (const SimpleRefCount &o)
uint32_t GetReferenceCount (void) const
SimpleRefCountoperator= (const SimpleRefCount &o)
void Ref (void) const
void Unref (void) const

Private Attributes

std::map< uint32_t, Ptr< Object > > m_objects

Friends

class ObjectPtrContainerAccessor

Additional Inherited Members

- Static Public Member Functions inherited from ns3::SimpleRefCount< AttributeValue >
static void Cleanup (void)

Detailed Description

contain a set of ns3::Object pointers.

This class it used to get attribute access to an array of ns3::Object pointers.

Definition at line 38 of file object-ptr-container.h.

Member Typedef Documentation

typedef std::map<uint32_t, Ptr<Object> >::const_iterator ns3::ObjectPtrContainerValue::Iterator

Definition at line 41 of file object-ptr-container.h.

Constructor & Destructor Documentation

ns3::ObjectPtrContainerValue::ObjectPtrContainerValue ( )

Definition at line 24 of file object-ptr-container.cc.

Member Function Documentation

ObjectPtrContainerValue::Iterator ns3::ObjectPtrContainerValue::Begin ( void  ) const
Returns
an iterator to the first object contained in this set

Definition at line 29 of file object-ptr-container.cc.

References m_objects.

Referenced by ns3::Resolver::DoArrayResolve(), ns3::AttributeIterator::DoIterate(), and SerializeToString().

+ Here is the caller graph for this function:

Ptr< AttributeValue > ns3::ObjectPtrContainerValue::Copy ( void  ) const
virtual
Returns
a deep copy of this class, wrapped into an Attribute object.

Implements ns3::AttributeValue.

Definition at line 56 of file object-ptr-container.cc.

bool ns3::ObjectPtrContainerValue::DeserializeFromString ( std::string  value,
Ptr< const AttributeChecker checker 
)
virtual
Parameters
valuea string representation of the value
checkera pointer to the checker associated to the attribute.
Returns
true if the input string was correctly-formatted and could be successfully deserialized, false otherwise.

Upon return of this function, this AttributeValue instance contains the deserialized value. In most cases, this method will not make any use of the checker argument. However, in a very limited set of cases, the checker argument is needed to perform proper serialization. A nice example of code which needs it is the EnumValue::SerializeToString code.

Implements ns3::AttributeValue.

Definition at line 76 of file object-ptr-container.cc.

References NS_FATAL_ERROR.

ObjectPtrContainerValue::Iterator ns3::ObjectPtrContainerValue::End ( void  ) const
Returns
an iterator to the last object contained in this set

Definition at line 34 of file object-ptr-container.cc.

References m_objects.

Referenced by ns3::Resolver::DoArrayResolve(), ns3::AttributeIterator::DoIterate(), and SerializeToString().

+ Here is the caller graph for this function:

Ptr< Object > ns3::ObjectPtrContainerValue::Get ( uint32_t  i) const
Parameters
ithe index of the requested object.
Returns
the requested object

Definition at line 44 of file object-ptr-container.cc.

References m_objects.

Referenced by ns3::ObjectVectorAttributeTestCase::DoRun(), and ns3::ObjectMapAttributeTestCase::DoRun().

+ Here is the caller graph for this function:

uint32_t ns3::ObjectPtrContainerValue::GetN ( void  ) const
Returns
the number of objects contained in this set.

Definition at line 39 of file object-ptr-container.cc.

References m_objects.

Referenced by ns3::ObjectVectorAttributeTestCase::DoRun(), and ns3::ObjectMapAttributeTestCase::DoRun().

+ Here is the caller graph for this function:

std::string ns3::ObjectPtrContainerValue::SerializeToString ( Ptr< const AttributeChecker checker) const
virtual
Parameters
checkerthe checker associated to the attribute
Returns
a string representation of this value.

In most cases, this method will not make any use of the checker argument. However, in a very limited set of cases, the checker argument is needed to perform proper serialization. A nice example of code which needs it is the EnumValue::SerializeToString code.

Implements ns3::AttributeValue.

Definition at line 61 of file object-ptr-container.cc.

References Begin(), and End().

+ Here is the call graph for this function:

Friends And Related Function Documentation

friend class ObjectPtrContainerAccessor
friend

Definition at line 68 of file object-ptr-container.h.

Member Data Documentation

std::map<uint32_t, Ptr<Object> > ns3::ObjectPtrContainerValue::m_objects
private

Definition at line 69 of file object-ptr-container.h.

Referenced by Begin(), End(), Get(), ns3::ObjectPtrContainerAccessor::Get(), and GetN().


The documentation for this class was generated from the following files: