A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ns3::Object::AggregateIterator Class Reference

Iterate over the Objects aggregated to an ns3::Object. More...

#include "object.h"

+ Collaboration diagram for ns3::Object::AggregateIterator:

Public Member Functions

 AggregateIterator ()
 Default constructor, which has no Object.
 
bool HasNext () const
 Check if there are more Aggregates to iterate over.
 
Ptr< const ObjectNext ()
 Get the next Aggregated Object.
 

Private Member Functions

 AggregateIterator (Ptr< const Object > object)
 Construct from an Object.
 

Private Attributes

uint32_t m_current
 Current position in parent's aggregates.
 
Ptr< const Objectm_object
 Parent Object.
 
std::vector< Ptr< Object > >::const_iterator m_uniAggrIter
 Iterator to the unidirectional aggregates.
 

Friends

class Object
 Object needs access.
 

Detailed Description

Iterate over the Objects aggregated to an ns3::Object.

This iterator does not allow you to iterate over the parent Object used to call Object::GetAggregateIterator.

Note
This is a java-style iterator.

Definition at line 94 of file object.h.

Constructor & Destructor Documentation

◆ AggregateIterator() [1/2]

ns3::Object::AggregateIterator::AggregateIterator ( )

Default constructor, which has no Object.

Definition at line 40 of file object.cc.

References m_current, m_object, and NS_LOG_FUNCTION.

◆ AggregateIterator() [2/2]

ns3::Object::AggregateIterator::AggregateIterator ( Ptr< const Object > object)
private

Construct from an Object.

This is private, with Object as friend, so only Objects can create useful AggregateIterators.

Parameters
[in]objectThe Object whose Aggregates should be iterated over.

Definition at line 74 of file object.cc.

References m_current, m_object, m_uniAggrIter, and NS_LOG_FUNCTION.

Member Function Documentation

◆ HasNext()

bool ns3::Object::AggregateIterator::HasNext ( ) const

Check if there are more Aggregates to iterate over.

Returns
true if Next() can be called and return a non-null pointer, false otherwise.

Definition at line 48 of file object.cc.

References ns3::Object::m_aggregates, m_object, m_uniAggrIter, and NS_LOG_FUNCTION.

Referenced by ns3::AttributeIterator::DoIterate().

+ Here is the caller graph for this function:

◆ Next()

Ptr< const Object > ns3::Object::AggregateIterator::Next ( )

Get the next Aggregated Object.

Returns
The next aggregated Object.

Definition at line 56 of file object.cc.

References ns3::Object::m_aggregates, m_current, m_object, m_uniAggrIter, NS_LOG_FUNCTION, and Object.

Referenced by ns3::AttributeIterator::DoIterate().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ Object

friend class Object
friend

Object needs access.

Definition at line 117 of file object.h.

References Object.

Referenced by Next(), and Object.

Member Data Documentation

◆ m_current

uint32_t ns3::Object::AggregateIterator::m_current
private

Current position in parent's aggregates.

Definition at line 128 of file object.h.

Referenced by AggregateIterator(), AggregateIterator(), and Next().

◆ m_object

Ptr<const Object> ns3::Object::AggregateIterator::m_object
private

Parent Object.

Definition at line 127 of file object.h.

Referenced by AggregateIterator(), AggregateIterator(), HasNext(), and Next().

◆ m_uniAggrIter

std::vector<Ptr<Object>>::const_iterator ns3::Object::AggregateIterator::m_uniAggrIter
private

Iterator to the unidirectional aggregates.

Definition at line 130 of file object.h.

Referenced by AggregateIterator(), HasNext(), and Next().


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