Link graph job node. More...
#include <linkgraphjob.h>
Public Member Functions | |
| Node (LinkGraphJob *lgj, NodeID node) | |
| Constructor. | |
| Edge | operator[] (NodeID to) const |
| Retrieve an edge starting at this node. | |
| EdgeIterator | Begin () const |
| Iterator for the "begin" of the edge array. | |
| EdgeIterator | End () const |
| Iterator for the "end" of the edge array. | |
| uint | UndeliveredSupply () const |
| Get amount of supply that hasn't been delivered, yet. | |
| FlowStatMap & | Flows () |
| Get the flows running through this node. | |
| const FlowStatMap & | Flows () const |
| Get a constant version of the flows running through this node. | |
| PathList & | Paths () |
| Get the paths this node is part of. | |
| const PathList & | Paths () const |
| Get a constant version of the paths this node is part of. | |
| void | DeliverSupply (NodeID to, uint amount) |
| Deliver some supply, adding demand to the respective edge. | |
Private Attributes | |
| NodeAnnotation & | node_anno |
| Annotation being wrapped. | |
| EdgeAnnotation * | edge_annos |
| Edge annotations belonging to this node. | |
Link graph job node.
Wraps a constant link graph node and a modifiable node annotation.
Definition at line 180 of file linkgraphjob.h.
| LinkGraphJob::Node::Node | ( | LinkGraphJob * | lgj, | |
| NodeID | node | |||
| ) | [inline] |
Constructor.
| lgj | Job to take the node from. | |
| node | ID of the node. |
Definition at line 191 of file linkgraphjob.h.
| EdgeIterator LinkGraphJob::Node::Begin | ( | ) | const [inline] |
Iterator for the "begin" of the edge array.
Only edges with capacity are iterated. The others are skipped.
Reimplemented from LinkGraph::ConstNode.
Definition at line 209 of file linkgraphjob.h.
References edge_annos, LinkGraph::NodeWrapper< const BaseNode, const BaseEdge >::edges, and LinkGraph::NodeWrapper< const BaseNode, const BaseEdge >::index.
Referenced by LinkGraphJob::~LinkGraphJob().
| void LinkGraphJob::Node::DeliverSupply | ( | NodeID | to, | |
| uint | amount | |||
| ) | [inline] |
Deliver some supply, adding demand to the respective edge.
| to | Destination for supply. | |
| amount | Amount of supply to be delivered. |
Definition at line 254 of file linkgraphjob.h.
References node_anno, and LinkGraphJob::NodeAnnotation::undelivered_supply.
| EdgeIterator LinkGraphJob::Node::End | ( | ) | const [inline] |
Iterator for the "end" of the edge array.
Only edges with capacity are iterated. The others are skipped.
Reimplemented from LinkGraph::ConstNode.
Definition at line 216 of file linkgraphjob.h.
References edge_annos, and LinkGraph::NodeWrapper< const BaseNode, const BaseEdge >::edges.
Referenced by LinkGraphJob::~LinkGraphJob().
| FlowStatMap& LinkGraphJob::Node::Flows | ( | ) | [inline] |
Get the flows running through this node.
Definition at line 228 of file linkgraphjob.h.
References LinkGraphJob::NodeAnnotation::flows, and node_anno.
Referenced by LinkGraphJob::~LinkGraphJob().
| const FlowStatMap& LinkGraphJob::Node::Flows | ( | ) | const [inline] |
Get a constant version of the flows running through this node.
Definition at line 234 of file linkgraphjob.h.
References LinkGraphJob::NodeAnnotation::flows, and node_anno.
| Edge LinkGraphJob::Node::operator[] | ( | NodeID | to | ) | const [inline] |
Retrieve an edge starting at this node.
Mind that this returns an object, not a reference.
| to | Remote end of the edge. |
Reimplemented from LinkGraph::ConstNode.
Definition at line 202 of file linkgraphjob.h.
References edge_annos, and LinkGraph::NodeWrapper< const BaseNode, const BaseEdge >::edges.
| const PathList& LinkGraphJob::Node::Paths | ( | ) | const [inline] |
Get a constant version of the paths this node is part of.
Definition at line 247 of file linkgraphjob.h.
References node_anno, and LinkGraphJob::NodeAnnotation::paths.
| PathList& LinkGraphJob::Node::Paths | ( | ) | [inline] |
Get the paths this node is part of.
Paths are always expected to be sorted so that those with flow == 0 are in the back of the list.
Definition at line 241 of file linkgraphjob.h.
References node_anno, and LinkGraphJob::NodeAnnotation::paths.
| uint LinkGraphJob::Node::UndeliveredSupply | ( | ) | const [inline] |
Get amount of supply that hasn't been delivered, yet.
Definition at line 222 of file linkgraphjob.h.
References node_anno, and LinkGraphJob::NodeAnnotation::undelivered_supply.
1.7.1