ResourceId _resourceId,
int _minDelay = -1);
- /*dtor*/ ~SchedGraphEdge() {}
+ /*dtor*/ ~SchedGraphEdge();
SchedGraphNode* getSrc () const { return src; }
SchedGraphNode* getSink () const { return sink; }
int latency;
public:
- typedef vector<SchedGraphEdge*>::iterator iterator;
- typedef vector<SchedGraphEdge*>::const_iterator const_iterator;
+ typedef vector<SchedGraphEdge*>:: iterator iterator;
+ typedef vector<SchedGraphEdge*>::const_iterator const_iterator;
+ typedef vector<SchedGraphEdge*>:: reverse_iterator reverse_iterator;
+ typedef vector<SchedGraphEdge*>::const_reverse_iterator const_reverse_iterator;
public:
//
const_iterator beginOutEdges () const { return outEdges.begin(); }
const_iterator endOutEdges () const { return outEdges.end(); }
- //
- // Limited modifier methods
- //
- void eraseAllEdges ();
-
public:
//
// Debugging support
}
//
- // Delete a node from the graph.
+ // Delete nodes or edges from the graph.
//
- void eraseNode(SchedGraphNode* node);
+ void eraseNode (SchedGraphNode* node);
+
+ void eraseIncomingEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
+
+ void eraseOutgoingEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
+
+ void eraseIncidentEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
//
// Unordered iterators.
ResourceId _resourceId,
int _minDelay = -1);
- /*dtor*/ ~SchedGraphEdge() {}
+ /*dtor*/ ~SchedGraphEdge();
SchedGraphNode* getSrc () const { return src; }
SchedGraphNode* getSink () const { return sink; }
int latency;
public:
- typedef vector<SchedGraphEdge*>::iterator iterator;
- typedef vector<SchedGraphEdge*>::const_iterator const_iterator;
+ typedef vector<SchedGraphEdge*>:: iterator iterator;
+ typedef vector<SchedGraphEdge*>::const_iterator const_iterator;
+ typedef vector<SchedGraphEdge*>:: reverse_iterator reverse_iterator;
+ typedef vector<SchedGraphEdge*>::const_reverse_iterator const_reverse_iterator;
public:
//
const_iterator beginOutEdges () const { return outEdges.begin(); }
const_iterator endOutEdges () const { return outEdges.end(); }
- //
- // Limited modifier methods
- //
- void eraseAllEdges ();
-
public:
//
// Debugging support
}
//
- // Delete a node from the graph.
+ // Delete nodes or edges from the graph.
//
- void eraseNode(SchedGraphNode* node);
+ void eraseNode (SchedGraphNode* node);
+
+ void eraseIncomingEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
+
+ void eraseOutgoingEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
+
+ void eraseIncidentEdges (SchedGraphNode* node,
+ bool addDummyEdges = true);
//
// Unordered iterators.