1 #include<smart_graph.h> |
1 #include<smart_graph.h> |
|
2 #include<emptygraph.h> |
2 |
3 |
3 #include <iostream> |
4 #include <iostream> |
|
5 #include <vector> |
4 |
6 |
5 using namespace hugo; |
7 using namespace hugo; |
6 |
8 |
7 SmartGraph::OutEdgeIt safeFirstOut(const SmartGraph &G, SmartGraph::NodeIt n) |
9 //typedef SmartGraph Graph; |
|
10 typedef EmptyGraph Graph; |
|
11 |
|
12 |
|
13 Graph::OutEdgeIt safeFirstOut(const Graph &G, Graph::Node n) |
8 { |
14 { |
9 return G.valid(n) ? SmartGraph::OutEdgeIt(G,n):Invalid; |
15 return G.valid(n) ? Graph::OutEdgeIt(G,n):INVALID; |
10 } |
16 } |
11 |
17 |
12 int main() |
18 int main() |
13 { |
19 { |
14 |
20 |
15 typedef SmartGraph::EdgeIt EdgeIt; |
21 typedef Graph::Edge Edge; |
16 typedef SmartGraph::InEdgeIt InEdgeIt; |
22 typedef Graph::InEdgeIt InEdgeIt; |
17 typedef SmartGraph::OutEdgeIt OutEdgeIt; |
23 typedef Graph::OutEdgeIt OutEdgeIt; |
18 typedef SmartGraph::EachEdgeIt EachEdgeIt; |
24 typedef Graph::EdgeIt EdgeIt; |
19 typedef SmartGraph::NodeIt NodeIt; |
25 typedef Graph::Node Node; |
20 typedef SmartGraph::EachNodeIt EachNodeIt; |
26 typedef Graph::NodeIt NodeIt; |
21 |
27 |
22 SmartGraph G; |
28 Graph G; |
23 EachNodeIt n; |
29 NodeIt n; |
24 |
30 |
25 |
31 |
26 // std::cout.form("%s: %d\n","Sztring",15); |
|
27 |
|
28 for(int i=0;i<10;i++) G.addNode(); |
32 for(int i=0;i<10;i++) G.addNode(); |
29 for(G.getFirst(n);G.valid(n);G.next(n)) |
33 for(G.first(n);G.valid(n);G.next(n)) |
30 for(EachNodeIt m(G);m!=Invalid;G.next(m)) |
34 for(NodeIt m(G);m!=INVALID;G.next(m)) |
31 if(n!=m) G.addEdge(n,m); |
35 if(n!=m) G.addEdge(n,m); |
32 |
36 |
33 OutEdgeIt e = safeFirstOut(G,n); |
37 OutEdgeIt e = safeFirstOut(G,n); |
34 OutEdgeIt f = safeFirstOut(G,EachNodeIt(G)); |
38 OutEdgeIt f = safeFirstOut(G,NodeIt(G)); |
|
39 |
|
40 |
|
41 InEdgeIt i(INVALID), j; |
|
42 InEdgeIt ii(i); |
|
43 ii=G.first(i,n); |
|
44 ii=G.next(i); |
|
45 |
|
46 OutEdgeIt o(INVALID), oo; |
|
47 OutEdgeIt ooo(oo); |
|
48 oo=G.first(o,n); |
|
49 oo=G.next(o); |
|
50 |
|
51 EdgeIt ei(INVALID), eie; |
|
52 EdgeIt eiee(ei); |
|
53 eie=G.first(ei); |
|
54 eie=G.next(ei); |
|
55 |
|
56 Edge eee(i); |
|
57 eee=o; |
|
58 eee=eie; |
|
59 |
|
60 |
|
61 bool tm; |
|
62 tm = G.valid(n) && G.valid(i) && G.valid(o) && G.valid(ei); |
|
63 |
|
64 std::vector<InEdgeIt> v(10); |
|
65 std::vector<InEdgeIt> w(10,INVALID); |
35 |
66 |
36 } |
67 } |