COIN-OR::LEMON - Graph Library

source: lemon-0.x/src/work/marci/merge_node_graph_wrapper_test.cc @ 1007:a7d5fe18d8f9

Last change on this file since 1007:a7d5fe18d8f9 was 1007:a7d5fe18d8f9, checked in by marci, 16 years ago

MergeNodeGraphWrapper?

File size: 1.6 KB
Line 
1#include <iostream>
2
3#include <lemon/list_graph.h>
4#include <lemon/smart_graph.h>
5#include <merge_node_graph_wrapper.h>
6
7using std::cout;
8using std::endl;
9
10using namespace lemon;
11
12class Graph3 : ListGraph {
13public:
14  class Node : public ListGraph::Node { };
15  class Edge { };
16};
17
18int main() {
19  typedef SmartGraph Graph1;
20  typedef ListGraph Graph2;
21  Graph1 g;
22  Graph2 h;
23  typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
24  GW gw(g, h);
25  Graph1::Node n1=g.addNode();
26  Graph1::Node n2=g.addNode();
27  Graph1::Node n3=g.addNode();
28  Graph2::Node n4=h.addNode();
29  Graph2::Node n5=h.addNode();
30  //GW::NodeIt n(gw)
31  for (GW::NodeIt n(gw); n!=INVALID; ++n) {
32    cout << gw.id(n) << endl;
33  }
34
35  GW::NodeMap<int> nm(gw);
36  int i=0;
37  for (GW::NodeIt n(gw); n!=INVALID; ++n) {
38    ++i;
39    nm.set(n, i);
40  }
41  for (Graph1::NodeIt n(g); n!=INVALID; ++n) {
42    cout << nm[n] << endl;
43  }
44  for (Graph2::NodeIt n(h); n!=INVALID; ++n) {
45    cout << nm[n] << endl;
46  }
47
48  gw.print();
49
50  {
51//    typedef SmartGraph Graph1;
52    typedef ListGraph Graph1;
53    typedef ListGraph Graph2;
54    Graph1 g;
55    Graph2 h;
56    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
57    GW gw(g, h);   
58    gw.print();
59  }
60  {
61//    typedef SmartGraph Graph1;
62    typedef Graph3 Graph1;
63    typedef ListGraph Graph2;
64    Graph1 g;
65    Graph2 h;
66    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
67    GW gw(g, h);   
68    gw.print();
69  }
70  {
71//    typedef SmartGraph Graph1;
72    typedef ListGraph Graph1;
73    typedef Graph3 Graph2;
74    Graph1 g;
75    Graph2 h;
76    typedef MergeNodeGraphWrapper<Graph1, Graph2> GW;
77    GW gw(g, h);   
78    gw.print();
79  }
80}
Note: See TracBrowser for help on using the repository browser.