10#ifndef TOPOLOGY_READER_H
11#define TOPOLOGY_READER_H
14#include "ns3/object.h"
65 const std::string& fromName,
67 const std::string& toName);
108 void SetAttribute(
const std::string& name,
const std::string& value);
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.
Every class exported by the ns3 library is enclosed in the ns3 namespace.