equal
deleted
inserted
replaced
720 /// Before the use of these functions, |
720 /// Before the use of these functions, |
721 /// either run() or start() must be called. |
721 /// either run() or start() must be called. |
722 |
722 |
723 ///@{ |
723 ///@{ |
724 |
724 |
725 /// \brief Copies the shortest path to \c t into \c p |
725 typedef PredMapPath<Graph, PredMap> Path; |
726 /// |
726 |
727 /// This function copies the shortest path to \c t into \c p. |
727 ///Gives back the shortest path. |
728 /// If it \c t is a source itself or unreachable, then it does not |
728 |
729 /// alter \c p. |
729 ///Gives back the shortest path. |
730 /// |
730 ///\pre The \c t should be reachable from the source. |
731 /// \return Returns \c true if a path to \c t was actually copied to \c p, |
731 Path path(Node t) |
732 /// \c false otherwise. |
732 { |
733 /// \sa DirPath |
733 return Path(*graph, *_pred, t); |
734 template <typename Path> |
|
735 bool getPath(Path &p, Node t) { |
|
736 if(reached(t)) { |
|
737 p.clear(); |
|
738 typename Path::Builder b(p); |
|
739 for(b.setStartNode(t);predEdge(t)!=INVALID;t=predNode(t)) |
|
740 b.pushFront(predEdge(t)); |
|
741 b.commit(); |
|
742 return true; |
|
743 } |
|
744 return false; |
|
745 } |
734 } |
746 |
735 |
747 /// \brief The distance of a node from the root. |
736 /// \brief The distance of a node from the root. |
748 /// |
737 /// |
749 /// Returns the distance of a node from the root. |
738 /// Returns the distance of a node from the root. |