A Discrete-Event Network Simulator
API
Public Member Functions | Private Member Functions | Private Attributes | List of all members
StaticInformation Class Reference

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

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 (void) const
 
void Print (void) 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 (void) 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 973 of file print-introspected-doxygen.cc.

Member Function Documentation

◆ DoGather()

void StaticInformation::DoGather ( TypeId  tid)
private

◆ 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 1177 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION, and Uniquefy().

Referenced by GetTypicalAggregations().

◆ 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 1129 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

Referenced by PrintConfigPaths().

◆ GetCurrentPath()

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

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

References NS_LOG_FUNCTION.

◆ GetNoTypeIds()

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

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

References NS_LOG_FUNCTION, and Uniquefy().

Referenced by GetNameMap().

◆ 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 1114 of file print-introspected-doxygen.cc.

References NS_LOG_FUNCTION.

◆ Print()

void StaticInformation::Print ( void  ) const

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

Definition at line 1080 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 1057 of file print-introspected-doxygen.cc.

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

Referenced by GetTypicalAggregations().

◆ RecordOutput()

void StaticInformation::RecordOutput ( TypeId  tid)
private

Record the current config path for tid.

Parameters
tid[in] the TypeId to record.

Definition at line 1106 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 1044 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 1040 of file print-introspected-doxygen.cc.

◆ m_currentPath

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

Current configuration path.

Definition at line 1036 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 1051 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 1032 of file print-introspected-doxygen.cc.


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