|
A Discrete-Event Network Simulator
|
API
|
Go to the documentation of this file.
20 #include "ns3/config.h"
22 #include "ns3/pointer.h"
23 #include "ns3/object-ptr-container.h"
24 #include "ns3/string.h"
57 for (uint32_t i = 0; i <
m_examined.size (); ++i)
71 std::ostringstream oss;
86 std::ostringstream oss;
177 std::ostringstream oss;
211 object->GetAttribute (info.
name, ptr);
226 if (vectorChecker != 0)
230 object->GetAttribute (info.
name, vector);
233 for (it = vector.
Begin (); it != vector.
End (); ++it)
235 uint32_t j = (*it).first;
236 NS_LOG_DEBUG (
"ObjectPtrContainer attribute item " << j);
262 bool recursiveAggregate =
false;
268 recursiveAggregate =
true;
271 if (!recursiveAggregate)
273 iter =
object->GetAggregateIterator ();
a unique identifier for an interface.
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name.
virtual void DoEndVisitArrayItem(void)
End the visit to the array item.
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file,...
void DoIterate(Ptr< Object > object)
Perform the iteration.
void EndVisitPointerAttribute(void)
End the visit to the attribute of type ns3::PointerValue.
Iterator End(void) const
Get an iterator to the past-the-end Object.
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...
Every class exported by the ns3 library is enclosed in the ns3 namespace.
void EndVisitArrayAttribute(void)
End the visit to the attribute of type ns3::ObjectVectorValue.
@ ATTR_SET
The attribute can be written.
void VisitAttribute(Ptr< Object > object, std::string name)
Visit attribute to perform a config store operation on it.
virtual void DoEndVisitObject(void)
This method is called to end the process of visiting the currently visited object.
bool IsExamined(Ptr< const Object > object)
Check if this object has already been examined.
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...
Ptr< Object > GetRootNamespaceObject(uint32_t i)
std::vector< std::string > m_currentPath
current attribute path
Hold objects of type Ptr<T>.
std::vector< Ptr< Object > > m_examined
list of attributes examined
Container for a set of ns3::Object pointers.
@ ATTR_GET
The attribute can be read.
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::string GetCurrentPath(void) const
Get the current attribute path.
U * PeekPointer(const Ptr< U > &p)
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.
std::size_t GetAttributeN(void) const
Get the number of attributes.
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.
virtual void DoEndVisitArrayAttribute(void)
End the visit to the attribute of type ns3::ObjectVectorValue.
std::size_t GetRootNamespaceObjectN(void)
A base class which provides memory management and object aggregation.
virtual void DoStartVisitObject(Ptr< Object > object)
This method is called to start the process of visiting the input object.
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...
AttributeChecker implementation for PointerValue.
void StartVisitObject(Ptr< Object > object)
Start to visit an object to visit its attributes.
std::string GetName(void) const
Get the name.
#define NS_LOG_DEBUG(msg)
Use NS_LOG to output a message of level LOG_DEBUG.
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.
Ptr< const Object > Next(void)
Get the next Aggregated Object.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
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...
Iterator Begin(void) const
Get an iterator to the first Object.
bool HasNext(void) const
Check if there are more Aggregates to iterate over.
virtual ~AttributeIterator()
AttributeChecker implementation for ObjectPtrContainerValue.
std::map< std::size_t, Ptr< Object > >::const_iterator Iterator
Iterator type for traversing this container.
Iterate over the Objects aggregated to an ns3::Object.
bool HasParent(void) const
Check if this TypeId has a parent.
TypeId GetParent(void) const
Get the parent of this TypeId.
void EndVisitObject(void)
End the visit to the object.
struct TypeId::AttributeInformation GetAttribute(std::size_t i) const
Get Attribute information by index.
virtual void DoEndVisitPointerAttribute(void)
End the visit to the attribute of type ns3::PointerValue.