Route Class Reference
#include <route.h>
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().
double Route::getCost | ( | ) | const [inline] |
References cost.
Referenced by operator<().
insertLink () Insert a link after the given iterator position into the route.
References links.
uint Route::length | ( | ) | const [inline] |
References links.
Referenced by NoCScheduler::findRoutes(), NoCScheduler::findScheduleEntityForMessage(), ClassicNoCScheduler::findScheduleEntityForMessageUsingClassic(), KnowledgeNoCScheduler::findScheduleEntityForMessageUsingKnowledge(), RandomNoCScheduler::findScheduleEntityForMessageUsingRandom(), NoCScheduler::findSlotsOnRoute(), NoCScheduler::maximalDuration(), operator==(), and NoCScheduler::severityConflict().
LinksIter Route::linksBegin | ( | ) | [inline] |
References links.
Referenced by containsNode(), SetOfNoCScheduleProblems::createNetworkMappingNode(), NoCScheduler::findFreeSlotsForStream(), NoCScheduler::findFreeSlotsOnFirstLinkRoute(), NoCScheduler::findFreeSlotsOnRoute(), NoCScheduler::findSlotsAllocatedForStream(), NoCScheduler::findSlotsOnRoute(), NoCScheduler::lowerPreferenceLevelSlotsOnRoute(), operator==(), print(), NoCScheduler::raisePreferenceLevelSlotsOnRoute(), NoCScheduler::releaseResources(), NoCScheduler::reserveResources(), KnowledgeNoCScheduler::setRequirementsMessage(), NoCScheduler::severityConflict(), NoCScheduler::sortRoutesOnCost(), ClassicNoCScheduler::sortRoutesOnCostUsingClassic(), and KnowledgeNoCScheduler::sortRoutesOnMessageRequirements().
LinksCIter Route::linksBegin | ( | ) | const [inline] |
References links.
LinksCIter Route::linksEnd | ( | ) | const [inline] |
References links.
LinksIter Route::linksEnd | ( | ) | [inline] |
References links.
Referenced by containsNode(), SetOfNoCScheduleProblems::createNetworkMappingNode(), NoCScheduler::findFreeSlotsForStream(), NoCScheduler::findFreeSlotsOnRoute(), NoCScheduler::findSlotsOnRoute(), NoCScheduler::lowerPreferenceLevelSlotsOnRoute(), operator==(), print(), NoCScheduler::raisePreferenceLevelSlotsOnRoute(), NoCScheduler::releaseResources(), NoCScheduler::reserveResources(), KnowledgeNoCScheduler::setRequirementsMessage(), NoCScheduler::severityConflict(), NoCScheduler::sortRoutesOnCost(), ClassicNoCScheduler::sortRoutesOnCostUsingClassic(), and KnowledgeNoCScheduler::sortRoutesOnMessageRequirements().
bool Route::operator< | ( | const Route & | r | ) | [inline] |
bool Route::operator== | ( | const Route & | r | ) | const |
operator== Two routes are equal if all links are equal.
References length(), linksBegin(), and linksEnd().
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().
void Route::setCost | ( | double | c | ) | [inline] |
Member Data Documentation
double Route::cost [private] |
Links Route::links [private] |
Referenced by appendLink(), clear(), insertLink(), length(), linksBegin(), linksEnd(), and removeLink().
The documentation for this class was generated from the following files: