19 #ifndef TORC_ROUTER_ROUTNET_HPP
20 #define TORC_ROUTER_ROUTNET_HPP
27 #include <boost/unordered_map.hpp>
28 #include <boost/any.hpp>
70 boost::unordered_map<boost::uint32_t, boost::any>
mProperties;
104 mSinks.push_back(inTilewire);
112 if(result == e)
return false;
122 if(result == e)
return false;
129 mArcs.push_back(inArc);
137 if(result == e)
return false;
210 #endif // TORC_ROUTER_ROUTENET_HPP
TilewireVector::const_iterator TilewireConstIterator
TilewireConstIterator sinksEnd(void) const
Returns the end constant iterator for sink Tilewires.
architecture::TilewireVector TilewireVector
string mName
Name of the net.
TilewireVector mSources
Vector of net source Tilewires.
Encapsulation of an arc between two tilewires.
std::vector< Tilewire > TilewireVector
Vector of Tilewire objects.
void unroute(void)
Unroute the net.
size_t getSourceCount(void) const
Returns the number of sources on the net.
ArcVector::const_iterator ArcConstIterator
std::vector< RouteNode * > RouteNodePtrVector
Vector of RouteNode pointers.
TilewireIterator sourcesEnd(void)
Returns the end non-constant iterator for source Tilewires.
architecture::ArcVector ArcVector
size_t getArcCount(void) const
Returns the number of arcs on the net.
std::vector< RouteNet > RouteNetVector
Vector of RouteNet objects.
const string & getName() const
Returns the name of the net.
Header for the RouteNode class.
TilewireVector::iterator TilewireIterator
RouteNet(string &inName)
Name only constructor.
Header for the Arc class.
bool containsSink(Tilewire inTilewire) const
Determines whether the given Tilewire is a sink of this net.
TilewireConstIterator sourcesEnd(void) const
Returns the end constant iterator for source Tilewires.
TilewireIterator sourcesBegin(void)
Returns the begin non-constant iterator for source Tilewires.
bool removeSource(Tilewire inTilewire)
Removes the given Tilewire from the sources of this net.
TilewireConstIterator sinksBegin(void) const
Returns the begin constant iterator for sink Tilewires.
bool hasMultipleSinks(void) const
Returns true if the next has more than one sink.
ArcIterator arcsEnd(void)
Returns the end non-constant iterator for arcs.
std::vector< Arc > ArcVector
Vector of Arc objects.
boost::unordered_map< boost::uint32_t, boost::any > mProperties
Net annotation structure.
RouteNodePtrVector & routeNodes()
Returns a reference to the RouteNodePtrVector.
TilewireIterator sinksEnd(void)
Returns the end non-constant iterator for sink Tilewires.
Encapsulation of a device tile and wire pair.
bool hasAnySources(void) const
Returns true if the net has any sources.
RouteNodePtrVector::const_iterator RouteNodePtrConstIterator
TilewireConstIterator sourcesBegin(void) const
Returns the begin constant iterator for source Tilewires.
bool hasAnyArcs(void) const
Returns true if the net has any arcs.
Header for the Tilewire class.
ArcVector mArcs
Vector of arcs representing net connectivity.
size_t getSinkCount(void) const
Returns the number of sinks on the net.
bool hasOneSink(void) const
Returns true if the net has exactly one sink.
ArcIterator arcsBegin(void)
Returns the begin non-constant iterator for arcs.
bool isRouted(void) const
Returns true if the net has any arcs.
TilewireIterator sinksBegin(void)
Returns the begin non-constant iterator for sink Tilewires.
architecture::Tilewire Tilewire
bool removeSink(Tilewire inTilewire)
Removes the given instance pin from the sinks of this net.
RouteNodePtrVector::iterator RouteNodePtrIterator
bool hasOneSource(void) const
Returns true if the net has exactly one source.
RouteNet(string &inName, const TilewireVector &inSources, const TilewireVector &inSinks)
Populated constructor.
ArcConstIterator arcsEnd(void) const
Returns the end constant iterator for arcs.
void addSource(Tilewire inTilewire)
Adds the given Tilewire as a source for this net.
RouteNodePtrVector mRouteNodes
Vector of RouteNodes representing net connectivity.
ArcVector::iterator ArcIterator
bool containsArc(const Arc &inArc) const
Determines whether the net contains the given arc.
std::string string
Imported type names.
void addArc(const Arc &inArc)
Adds the given arc to this net.
bool hasMultipleSources(void) const
Returns true if the net has more than one source.
bool isUnrouted(void) const
Returns true if the net has no arcs.
void addSink(Tilewire inTilewire)
Adds the given Tilewire as a sink for this net.
bool removeArc(const Arc &inArc)
Removes the given arc from this net.
bool hasAnySinks(void) const
Returns true if the net has any sinks.
bool containsSource(Tilewire inTilewire) const
Determines whether the given Tilewire is a source of this net.
TilewireVector mSinks
Vector of net sink Tilewires.
ArcConstIterator arcsBegin(void) const
Returns the begin constant iterator for arcs.