1.1 --- a/src/work/alpar/smart_graph_demo.cc Wed Mar 10 16:46:17 2004 +0000
1.2 +++ b/src/work/alpar/smart_graph_demo.cc Wed Mar 10 17:47:54 2004 +0000
1.3 @@ -1,36 +1,67 @@
1.4 #include<smart_graph.h>
1.5 +#include<emptygraph.h>
1.6
1.7 #include <iostream>
1.8 +#include <vector>
1.9
1.10 using namespace hugo;
1.11
1.12 -SmartGraph::OutEdgeIt safeFirstOut(const SmartGraph &G, SmartGraph::NodeIt n)
1.13 +//typedef SmartGraph Graph;
1.14 +typedef EmptyGraph Graph;
1.15 +
1.16 +
1.17 +Graph::OutEdgeIt safeFirstOut(const Graph &G, Graph::Node n)
1.18 {
1.19 - return G.valid(n) ? SmartGraph::OutEdgeIt(G,n):Invalid;
1.20 + return G.valid(n) ? Graph::OutEdgeIt(G,n):INVALID;
1.21 }
1.22
1.23 int main()
1.24 {
1.25
1.26 - typedef SmartGraph::EdgeIt EdgeIt;
1.27 - typedef SmartGraph::InEdgeIt InEdgeIt;
1.28 - typedef SmartGraph::OutEdgeIt OutEdgeIt;
1.29 - typedef SmartGraph::EachEdgeIt EachEdgeIt;
1.30 - typedef SmartGraph::NodeIt NodeIt;
1.31 - typedef SmartGraph::EachNodeIt EachNodeIt;
1.32 + typedef Graph::Edge Edge;
1.33 + typedef Graph::InEdgeIt InEdgeIt;
1.34 + typedef Graph::OutEdgeIt OutEdgeIt;
1.35 + typedef Graph::EdgeIt EdgeIt;
1.36 + typedef Graph::Node Node;
1.37 + typedef Graph::NodeIt NodeIt;
1.38
1.39 - SmartGraph G;
1.40 - EachNodeIt n;
1.41 + Graph G;
1.42 + NodeIt n;
1.43
1.44
1.45 - // std::cout.form("%s: %d\n","Sztring",15);
1.46 -
1.47 for(int i=0;i<10;i++) G.addNode();
1.48 - for(G.getFirst(n);G.valid(n);G.next(n))
1.49 - for(EachNodeIt m(G);m!=Invalid;G.next(m))
1.50 + for(G.first(n);G.valid(n);G.next(n))
1.51 + for(NodeIt m(G);m!=INVALID;G.next(m))
1.52 if(n!=m) G.addEdge(n,m);
1.53
1.54 OutEdgeIt e = safeFirstOut(G,n);
1.55 - OutEdgeIt f = safeFirstOut(G,EachNodeIt(G));
1.56 + OutEdgeIt f = safeFirstOut(G,NodeIt(G));
1.57 +
1.58 +
1.59 + InEdgeIt i(INVALID), j;
1.60 + InEdgeIt ii(i);
1.61 + ii=G.first(i,n);
1.62 + ii=G.next(i);
1.63 +
1.64 + OutEdgeIt o(INVALID), oo;
1.65 + OutEdgeIt ooo(oo);
1.66 + oo=G.first(o,n);
1.67 + oo=G.next(o);
1.68 +
1.69 + EdgeIt ei(INVALID), eie;
1.70 + EdgeIt eiee(ei);
1.71 + eie=G.first(ei);
1.72 + eie=G.next(ei);
1.73 +
1.74 + Edge eee(i);
1.75 + eee=o;
1.76 + eee=eie;
1.77 +
1.78 +
1.79 + bool tm;
1.80 + tm = G.valid(n) && G.valid(i) && G.valid(o) && G.valid(ei);
1.81 +
1.82 + std::vector<InEdgeIt> v(10);
1.83 + std::vector<InEdgeIt> w(10,INVALID);
1.84
1.85 }