#include <route.h>

Collaboration diagram for Route:

List of all members.

Public Member Functions

 Route ()
 ~Route ()
LinksIter linksBegin ()
LinksIter linksEnd ()
LinksCIter linksBegin () const
LinksCIter linksEnd () const
void clear ()
uint length () const
void insertLink (LinksIter pos, Link *l)
void appendLink (Link *l)
void removeLink (Link *l)
bool containsNode (const Node *n) const
void setCost (double c)
double getCost () const
bool operator< (const Route &r)
bool operator== (const Route &r) const
ostream & print (ostream &out) const

Private Attributes

Links links
double cost

Detailed Description

Route A route is a sequence of links

Constructor & Destructor Documentation

Route::Route (  )  [inline]
Route::~Route (  )  [inline]

Member Function Documentation

void Route::appendLink ( Link l  ) 

appendLink () Insert a link at the end of the route.

References links.

Referenced by NoCScheduler::assignSchedulingEntities(), and NoCScheduler::findRoutes().

void Route::clear (  )  [inline]

References links.

bool Route::containsNode ( const Node n  )  const

containsNode () The function returns true if the route goes through the node n. Otherwise it returns false.

References Link::getDstNode(), Link::getSrcNode(), linksBegin(), and linksEnd().

Referenced by NoCScheduler::findRoutes().

Here is the call graph for this function:

double Route::getCost (  )  const [inline]

References cost.

Referenced by operator<().

void Route::insertLink ( LinksIter  pos,
Link l 

insertLink () Insert a link after the given iterator position into the route.

References links.

LinksCIter Route::linksBegin (  )  const [inline]

References links.

LinksCIter Route::linksEnd (  )  const [inline]

References links.

bool Route::operator< ( const Route r  )  [inline]

References getCost().

Here is the call graph for this function:

bool Route::operator== ( const Route r  )  const

operator== Two routes are equal if all links are equal.

References length(), linksBegin(), and linksEnd().

Here is the call graph for this function:

ostream & Route::print ( ostream &  out  )  const

print () Output a route to the given stream.

References Link::getDstNode(), Node::getId(), linksBegin(), and linksEnd().

Referenced by NoCSchedulingEntity::print().

Here is the call graph for this function:

void Route::removeLink ( Link l  ) 

removeLink () Remove a link from the route.

References links.

Member Data Documentation

double Route::cost [private]

Referenced by getCost(), and setCost().

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