src/hugo/tight_edge_filter_map.h
changeset 910 5a89cacf17f1
parent 906 17f31d280385
equal deleted inserted replaced
1:8666fb49e07b 2:6c46f54e4a9d
    14  *
    14  *
    15  */
    15  */
    16 
    16 
    17 #ifndef HUGO_TIGHT_EDGE_FILTER_MAP_H
    17 #ifndef HUGO_TIGHT_EDGE_FILTER_MAP_H
    18 #define HUGO_TIGHT_EDGE_FILTER_MAP_H
    18 #define HUGO_TIGHT_EDGE_FILTER_MAP_H
       
    19 
       
    20 #include <hugo/maps.h>
    19 
    21 
    20 // /// \file
    22 // /// \file
    21 // /// \brief Maximum flow algorithms.
    23 // /// \brief Maximum flow algorithms.
    22 // /// \ingroup galgs
    24 // /// \ingroup galgs
    23 
    25 
    36   /// and the map returns true exactly for those edges.
    38   /// and the map returns true exactly for those edges.
    37   /// To avoid rounding errors, it is recommended to use this class with exact 
    39   /// To avoid rounding errors, it is recommended to use this class with exact 
    38   /// types, e.g. with int.
    40   /// types, e.g. with int.
    39   template<typename Graph, 
    41   template<typename Graph, 
    40 	   typename NodePotentialMap, typename EdgeDistanceMap>
    42 	   typename NodePotentialMap, typename EdgeDistanceMap>
    41   class TightEdgeFilterMap {
    43   class TightEdgeFilterMap : public MapBase<typename Graph::Edge, bool> {
    42   protected:
    44   protected:
    43     const Graph* g;
    45     const Graph* g;
    44     NodePotentialMap* node_potential;
    46     NodePotentialMap* node_potential;
    45     EdgeDistanceMap* edge_distance;
    47     EdgeDistanceMap* edge_distance;
    46   public:
    48   public: