A Discrete-Event Network Simulator
API
StaticInformation Class Reference

Gather aggregation and configuration path information from registered types. More...

+ Collaboration diagram for StaticInformation:

Public Member Functions

void Gather (TypeId tid)
 Gather aggregation and configuration path information for tid. More...
 
std::vector< std::string > Get (TypeId tid) const
 
std::vector< std::string > GetNoTypeIds () const
 
void Print () const
 Print output in "a -> b" form on std::cout. More...
 
void RecordAggregationInfo (std::string a, std::string b)
 Record the a -> b aggregation relation. More...
 

Private Member Functions

void DoGather (TypeId tid)
 Gather attribute, configuration path information for tid. More...
 
std::string GetCurrentPath () const
 
bool HasAlreadyBeenProcessed (TypeId tid) const
 
void RecordOutput (TypeId tid)
 Record the current config path for tid. More...
 

Private Attributes

std::vector< std::pair< TypeId, TypeId > > m_aggregates
 List of aggregation relationships. More...
 
std::vector< TypeIdm_alreadyProcessed
 List of TypeIds we've already processed. More...
 
std::vector< std::string > m_currentPath
 Current configuration path. More...
 
std::vector< std::string > m_noTids
 List of type names without TypeIds, because those modules aren't enabled. More...
 
std::vector< std::pair< TypeId, std::string > > m_output
 Configuration path for each TypeId. More...
 

Detailed Description

Gather aggregation and configuration path information from registered types.

Definition at line 246 of file print-introspected-doxygen.cc.

Member Function Documentation

◆ DoGather()

void StaticInformation::DoGather ( TypeId  tid)
private

Gather attribute, configuration path information for tid.

Parameters
tid[in] the TypeId to gather information from

Definition at line 448 of file print-introspected-doxygen.cc.

References ns3::TypeId::AttributeInformation::checker, ns3::TypeId::GetAttribute(), ns3::TypeId::GetAttributeN(), ns3::TypeId::GetName(), ns3::TypeId::GetRegistered(), ns3::TypeId::GetRegisteredN(), ns3::TypeId::IsChildOf(), ns3::TypeId::AttributeInformation::name, NS_LOG_FUNCTION, and ns3::PeekPointer().

+ Here is the call graph for this function:

◆ Gather()

void StaticInformation::Gather ( TypeId  tid)

Gather aggregation and configuration path information for tid.

Parameters
tid[in] the TypeId to gather information from

Definition at line 440 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION, and Uniquefy().

Referenced by GetTypicalAggregations().

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

◆ Get()

std::vector< std::string > StaticInformation::Get ( TypeId  tid) const
Returns
the configuration paths for tid
Parameters
tid[in] the TypeId to return information for

Definition at line 394 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

Referenced by PrintConfigPaths().

+ Here is the caller graph for this function:

◆ GetCurrentPath()

std::string StaticInformation::GetCurrentPath ( ) const
private
Returns
the current configuration path

Definition at line 361 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

◆ GetNoTypeIds()

std::vector< std::string > StaticInformation::GetNoTypeIds ( ) const
Returns
the type names we couldn't aggregate.

Definition at line 432 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION, and Uniquefy().

Referenced by GetNameMap().

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

◆ HasAlreadyBeenProcessed()

bool StaticInformation::HasAlreadyBeenProcessed ( TypeId  tid) const
private
Returns
whether the tid has already been processed
Parameters
tid[in] the TypeId to check.

Definition at line 380 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

◆ Print()

void StaticInformation::Print ( ) const

Print output in "a -> b" form on std::cout.

Definition at line 351 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

◆ RecordAggregationInfo()

void StaticInformation::RecordAggregationInfo ( std::string  a,
std::string  b 
)

Record the a -> b aggregation relation.

Parameters
a[in] the source(?) TypeId name
b[in] the destination(?) TypeId name

Definition at line 329 of file print-introspected-doxygen.cc.

References ns3::TypeId::LookupByNameFailSafe(), and NS_LOG_FUNCTION.

Referenced by GetTypicalAggregations().

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

◆ RecordOutput()

void StaticInformation::RecordOutput ( TypeId  tid)
private

Record the current config path for tid.

Parameters
tid[in] the TypeId to record.

Definition at line 373 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

Member Data Documentation

◆ m_aggregates

std::vector<std::pair<TypeId, TypeId> > StaticInformation::m_aggregates
private

List of aggregation relationships.

Definition at line 317 of file print-introspected-doxygen.cc.

◆ m_alreadyProcessed

std::vector<TypeId> StaticInformation::m_alreadyProcessed
private

List of TypeIds we've already processed.

Definition at line 313 of file print-introspected-doxygen.cc.

◆ m_currentPath

std::vector<std::string> StaticInformation::m_currentPath
private

Current configuration path.

Definition at line 309 of file print-introspected-doxygen.cc.

◆ m_noTids

std::vector<std::string> StaticInformation::m_noTids
mutableprivate

List of type names without TypeIds, because those modules aren't enabled.

This is mutable because GetNoTypeIds sorts and uniquifies this list before returning it.

Definition at line 324 of file print-introspected-doxygen.cc.

◆ m_output

std::vector<std::pair<TypeId, std::string> > StaticInformation::m_output
private

Configuration path for each TypeId.

Definition at line 305 of file print-introspected-doxygen.cc.


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