10#ifndef TOPOLOGY_READER_H
11#define TOPOLOGY_READER_H
14#include "ns3/object.h"
67 const std::string&
toName);
126 std::map<std::string, std::string>
keep track of a set of node pointers.
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
Inner class holding the details about a link between two nodes.
Ptr< Node > m_toPtr
The node the links is directed to.
ConstAttributesIterator AttributesEnd() const
Returns an iterator to the end of the attributes.
std::map< std::string, std::string > m_linkAttr
Container of the link attributes (if any).
std::string GetToNodeName() const
Returns the name of the "to" node of the link.
void SetAttribute(const std::string &name, const std::string &value)
Sets an arbitrary link attribute.
Ptr< Node > GetToNode() const
Returns a Ptr<Node> to the "to" node of the link.
bool GetAttributeFailSafe(const std::string &name, std::string &value) const
Returns the value of a link attribute.
std::string GetFromNodeName() const
Returns the name of the "from" node of the link.
std::string m_fromName
Name of the node the links originates from.
std::string m_toName
Name of the node the links is directed to.
std::map< std::string, std::string >::const_iterator ConstAttributesIterator
Constant iterator to scan the map of link attributes.
std::string GetAttribute(const std::string &name) const
Returns the value of a link attribute.
ConstAttributesIterator AttributesBegin() const
Returns an iterator to the begin of the attributes.
Ptr< Node > GetFromNode() const
Returns a Ptr<Node> to the "from" node of the link.
Ptr< Node > m_fromPtr
The node the links originates from.
Interface for input file readers management.
int LinksSize() const
Returns the number of links in this block.
std::list< Link > m_linksList
The container of the links between the nodes.
void AddLink(Link link)
Adds a link to the topology.
virtual NodeContainer Read()=0
Main topology reading function.
ConstLinksIterator LinksEnd() const
Returns an iterator to the the last link in this block.
std::string GetFileName() const
Returns the input file name.
void SetFileName(const std::string &fileName)
Sets the input file name.
ConstLinksIterator LinksBegin() const
Returns an iterator to the the first link in this block.
TopologyReader(const TopologyReader &)=delete
static TypeId GetTypeId()
Get the type ID.
std::string m_fileName
The name of the input file.
TopologyReader & operator=(const TopologyReader &)=delete
std::list< Link >::const_iterator ConstLinksIterator
Constant iterator to the list of the links.
~TopologyReader() override
bool LinksEmpty() const
Checks if the block contains any links.
a unique identifier for an interface.
Ptr< T > Create(Ts &&... args)
Create class instances by constructors with varying numbers of arguments and return them by Ptr.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
static unsigned int value(char c)