646 ///shortest path tree used here is equal to the shortest path tree used in |
646 ///shortest path tree used here is equal to the shortest path tree used in |
647 ///\ref predNode(). |
647 ///\ref predNode(). |
648 ///\pre Either \ref run() or \ref start() must be called before using |
648 ///\pre Either \ref run() or \ref start() must be called before using |
649 ///this function. |
649 ///this function. |
650 ///\todo predEdge could be a better name. |
650 ///\todo predEdge could be a better name. |
651 Edge pred(Node v) const { return (*_pred)[v];} |
651 Edge predEdge(Node v) const { return (*_pred)[v];} |
652 |
652 |
653 ///Returns the 'previous node' of the shortest path tree. |
653 ///Returns the 'previous node' of the shortest path tree. |
654 |
654 |
655 ///For a node \c v it returns the 'previous node' |
655 ///For a node \c v it returns the 'previous node' |
656 ///of the shortest path tree, |
656 ///of the shortest path tree, |
657 ///i.e. it returns the last but one node from a shortest path from the |
657 ///i.e. it returns the last but one node from a shortest path from the |
658 ///root(a) to \c /v. |
658 ///root(a) to \c /v. |
659 ///It is INVALID if \c v is unreachable from the root(s) or |
659 ///It is INVALID if \c v is unreachable from the root(s) or |
660 ///if \c v itself a root. |
660 ///if \c v itself a root. |
661 ///The shortest path tree used here is equal to the shortest path |
661 ///The shortest path tree used here is equal to the shortest path |
662 ///tree used in \ref pred(). |
662 ///tree used in \ref predEdge(). |
663 ///\pre Either \ref run() or \ref start() must be called before |
663 ///\pre Either \ref run() or \ref start() must be called before |
664 ///using this function. |
664 ///using this function. |
665 Node predNode(Node v) const { return (*_pred)[v]==INVALID ? INVALID: |
665 Node predNode(Node v) const { return (*_pred)[v]==INVALID ? INVALID: |
666 G->source((*_pred)[v]); } |
666 G->source((*_pred)[v]); } |
667 |
667 |