COIN-OR::LEMON - Graph Library

Ignore:
Timestamp:
09/17/04 17:51:50 (17 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1188
Message:
  • Name changing: XYZGraphSkeleton -> XYZGraph
  • Fix some bad \ref's in the doc.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/marci/experiment/graph_wrapper.h

    r281 r880  
    162162
    163163  template<typename GraphWrapper>
    164   class GraphWrapperSkeleton {
     164  class GraphWrapper {
    165165  protected:
    166166    GraphWrapper gw;
     
    185185        GraphWrapper::NodeIt(n) { }
    186186      NodeIt(const Invalid& i) : GraphWrapper::NodeIt(i) { }
    187       NodeIt(const GraphWrapperSkeleton<GraphWrapper>& _G) :
     187      NodeIt(const GraphWrapper<GraphWrapper>& _G) :
    188188        GraphWrapper::NodeIt(_G.gw) { }
    189189    };
     
    196196        GraphWrapper::OutEdgeIt(e) { }
    197197      OutEdgeIt(const Invalid& i) : GraphWrapper::OutEdgeIt(i) { }
    198       OutEdgeIt(const GraphWrapperSkeleton<GraphWrapper>& _G, const Node& n) :
     198      OutEdgeIt(const GraphWrapper<GraphWrapper>& _G, const Node& n) :
    199199        GraphWrapper::OutEdgeIt(_G.gw, n) { }
    200200    };
     
    206206        GraphWrapper::InEdgeIt(e) { }
    207207      InEdgeIt(const Invalid& i) : GraphWrapper::InEdgeIt(i) { }
    208       InEdgeIt(const GraphWrapperSkeleton<GraphWrapper>& _G, const Node& n) :
     208      InEdgeIt(const GraphWrapper<GraphWrapper>& _G, const Node& n) :
    209209        GraphWrapper::InEdgeIt(_G.gw, n) { }
    210210    };
     
    217217        GraphWrapper::EdgeIt(e) { }
    218218      EdgeIt(const Invalid& i) : GraphWrapper::EdgeIt(i) { }
    219       EdgeIt(const GraphWrapperSkeleton<GraphWrapper>& _G) :
     219      EdgeIt(const GraphWrapper<GraphWrapper>& _G) :
    220220        GraphWrapper::EdgeIt(_G.gw) { }
    221221    };
    222222
    223223
    224     //GraphWrapperSkeleton() : gw() { }
    225     GraphWrapperSkeleton(GraphWrapper _gw) : gw(_gw) { }
     224    //GraphWrapper() : gw() { }
     225    GraphWrapper(GraphWrapper _gw) : gw(_gw) { }
    226226
    227227    //void setGraph(BaseGraph& _graph) { gw.setGraph(_graph); }
     
    270270    template<typename T> class NodeMap : public GraphWrapper::NodeMap<T> {
    271271    public:
    272       NodeMap(const GraphWrapperSkeleton<GraphWrapper>& _G) : 
     272      NodeMap(const GraphWrapper<GraphWrapper>& _G) : 
    273273        GraphWrapper::NodeMap<T>(_G.gw) { }
    274       NodeMap(const GraphWrapperSkeleton<GraphWrapper>& _G, T a) :
     274      NodeMap(const GraphWrapper<GraphWrapper>& _G, T a) :
    275275        GraphWrapper::NodeMap<T>(_G.gw, a) { }
    276276    };
     
    278278    template<typename T> class EdgeMap : public GraphWrapper::EdgeMap<T> {
    279279    public:
    280       EdgeMap(const GraphWrapperSkeleton<GraphWrapper>& _G) : 
     280      EdgeMap(const GraphWrapper<GraphWrapper>& _G) : 
    281281        GraphWrapper::EdgeMap<T>(_G.gw) { }
    282       EdgeMap(const GraphWrapperSkeleton<GraphWrapper>& _G, T a) :
     282      EdgeMap(const GraphWrapper<GraphWrapper>& _G, T a) :
    283283        GraphWrapper::EdgeMap<T>(_G.gw, a) { }
    284284    };
     
    366366
    367367//   template<typename /*Graph*/GraphWrapper
    368 //   /*=typename GraphWrapperSkeleton< TrivGraphWrapper<Graph>*/ >
     368//   /*=typename GraphWrapper< TrivGraphWrapper<Graph>*/ >
    369369//   class RevGraphWrapper :
    370 //     public GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/ {
     370//     public GraphWrapper/*GraphWrapper< TrivGraphWrapper<Graph> >*/ {
    371371//   protected:
    372372//     //Graph* graph;
     
    379379 
    380380//     //typedef typename Graph::Edge Edge;
    381 //     typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::OutEdgeIt InEdgeIt;
    382 //     typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::InEdgeIt OutEdgeIt;
     381//     typedef typename GraphWrapper/*typename GraphWrapper< TrivGraphWrapper<Graph> >*/::OutEdgeIt InEdgeIt;
     382//     typedef typename GraphWrapper/*typename GraphWrapper< TrivGraphWrapper<Graph> >*/::InEdgeIt OutEdgeIt;
    383383//     //typedef typename Graph::SymEdgeIt SymEdgeIt;
    384384//     //typedef typename Graph::EdgeIt EdgeIt;
    385385
    386386//     //RevGraphWrapper() : graph(0) { }
    387 //     RevGraphWrapper(GraphWrapper _gw/*BaseGraph& _graph*/) : GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/(_gw/*TrivGraphWrapper<Graph>(_graph)*/) { }
     387//     RevGraphWrapper(GraphWrapper _gw/*BaseGraph& _graph*/) : GraphWrapper/*GraphWrapper< TrivGraphWrapper<Graph> >*/(_gw/*TrivGraphWrapper<Graph>(_graph)*/) { }
    388388   
    389389//     //void setGraph(Graph& _graph) { graph = &_graph; }
     
    430430
    431431//     template<typename T> class NodeMap :
    432 //       public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>
     432//       public GraphWrapper/*< TrivGraphWrapper<Graph> >*/::NodeMap<T>
    433433//     {
    434434//     public:
    435435//       NodeMap(const RevGraphWrapper<GraphWrapper>& _gw) :
    436 //      GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw) { }
     436//      GraphWrapper/*< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw) { }
    437437//       NodeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) :
    438 //      GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw, a) { }
     438//      GraphWrapper/*< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw, a) { }
    439439//     };
    440440   
    441441//     template<typename T> class EdgeMap :
    442 //       public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T> {
     442//       public GraphWrapper/*< TrivGraphWrapper<Graph> >*/::EdgeMap<T> {
    443443//     public:
    444444//       EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw) :
    445 //      GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw) { }
     445//      GraphWrapper/*< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw) { }
    446446//       EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) :
    447 //      GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw, a) { }
     447//      GraphWrapper/*< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw, a) { }
    448448//     };
    449449//   };
    450450
    451451  template<typename GraphWrapper>
    452   class RevGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
     452  class RevGraphWrapper : public GraphWrapper<GraphWrapper> {
    453453  public:
    454     typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    455     typedef typename GraphWrapperSkeleton<GraphWrapper>::Edge Edge;
     454    typedef typename GraphWrapper<GraphWrapper>::Node Node;
     455    typedef typename GraphWrapper<GraphWrapper>::Edge Edge;
    456456    //FIXME
    457457    //If GraphWrapper::OutEdgeIt is not defined
     
    462462    //Unfortunately all the typedefs are instantiated in templates,
    463463    //unlike other stuff
    464     typedef typename GraphWrapperSkeleton<GraphWrapper>::OutEdgeIt InEdgeIt;
    465     typedef typename GraphWrapperSkeleton<GraphWrapper>::InEdgeIt OutEdgeIt;
     464    typedef typename GraphWrapper<GraphWrapper>::OutEdgeIt InEdgeIt;
     465    typedef typename GraphWrapper<GraphWrapper>::InEdgeIt OutEdgeIt;
    466466
    467467    RevGraphWrapper(GraphWrapper _gw) :
    468       GraphWrapperSkeleton<GraphWrapper>(_gw) { } 
     468      GraphWrapper<GraphWrapper>(_gw) { } 
    469469
    470470    Node head(const Edge& e) const
    471       { return GraphWrapperSkeleton<GraphWrapper>::tail(e); }
     471      { return GraphWrapper<GraphWrapper>::tail(e); }
    472472    Node tail(const Edge& e) const
    473       { return GraphWrapperSkeleton<GraphWrapper>::head(e); }
     473      { return GraphWrapper<GraphWrapper>::head(e); }
    474474  };
    475475
    476476  //Subgraph on the same node-set and partial edge-set
    477477  template<typename GraphWrapper, typename EdgeFilterMap>
    478   class SubGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
     478  class SubGraphWrapper : public GraphWrapper<GraphWrapper> {
    479479  protected:
    480480    EdgeFilterMap* filter_map;
    481481  public:
    482     typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    483     typedef typename GraphWrapperSkeleton<GraphWrapper>::NodeIt NodeIt;
    484     typedef typename GraphWrapperSkeleton<GraphWrapper>::Edge Edge;
    485     typedef typename GraphWrapperSkeleton<GraphWrapper>::EdgeIt EdgeIt;
    486     typedef typename GraphWrapperSkeleton<GraphWrapper>::InEdgeIt InEdgeIt;
    487     typedef typename GraphWrapperSkeleton<GraphWrapper>::OutEdgeIt OutEdgeIt;
     482    typedef typename GraphWrapper<GraphWrapper>::Node Node;
     483    typedef typename GraphWrapper<GraphWrapper>::NodeIt NodeIt;
     484    typedef typename GraphWrapper<GraphWrapper>::Edge Edge;
     485    typedef typename GraphWrapper<GraphWrapper>::EdgeIt EdgeIt;
     486    typedef typename GraphWrapper<GraphWrapper>::InEdgeIt InEdgeIt;
     487    typedef typename GraphWrapper<GraphWrapper>::OutEdgeIt OutEdgeIt;
    488488
    489489    SubGraphWrapper(GraphWrapper _gw, EdgeFilterMap& _filter_map) :
    490       GraphWrapperSkeleton<GraphWrapper>(_gw), filter_map(&_filter_map) { } 
     490      GraphWrapper<GraphWrapper>(_gw), filter_map(&_filter_map) { } 
    491491
    492492    template<typename I> I& first(I& i) const {
     
    678678
    679679  template<typename GraphWrapper>
    680   class UndirGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
     680  class UndirGraphWrapper : public GraphWrapper<GraphWrapper> {
    681681  protected:
    682682//    GraphWrapper gw;
     
    685685    //typedef GraphWrapper BaseGraph;
    686686
    687     typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    688     typedef typename GraphWrapperSkeleton<GraphWrapper>::NodeIt NodeIt;
     687    typedef typename GraphWrapper<GraphWrapper>::Node Node;
     688    typedef typename GraphWrapper<GraphWrapper>::NodeIt NodeIt;
    689689
    690690    //private:
    691691    //FIXME ezeknek valojaban a GraphWrapper megfelelo dolgai kellene hogy
    692692    //legyenek, at kell irni
    693     typedef typename /*GraphWrapperSkeleton<GraphWrapper>*/
     693    typedef typename /*GraphWrapper<GraphWrapper>*/
    694694    GraphWrapper::Edge GraphEdge;
    695     typedef typename /*GraphWrapperSkeleton<GraphWrapper>*/
     695    typedef typename /*GraphWrapper<GraphWrapper>*/
    696696    GraphWrapper::OutEdgeIt GraphOutEdgeIt;
    697     typedef typename /*GraphWrapperSkeleton<GraphWrapper>*/
     697    typedef typename /*GraphWrapper<GraphWrapper>*/
    698698    GraphWrapper::InEdgeIt GraphInEdgeIt;
    699699    //public:
     
    701701    //UndirGraphWrapper() : graph(0) { }
    702702    UndirGraphWrapper(GraphWrapper _gw) :
    703       GraphWrapperSkeleton<GraphWrapper>(_gw) { } 
     703      GraphWrapper<GraphWrapper>(_gw) { } 
    704704
    705705    //UndirGraphWrapper(GraphWrapper _gw) : gw(_gw) { }
     
    865865
    866866//     template<typename T> class EdgeMap :
    867 //       public GraphWrapperSkeleton<GraphWrapper>::EdgeMap<T> {
     867//       public GraphWrapper<GraphWrapper>::EdgeMap<T> {
    868868//     public:
    869869//       EdgeMap(const UndirGraphWrapper<GraphWrapper>& _G) :
    870 //      GraphWrapperSkeleton<GraphWrapper>::EdgeMap<T>(_G.gw) { }
     870//      GraphWrapper<GraphWrapper>::EdgeMap<T>(_G.gw) { }
    871871//       EdgeMap(const UndirGraphWrapper<GraphWrapper>& _G, T a) :
    872872//      GraphWrapper::EdgeMap<T>(_G.gw, a) { }
     
    948948
    949949  template<typename GraphWrapper, typename Number, typename FlowMap, typename CapacityMap>
    950   class ResGraphWrapper : public GraphWrapperSkeleton<GraphWrapper>{
     950  class ResGraphWrapper : public GraphWrapper<GraphWrapper>{
    951951  public:
    952952    //typedef Graph BaseGraph;
    953953    //typedef TrivGraphWrapper<const Graph> GraphWrapper;
    954     typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    955     typedef typename GraphWrapperSkeleton<GraphWrapper>::NodeIt NodeIt;
     954    typedef typename GraphWrapper<GraphWrapper>::Node Node;
     955    typedef typename GraphWrapper<GraphWrapper>::NodeIt NodeIt;
    956956  private:
    957     typedef typename /*GraphWrapperSkeleton<GraphWrapper>*/
     957    typedef typename /*GraphWrapper<GraphWrapper>*/
    958958    GraphWrapper::OutEdgeIt OldOutEdgeIt;
    959     typedef typename /*GraphWrapperSkeleton<GraphWrapper>*/
     959    typedef typename /*GraphWrapper<GraphWrapper>*/
    960960    GraphWrapper::InEdgeIt OldInEdgeIt;
    961961  protected:
     
    968968    ResGraphWrapper(const GraphWrapper& _gw, FlowMap& _flow,
    969969                    const CapacityMap& _capacity) :
    970       GraphWrapperSkeleton<GraphWrapper>(_gw),
     970      GraphWrapper<GraphWrapper>(_gw),
    971971      flow(&_flow), capacity(&_capacity) { }
    972972
     
    12651265  //Subgraph on the same node-set and partial edge-set
    12661266  template<typename GraphWrapper, typename FirstOutEdgesMap>
    1267   class ErasingFirstGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
     1267  class ErasingFirstGraphWrapper : public GraphWrapper<GraphWrapper> {
    12681268  protected:
    12691269    FirstOutEdgesMap* first_out_edges;
    12701270  public:
    1271     typedef typename GraphWrapperSkeleton<GraphWrapper>::Node Node;
    1272     typedef typename GraphWrapperSkeleton<GraphWrapper>::NodeIt NodeIt;
    1273     typedef typename GraphWrapperSkeleton<GraphWrapper>::Edge Edge;
    1274     typedef typename GraphWrapperSkeleton<GraphWrapper>::EdgeIt EdgeIt;
    1275     typedef typename GraphWrapperSkeleton<GraphWrapper>::InEdgeIt InEdgeIt;
    1276     typedef typename GraphWrapperSkeleton<GraphWrapper>::OutEdgeIt OutEdgeIt;
     1271    typedef typename GraphWrapper<GraphWrapper>::Node Node;
     1272    typedef typename GraphWrapper<GraphWrapper>::NodeIt NodeIt;
     1273    typedef typename GraphWrapper<GraphWrapper>::Edge Edge;
     1274    typedef typename GraphWrapper<GraphWrapper>::EdgeIt EdgeIt;
     1275    typedef typename GraphWrapper<GraphWrapper>::InEdgeIt InEdgeIt;
     1276    typedef typename GraphWrapper<GraphWrapper>::OutEdgeIt OutEdgeIt;
    12771277
    12781278    ErasingFirstGraphWrapper(GraphWrapper _gw, FirstOutEdgesMap& _first_out_edges) :
    1279       GraphWrapperSkeleton<GraphWrapper>(_gw), first_out_edges(&_first_out_edges) { } 
     1279      GraphWrapper<GraphWrapper>(_gw), first_out_edges(&_first_out_edges) { } 
    12801280
    12811281    template<typename I> I& first(I& i) const {
Note: See TracChangeset for help on using the changeset viewer.