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 ()
 Constructor. More...
 
 SimpleRefCount (const SimpleRefCount &o)
 Copy constructor. More...
 
uint32_t GetReferenceCount (void) const
 Get the reference count of the object. More...
 
SimpleRefCountoperator= (const SimpleRefCount &o)
 Assignment. More...
 
void Ref (void) const
 Increment the reference count. More...
 
void Unref (void) const
 Decrement the reference count. More...
 

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)
 Noop. More...
 

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 27 of file object-ptr-container.cc.

References NS_LOG_FUNCTION.

Member Function Documentation

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

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

References m_objects, and NS_LOG_FUNCTION.

Referenced by LteRrcConnectionEstablishmentTestCase::CheckConnected(), LteX2HandoverTestCase::CheckConnected(), LteX2HandoverMeasuresTestCase::CheckConnected(), 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 64 of file object-ptr-container.cc.

References NS_LOG_FUNCTION.

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 86 of file object-ptr-container.cc.

References NS_FATAL_ERROR, and NS_LOG_FUNCTION.

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

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

References m_objects, and NS_LOG_FUNCTION.

Referenced by LteRrcConnectionEstablishmentTestCase::CheckConnected(), LteX2HandoverTestCase::CheckConnected(), LteX2HandoverMeasuresTestCase::CheckConnected(), 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 51 of file object-ptr-container.cc.

References m_objects, and NS_LOG_FUNCTION.

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

+ Here is the caller graph for this function:

uint32_t ns3::ObjectPtrContainerValue::GetN ( void  ) const
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 70 of file object-ptr-container.cc.

References Begin(), End(), and NS_LOG_FUNCTION.

+ 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: