lemon/bellman_ford.h
changeset 1336 0759d974de81
parent 1270 dceba191c00d
child 1337 4add05447ca0
equal deleted inserted replaced
14:8e7025756c4b 15:e440ce3d7e5b
    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.