A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
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.
 
std::vector< std::string > Get (TypeId tid) const
 
std::vector< std::string > GetNoTypeIds () const
 
void Print (std::ostream &os) const
 Print output in "a -> b" form on the stream.
 
void RecordAggregationInfo (std::string a, std::string b)
 Record the a -> b aggregation relation.
 

Private Member Functions

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

Private Attributes

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

Detailed Description

Gather aggregation and configuration path information from registered types.

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

References ns3::TypeId::AttributeInformation::checker, ns3::CreateObject(), DoGather(), ns3::TypeId::GetAttribute(), ns3::TypeId::GetAttributeN(), ns3::TypeId::GetName(), ns3::TypeId::GetRegistered(), ns3::TypeId::GetRegisteredN(), HasAlreadyBeenProcessed(), ns3::TypeId::IsChildOf(), m_aggregates, m_alreadyProcessed, m_currentPath, ns3::TypeId::AttributeInformation::name, NS_LOG_FUNCTION, ns3::PeekPointer(), and RecordOutput().

Referenced by DoGather(), and Gather().

+ Here is the call graph for this function:
+ Here is the caller 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 430 of file print-introspected-doxygen.cc.

References DoGather(), m_output, 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 384 of file print-introspected-doxygen.cc.

References m_output, and 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 351 of file print-introspected-doxygen.cc.

References m_currentPath, and NS_LOG_FUNCTION.

Referenced by RecordOutput().

+ Here is the caller graph for this function:

◆ GetNoTypeIds()

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

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

References m_noTids, 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 370 of file print-introspected-doxygen.cc.

References m_alreadyProcessed, and NS_LOG_FUNCTION.

Referenced by DoGather().

+ Here is the caller graph for this function:

◆ Print()

void StaticInformation::Print ( std::ostream & os) const

Print output in "a -> b" form on the stream.

Parameters
[in,out]osThe output stream.

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

References m_output, and 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 319 of file print-introspected-doxygen.cc.

References ns3::TypeId::LookupByNameFailSafe(), m_aggregates, m_noTids, 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 363 of file print-introspected-doxygen.cc.

References GetCurrentPath(), m_output, and NS_LOG_FUNCTION.

Referenced by DoGather().

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

Member Data Documentation

◆ m_aggregates

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

List of aggregation relationships.

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

Referenced by DoGather(), and RecordAggregationInfo().

◆ m_alreadyProcessed

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

List of TypeIds we've already processed.

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

Referenced by DoGather(), and HasAlreadyBeenProcessed().

◆ m_currentPath

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

Current configuration path.

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

Referenced by DoGather(), and GetCurrentPath().

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

Referenced by GetNoTypeIds(), and RecordAggregationInfo().

◆ m_output

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

Configuration path for each TypeId.

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

Referenced by Gather(), Get(), Print(), and RecordOutput().


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