equal
deleted
inserted
replaced
27 #include <lemon/bits/path_dump.h> |
27 #include <lemon/bits/path_dump.h> |
28 #include <lemon/core.h> |
28 #include <lemon/core.h> |
29 #include <lemon/error.h> |
29 #include <lemon/error.h> |
30 #include <lemon/maps.h> |
30 #include <lemon/maps.h> |
31 #include <lemon/path.h> |
31 #include <lemon/path.h> |
|
32 #include <lemon/bits/stl_iterators.h> |
32 |
33 |
33 #include <limits> |
34 #include <limits> |
34 |
35 |
35 namespace lemon { |
36 namespace lemon { |
36 |
37 |
687 |
688 |
688 private: |
689 private: |
689 const BellmanFord* _algorithm; |
690 const BellmanFord* _algorithm; |
690 int _index; |
691 int _index; |
691 }; |
692 }; |
|
693 |
|
694 /// \brief Gets the collection of the active nodes. |
|
695 /// |
|
696 /// This function can be used for iterating on the active nodes of the |
|
697 /// Bellman-Ford algorithm after the last phase. |
|
698 /// These nodes should be checked in the next phase to |
|
699 /// find augmenting arcs outgoing from them. |
|
700 /// It returns a wrapped ActiveIt, which looks |
|
701 /// like an STL container (by having begin() and end()) |
|
702 /// which you can use in range-based for loops, STL algorithms, etc. |
|
703 LemonRangeWrapper1<ActiveIt, BellmanFord> |
|
704 activeNodes(const BellmanFord& algorithm) const { |
|
705 return LemonRangeWrapper1<ActiveIt, BellmanFord>(algorithm); |
|
706 } |
|
707 |
692 |
708 |
693 /// \name Query Functions |
709 /// \name Query Functions |
694 /// The result of the Bellman-Ford algorithm can be obtained using these |
710 /// The result of the Bellman-Ford algorithm can be obtained using these |
695 /// functions.\n |
711 /// functions.\n |
696 /// Either \ref run() or \ref init() should be called before using them. |
712 /// Either \ref run() or \ref init() should be called before using them. |