COIN-OR::LEMON - Graph Library

Changeset 932:ade3cdb9b45d in lemon-0.x


Ignore:
Timestamp:
10/01/04 12:08:43 (19 years ago)
Author:
marci
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1255
Message:

New EdgeSubGraphWrapper? class specializing SubGraphWrapper? in the way that only the edge-set can be filtered.

Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/demo/sub_graph_wrapper_demo.cc

    r931 r932  
    5656  TightEdgeFilter tight_edge_filter(g, dijkstra.distMap(), length);
    5757
    58   ConstMap<Node, bool> const_true_map(true);
     58//  ConstMap<Node, bool> const_true_map(true);
    5959  // This graph contains exaclty the tight edges.
    60   typedef SubGraphWrapper<Graph, ConstMap<Node, bool>, TightEdgeFilter> SubGW;
    61   SubGW gw(g, const_true_map, tight_edge_filter);
     60// typedef SubGraphWrapper<Graph, ConstMap<Node, bool>, TightEdgeFilter> SubGW;
     61  typedef EdgeSubGraphWrapper<Graph, TightEdgeFilter> SubGW;
     62  SubGW gw(g, tight_edge_filter);
    6263
    6364  ConstMap<Edge, int> const_1_map(1);
  • src/lemon/graph_wrapper.h

    r930 r932  
    431431  TightEdgeFilter tight_edge_filter(g, dijkstra.distMap(), length);
    432432 
    433   ConstMap<Node, bool> const_true_map(true);
    434   typedef SubGraphWrapper<Graph, ConstMap<Node, bool>, TightEdgeFilter> SubGW;
    435   SubGW gw(g, const_true_map, tight_edge_filter);
     433  typedef EdgeSubGraphWrapper<Graph, TightEdgeFilter> SubGW;
     434  SubGW gw(g, tight_edge_filter);
    436435  \endcode
    437436  Then, the maximum nimber of edge-disjoint \c s-\c t paths are computed
     
    672671
    673672
     673  /*! \brief A wrapper for hiding edges from a graph.
     674
     675  \warning Graph wrappers are in even more experimental state than the other
     676  parts of the lib. Use them at you own risk.
     677 
     678  A wrapper for hiding edges from a graph.
     679  This wrapper specializes SubGraphWrapper in the way that only the edge-set
     680  can be filtered.
     681  \author Marton Makai
     682  */
     683  template<typename Graph, typename EdgeFilterMap>
     684  class EdgeSubGraphWrapper :
     685    public SubGraphWrapper<Graph, ConstMap<typename Graph::Node,bool>,
     686                           EdgeFilterMap> {
     687  public:
     688    typedef SubGraphWrapper<Graph, ConstMap<typename Graph::Node,bool>,
     689                            EdgeFilterMap> Parent;
     690  protected:
     691    ConstMap<typename Graph::Node, bool> const_true_map;
     692  public:
     693    EdgeSubGraphWrapper(Graph& _graph, EdgeFilterMap& _edge_filter_map) :
     694      Parent(), const_true_map(true) {
     695      Parent::setGraph(_graph);
     696      Parent::setNodeFilterMap(const_true_map);
     697      Parent::setEdgeFilterMap(_edge_filter_map);
     698    }
     699  };
     700
    674701
    675702  template<typename Graph>
Note: See TracChangeset for help on using the changeset viewer.