src/work/alpar/smart_graph_demo.cc
changeset 164 970b265696b0
parent 157 ee17030e5f47
child 185 259540358bbf
     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  }