src/lemon/graph_wrapper.h
changeset 1160 d9c32f713cad
parent 1135 cfccb33ecf7b
child 1164 80bb73097736
equal deleted inserted replaced
15:8f6e5d32bfd3 16:2f433cde84d9
  1035     }
  1035     }
  1036     //    KEEP_MAPS(Parent, BidirGraphWrapper);
  1036     //    KEEP_MAPS(Parent, BidirGraphWrapper);
  1037   };
  1037   };
  1038 
  1038 
  1039 
  1039 
  1040   /// \brief A bidirected graph template.
       
  1041   ///
       
  1042   ///\warning Graph wrappers are in even more experimental state than the other
       
  1043   ///parts of the lib. Use them at you own risk.
       
  1044   ///
       
  1045   /// A bidirected graph template.
       
  1046   /// Such a bidirected graph stores each pair of oppositely directed edges 
       
  1047   /// ones in the memory, i.e. a directed graph of type 
       
  1048   /// \c Graph is used for that.
       
  1049   /// As the oppositely directed edges are logically different ones 
       
  1050   /// the maps are able to attach different values for them.
       
  1051   /// \ingroup graphs
       
  1052   template<typename Graph>
       
  1053   class BidirGraph : public BidirGraphWrapper<Graph> {
       
  1054   public:
       
  1055     typedef UndirGraphWrapper<Graph> Parent;
       
  1056   protected:
       
  1057     Graph gr;
       
  1058   public:
       
  1059     BidirGraph() : BidirGraphWrapper<Graph>() { 
       
  1060       Parent::setGraph(gr); 
       
  1061     }
       
  1062     //    KEEP_MAPS(Parent, BidirGraph);
       
  1063   };
       
  1064 
       
  1065 
       
  1066 
       
  1067   template<typename Graph, typename Number,
  1040   template<typename Graph, typename Number,
  1068 	   typename CapacityMap, typename FlowMap>
  1041 	   typename CapacityMap, typename FlowMap>
  1069   class ResForwardFilter {
  1042   class ResForwardFilter {
  1070     //    const Graph* graph;
  1043     //    const Graph* graph;
  1071     const CapacityMap* capacity;
  1044     const CapacityMap* capacity;