src/work/alpar/smart_graph_demo.cc
changeset 184 08735c8704cd
parent 157 ee17030e5f47
child 185 259540358bbf
equal deleted inserted replaced
0:2ec58cc91d89 1:599ff1ce9a56
     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 }