COIN-OR::LEMON - Graph Library

Ignore:
Timestamp:
11/19/04 18:22:29 (19 years ago)
Author:
marci
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1399
Message:

RoadMap? to STGraphWrapper

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/marci/merge_node_graph_wrapper_test.cc

    r1008 r1009  
    11#include <iostream>
     2#include <fstream>
    23
    34#include <lemon/list_graph.h>
    45#include <lemon/smart_graph.h>
     6#include <lemon/dimacs.h>
    57#include <merge_node_graph_wrapper.h>
    68
     
    2426  typedef ListGraph Graph2;
    2527 
    26 //   {
    27 //     checkConcept<StaticGraph, NewEdgeSetGraphWrapper<Graph1, Graph2> >();
    28 //   }
    2928  {
     29    checkConcept<StaticGraph, NewEdgeSetGraphWrapper<Graph1, Graph2> >();
     30  }
     31  {
     32    checkConcept<StaticGraph, MergeEdgeGraphWrapper<Graph1, Graph2> >();
     33  }
     34 
    3035  Graph1 g;
    3136  Graph2 h;
    32   typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
     37  typedef MergeEdgeGraphWrapper<Graph1, Graph2> GW;
    3338  GW gw(g, h);
    34   Graph1::Node n1=g.addNode();
    35   Graph1::Node n2=g.addNode();
    36   Graph1::Node n3=g.addNode();
    37   Graph2::Node n4=h.addNode();
    38   Graph2::Node n5=h.addNode();
     39
     40  std::ifstream f1("graph1.dim");
     41  std::ifstream f2("graph2.dim");
     42  readDimacs(f1, g);
     43  readDimacs(f2, h);
     44  {
     45
     46//   Graph1::Node n1=g.addNode();
     47//   Graph1::Node n2=g.addNode();
     48//   Graph1::Node n3=g.addNode();
     49//   Graph2::Node n4=h.addNode();
     50//   Graph2::Node n5=h.addNode();
     51//   Graph2::Node n6=h.addNode();
     52//   Graph1::Edge e1=g.addEdge(n1, n2);
     53//   Graph1::Edge e2=g.addEdge(n1, n3);
     54//   Graph2::Edge e3=h.addEdge(n4, n5);
     55//   Graph2::Edge e4=h.addEdge(n4, n5);
    3956  //GW::NodeIt n(gw)
     57  cout << "1st graph" << endl;
     58  cout << " nodes:" << endl;
     59  for (Graph1::NodeIt n(g); n!=INVALID; ++n) {
     60    cout << "  " << g.id(n) << endl;
     61  }
     62  cout << " edges:" << endl;
     63  for (Graph1::EdgeIt n(g); n!=INVALID; ++n) {
     64    cout << "  " << g.id(n) << ": "
     65         << g.id(g.source(n)) << "->" << g.id(g.target(n)) << endl;
     66  }
     67  cout << "2nd graph" << endl;
     68  cout << " nodes:" << endl;
     69  for (Graph2::NodeIt n(h); n!=INVALID; ++n) {
     70    cout << "  " << h.id(n) << endl;
     71  }
     72  cout << " edges:" << endl;
     73  for (Graph2::EdgeIt n(h); n!=INVALID; ++n) {
     74    cout << "  " << h.id(n) << ": "
     75         << h.id(h.source(n)) << "->" << h.id(h.target(n)) << endl;
     76  }
     77  cout << "merged graph" << endl;
     78  cout << " nodes:" << endl;
    4079  for (GW::NodeIt n(gw); n!=INVALID; ++n) {
    41     cout << gw.id(n) << endl;
     80    cout << "  "<< gw.id(n) << endl;
     81  }
     82  cout << " edges:" << endl;
     83  for (GW::EdgeIt n(gw); n!=INVALID; ++n) {
     84    cout << "  " << gw.id(n) << ": "
     85         << gw.id(gw.source(n)) << "->" << gw.id(gw.target(n)) << endl;
    4286  }
    4387
     
    4993  }
    5094  for (Graph1::NodeIt n(g); n!=INVALID; ++n) {
    51     cout << nm[n] << endl;
     95    cout << nm[GW::Node(n,INVALID,false)] << endl;
    5296  }
    5397  for (Graph2::NodeIt n(h); n!=INVALID; ++n) {
    54     cout << nm[n] << endl;
     98    cout << nm[GW::Node(INVALID,n,true)] << endl;
    5599  }
    56100
    57   gw.print();
     101  gw.printNode();
    58102
    59103  {
     
    65109    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
    66110    GW gw(g, h);   
    67     gw.print();
     111    gw.printNode();
    68112  }
    69113  {
     
    75119    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
    76120    GW gw(g, h);   
    77     gw.print();
     121    gw.printNode();
    78122  }
    79123  {
     
    85129    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
    86130    GW gw(g, h);   
    87     gw.print();
     131    gw.printNode();
    88132  }
    89133  }
Note: See TracChangeset for help on using the changeset viewer.