equal
deleted
inserted
replaced
661 /// |
661 /// |
662 ///\pre init() must be called and at least one node should be added |
662 ///\pre init() must be called and at least one node should be added |
663 ///with addSource() before using this function. |
663 ///with addSource() before using this function. |
664 /// |
664 /// |
665 ///\param nm must be a bool (or convertible) node map. The algorithm |
665 ///\param nm must be a bool (or convertible) node map. The algorithm |
666 ///will stop when it reaches a node \c v with <tt>nm[v]==true</tt>. |
666 ///will stop when it reaches a node \c v with <tt>nm[v]</tt> true. |
667 /// |
667 /// |
668 ///\return The reached node \c v with <tt>nm[v]==true<\tt> or |
668 ///\return The reached node \c v with <tt>nm[v]<\tt> true or |
669 ///\c INVALID if no such node was found. |
669 ///\c INVALID if no such node was found. |
670 template<class NodeBoolMap> |
670 template<class NodeBoolMap> |
671 Node start(const NodeBoolMap &nm) |
671 Node start(const NodeBoolMap &nm) |
672 { |
672 { |
673 while ( !_heap->empty() && !nm[_heap->top()] ) processNextNode(); |
673 while ( !_heap->empty() && !nm[_heap->top()] ) processNextNode(); |