hold a set of objects which match a specific search string. More...
#include "config.h"
Public Types | |
typedef std::vector< Ptr< Object > >::const_iterator | Iterator |
Const iterator over the objects in this container. More... | |
Public Member Functions | |
MatchContainer () | |
MatchContainer (const std::vector< Ptr< Object >> &objects, const std::vector< std::string > &contexts, std::string path) | |
Constructor used only by implementation. More... | |
void | Connect (std::string name, const CallbackBase &cb) |
bool | ConnectFailSafe (std::string name, const CallbackBase &cb) |
void | ConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | ConnectWithoutContextFailSafe (std::string name, const CallbackBase &cb) |
void | Disconnect (std::string name, const CallbackBase &cb) |
void | DisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Ptr< Object > | Get (std::size_t i) const |
std::string | GetMatchedPath (uint32_t i) const |
std::string | GetPath () const |
void | Set (std::string name, const AttributeValue &value) |
bool | SetFailSafe (std::string name, const AttributeValue &value) |
MatchContainer::Iterator | Begin () const |
MatchContainer::Iterator | begin () const |
MatchContainer::Iterator | End () const |
MatchContainer::Iterator | end () const |
std::size_t | GetN () const |
std::size_t | size () const |
Private Attributes | |
std::vector< std::string > | m_contexts |
The context for each object. More... | |
std::vector< Ptr< Object > > | m_objects |
The list of objects in this container. More... | |
std::string | m_path |
The path used to perform the object matching. More... | |
hold a set of objects which match a specific search string.
This class also allows you to perform a set of configuration operations on the set of matching objects stored in the container. Specifically, it is possible to perform bulk Connects and Sets.
typedef std::vector<Ptr<Object> >::const_iterator ns3::Config::MatchContainer::Iterator |
ns3::Config::MatchContainer::MatchContainer | ( | ) |
Definition at line 45 of file config.cc.
References NS_LOG_FUNCTION.
ns3::Config::MatchContainer::MatchContainer | ( | const std::vector< Ptr< Object >> & | objects, |
const std::vector< std::string > & | contexts, | ||
std::string | path | ||
) |
Constructor used only by implementation.
[in] | objects | The vector of objects to store in this container. |
[in] | contexts | The corresponding contexts. |
[in] | path | The path used for object matching. |
Definition at line 50 of file config.cc.
References NS_LOG_FUNCTION.
MatchContainer::Iterator ns3::Config::MatchContainer::Begin | ( | ) | const |
Definition at line 61 of file config.cc.
References m_objects, and NS_LOG_FUNCTION.
Referenced by begin(), ConnectWithoutContextFailSafe(), DisconnectWithoutContext(), Set(), and SetFailSafe().
|
inline |
void ns3::Config::MatchContainer::Connect | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to connect to |
[in] | cb | The sink to connect to the trace source |
Connect the specified sink to all the objects stored in this container. This method will raise a fatal error if no objects could be connected; use ConnectFailSafe if no connections is a valid possible outcome.
Definition at line 128 of file config.cc.
References ConnectFailSafe(), and NS_FATAL_ERROR.
bool ns3::Config::MatchContainer::ConnectFailSafe | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to connect to |
[in] | cb | The sink to connect to the trace source |
Connect the specified sink to all the objects stored in this container. This method will return true if any trace sources could be connected, and false otherwise.
true
if any trace sources could be connected. Definition at line 137 of file config.cc.
References m_contexts, m_objects, NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by Connect().
void ns3::Config::MatchContainer::ConnectWithoutContext | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to connect to |
[in] | cb | The sink to connect to the trace source |
Connect the specified sink to all the objects stored in this container. This method will raise a fatal error if no objects could be connected; use ConnectWithoutContextFailSafe if no connections is a valid possible outcome.
Definition at line 152 of file config.cc.
References ConnectWithoutContextFailSafe(), and NS_FATAL_ERROR.
bool ns3::Config::MatchContainer::ConnectWithoutContextFailSafe | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to connect to |
[in] | cb | The sink to connect to the trace source |
Connect the specified sink to all the objects stored in this container. This method will return true if any trace sources could be connected, and false otherwise.
true
if any trace sources could be connected. Definition at line 161 of file config.cc.
References Begin(), End(), NS_LOG_FUNCTION, and ns3::ObjectBase::TraceConnectWithoutContext().
Referenced by ConnectWithoutContext().
void ns3::Config::MatchContainer::Disconnect | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to disconnect from |
[in] | cb | The sink to disconnect from the trace source |
Disconnect the specified sink from all the objects stored in this container.
Definition at line 174 of file config.cc.
References m_contexts, m_objects, NS_ASSERT, and NS_LOG_FUNCTION.
void ns3::Config::MatchContainer::DisconnectWithoutContext | ( | std::string | name, |
const CallbackBase & | cb | ||
) |
[in] | name | The name of the trace source to disconnect from |
[in] | cb | The sink to disconnect from the trace source |
Disconnect the specified sink from all the objects stored in this container.
Definition at line 187 of file config.cc.
References Begin(), End(), NS_LOG_FUNCTION, and ns3::ObjectBase::TraceDisconnectWithoutContext().
MatchContainer::Iterator ns3::Config::MatchContainer::End | ( | ) | const |
Definition at line 68 of file config.cc.
References m_objects, and NS_LOG_FUNCTION.
Referenced by ConnectWithoutContextFailSafe(), DisconnectWithoutContext(), end(), Set(), and SetFailSafe().
|
inline |
Definition at line 229 of file config.h.
References End().
Referenced by grid.TimelinesRenderer::draw_events(), and grid.TimelinesRenderer::draw_ranges().
[in] | i | Index of item to lookup ([0,n[) |
Definition at line 82 of file config.cc.
References m_objects, and NS_LOG_FUNCTION.
Referenced by ns3::RandomVariableStreamHelper::AssignStreams(), ns3::LteStatsCalculator::FindCellIdFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromLteNetDevice(), ns3::LteStatsCalculator::FindImsiFromUePhy(), and ns3::RadioEnvironmentMapHelper::Install().
std::string ns3::Config::MatchContainer::GetMatchedPath | ( | uint32_t | i | ) | const |
[in] | i | Index of item to lookup ([0,n[) |
The matching patch uniquely identifies the requested object.
Definition at line 89 of file config.cc.
References m_contexts, and NS_LOG_FUNCTION.
Referenced by ns3::GnuplotHelper::PlotProbe(), and ns3::FileHelper::WriteProbe().
std::size_t ns3::Config::MatchContainer::GetN | ( | ) | const |
Definition at line 75 of file config.cc.
References m_objects, and NS_LOG_FUNCTION.
Referenced by ns3::RandomVariableStreamHelper::AssignStreams(), ns3::LteStatsCalculator::FindCellIdFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromEnbRlcPath(), ns3::LteStatsCalculator::FindImsiFromLteNetDevice(), ns3::LteStatsCalculator::FindImsiFromUePhy(), ns3::RadioEnvironmentMapHelper::Install(), ns3::GnuplotHelper::PlotProbe(), size(), and ns3::FileHelper::WriteProbe().
std::string ns3::Config::MatchContainer::GetPath | ( | ) | const |
Definition at line 96 of file config.cc.
References m_path, and NS_LOG_FUNCTION.
void ns3::Config::MatchContainer::Set | ( | std::string | name, |
const AttributeValue & | value | ||
) |
[in] | name | Name of attribute to set |
[in] | value | Value to set to the attribute |
Set the specified attribute value to all the objects stored in this container. This method will raise a fatal error if no such attribute exists; use SetFailSafe if the absence of the attribute is to be permitted.
Definition at line 103 of file config.cc.
References Begin(), End(), NS_LOG_FUNCTION, and ns3::ObjectBase::SetAttribute().
bool ns3::Config::MatchContainer::SetFailSafe | ( | std::string | name, |
const AttributeValue & | value | ||
) |
[in] | name | Name of attribute to set |
[in] | value | Value to set to the attribute |
Set the specified attribute value to all the objects stored in this container. This method will return true if any attributes could be set, and false otherwise.
true
if any attributes could be set. Definition at line 115 of file config.cc.
References Begin(), End(), NS_LOG_FUNCTION, and ns3::ObjectBase::SetAttributeFailSafe().
|
inline |
|
private |
The context for each object.
Definition at line 351 of file config.h.
Referenced by ConnectFailSafe(), Disconnect(), and GetMatchedPath().
The list of objects in this container.
Definition at line 349 of file config.h.
Referenced by Begin(), ConnectFailSafe(), Disconnect(), End(), Get(), and GetN().
|
private |