19 #ifndef ATTRIBUTE_ITERATOR_H
20 #define ATTRIBUTE_ITERATOR_H
23 #include "ns3/object.h"
24 #include "ns3/object-ptr-container.h"
Iterator to iterate on the values of attributes of an ns3::Object.
void DoIterate(Ptr< Object > object)
Perform the iteration.
virtual void DoEndVisitArrayAttribute(void)
End the visit to the attribute of type ns3::ObjectVectorValue.
virtual void DoEndVisitArrayItem(void)
End the visit to the array item.
virtual void DoStartVisitPointerAttribute(Ptr< Object > object, std::string name, Ptr< Object > value)
Visit the attribute of type ns3::PointerValue, with the provided name, found on the object pointed to...
std::vector< std::string > m_currentPath
current attribute path
virtual void DoEndVisitPointerAttribute(void)
End the visit to the attribute of type ns3::PointerValue.
void StartVisitObject(Ptr< Object > object)
Start to visit an object to visit its attributes.
bool IsExamined(Ptr< const Object > object)
Check if this object has already been examined.
void VisitAttribute(Ptr< Object > object, std::string name)
Visit attribute to perform a config store operation on it.
void StartVisitArrayAttribute(Ptr< Object > object, std::string name, const ObjectPtrContainerValue &vector)
Visit the attribute of type ns3::ObjectVectorValue, with the provided name, found on the object point...
std::string GetCurrentPath(void) const
Get the current attribute path.
virtual void DoVisitAttribute(Ptr< Object > object, std::string name)=0
This method visits and performs a config-store action (such as saving to a text file) on the attribut...
void EndVisitObject(void)
End the visit to the object.
void EndVisitArrayAttribute(void)
End the visit to the attribute of type ns3::ObjectVectorValue.
virtual ~AttributeIterator()
void Iterate(void)
Start the process of iterating all objects from the root namespace object.
void EndVisitArrayItem(void)
End the visit to the array item.
void StartVisitArrayItem(const ObjectPtrContainerValue &vector, uint32_t index, Ptr< Object > item)
Start to visit the object found in the input array at the provided index.
std::vector< Ptr< Object > > m_examined
list of attributes examined
virtual void DoStartVisitArrayItem(const ObjectPtrContainerValue &vector, uint32_t index, Ptr< Object > item)
Start to visit the object found in the input array at the provided index.
virtual void DoStartVisitObject(Ptr< Object > object)
This method is called to start the process of visiting the input object.
void StartVisitPointerAttribute(Ptr< Object > object, std::string name, Ptr< Object > value)
Visit the attribute of type ns3::PointerValue, with the provided name, found on the object pointed to...
virtual void DoStartVisitArrayAttribute(Ptr< Object > object, std::string name, const ObjectPtrContainerValue &vector)
Visit the attribute of type ns3::ObjectVectorValue, with the provided name, found on the object point...
virtual void DoEndVisitObject(void)
This method is called to end the process of visiting the currently visited object.
void EndVisitPointerAttribute(void)
End the visit to the attribute of type ns3::PointerValue.
Container for a set of ns3::Object pointers.
Every class exported by the ns3 library is enclosed in the ns3 namespace.