20 #include "ns3/config.h"
22 #include "ns3/pointer.h"
23 #include "ns3/object-ptr-container.h"
24 #include "ns3/string.h"
58 for (uint32_t i = 0; i <
m_examined.size (); ++i)
72 std::ostringstream oss;
87 std::ostringstream oss;
178 std::ostringstream oss;
212 object->GetAttribute (info.
name, ptr);
227 if (vectorChecker != 0)
231 object->GetAttribute (info.
name, vector);
234 for (it = vector.
Begin (); it != vector.
End (); ++it)
236 uint32_t j = (*it).first;
237 NS_LOG_DEBUG (
"ObjectPtrContainer attribute item " << j);
260 bool recursiveAggregate =
false;
266 recursiveAggregate =
true;
269 if (!recursiveAggregate)
271 iter =
object->GetAggregateIterator ();
uint32_t GetAttributeN(void) const
virtual TypeId GetInstanceTypeId(void) const
virtual void DoStartVisitPointerAttribute(Ptr< Object > object, std::string name, Ptr< Object > value)
virtual void DoEndVisitObject(void)
void EndVisitPointerAttribute(void)
#define NS_ASSERT(condition)
TypeId GetParent(void) const
virtual void DoEndVisitPointerAttribute(void)
virtual void DoEndVisitArrayAttribute(void)
Ptr< Object > GetRootNamespaceObject(uint32_t i)
NS_LOG_COMPONENT_DEFINE("AttributeIterator")
bool IsExamined(Ptr< const Object > object)
std::vector< std::string > m_currentPath
std::map< uint32_t, Ptr< Object > >::const_iterator Iterator
The attribute can be read.
void EndVisitArrayItem(void)
void StartVisitArrayAttribute(Ptr< Object > object, std::string name, const ObjectPtrContainerValue &vector)
Ptr< const Object > Next(void)
void StartVisitObject(Ptr< Object > object)
std::vector< Ptr< Object > > m_examined
T * PeekPointer(const Ptr< T > &p)
bool HasParent(void) const
virtual void DoStartVisitObject(Ptr< Object > object)
void VisitAttribute(Ptr< Object > object, std::string name)
The attribute can be written.
std::string GetName(void) const
Iterator Begin(void) const
virtual void DoEndVisitArrayItem(void)
void DoIterate(Ptr< Object > object)
std::string GetCurrentPath(void) const
virtual void DoStartVisitArrayItem(const ObjectPtrContainerValue &vector, uint32_t index, Ptr< Object > item)
#define NS_LOG_DEBUG(msg)
void EndVisitArrayAttribute(void)
uint32_t GetRootNamespaceObjectN(void)
void StartVisitPointerAttribute(Ptr< Object > object, std::string name, Ptr< Object > value)
a base class which provides memory management and object aggregation
virtual ~AttributeIterator()
contain a set of ns3::Object pointers.
struct TypeId::AttributeInformation GetAttribute(uint32_t i) const
virtual void DoStartVisitArrayAttribute(Ptr< Object > object, std::string name, const ObjectPtrContainerValue &vector)
a unique identifier for an interface.
virtual void DoVisitAttribute(Ptr< Object > object, std::string name)=0
void StartVisitArrayItem(const ObjectPtrContainerValue &vector, uint32_t index, Ptr< Object > item)
Iterate over the objects aggregated to an ns3::Object.
void EndVisitObject(void)