diff -r ee5959aa4410 -r c280de819a73 src/work/alpar/smart_graph_demo.cc --- a/src/work/alpar/smart_graph_demo.cc Sun Apr 17 18:57:22 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,124 +0,0 @@ -#include -#include - -#include -#include - -using namespace lemon; - -typedef SmartGraph Graph; -//typedef Graph Graph; - - -Graph::OutEdgeIt safeFirstOut(const Graph &G, Graph::Node n) -{ - return G.valid(n) ? Graph::OutEdgeIt(G,n):INVALID; -} - -int main() -{ - - typedef Graph::Edge Edge; - typedef Graph::InEdgeIt InEdgeIt; - typedef Graph::OutEdgeIt OutEdgeIt; - typedef Graph::EdgeIt EdgeIt; - typedef Graph::Node Node; - typedef Graph::NodeIt NodeIt; - - Graph G; - - { - NodeIt n; - - for(int i=0;i<10;i++) G.addNode(); - for(G.first(n);G.valid(n);G.next(n)) - for(NodeIt m(G);m!=INVALID;G.next(m)) - if(n!=m) G.addEdge(n,m); - - OutEdgeIt e = safeFirstOut(G,n); - OutEdgeIt f = safeFirstOut(G,NodeIt(G)); - - - InEdgeIt i(INVALID), j; - InEdgeIt ii(i); - ii=G.first(i,n); - ii=G.next(i); - - OutEdgeIt o(INVALID), oo; - OutEdgeIt ooo(oo); - oo=G.first(o,n); - oo=G.next(o); - - EdgeIt ei(INVALID), eie; - EdgeIt eiee(ei); - eie=G.first(ei); - eie=G.next(ei); - - Edge eee(i); - eee=o; - eee=eie; - - - bool tm; - tm = G.valid(n) && G.valid(i) && G.valid(o) && G.valid(ei); - - std::vector v(10); - std::vector w(10,INVALID); - - } - - // Test of maps - - G.clear(); - - for(int i=0;i<10;i++) G.addNode(); - for(NodeIt i(G);G.valid(i);G.next(i)) - for(NodeIt j(G);G.valid(j);G.next(j)) - if(i n(G); - int count=0; - for(NodeIt i(G);G.valid(i);G.next(i)) n[i]=count++; - - Graph::NodeMap nn=n; - Graph::NodeMap dd=n; - - n = nn; - - dd = nn; - - Graph::EdgeMap emap(G); - - // Test of SymSmartGraph - - { - typedef SymSmartGraph Graph; - typedef Graph::Edge Edge; - typedef Graph::InEdgeIt InEdgeIt; - typedef Graph::OutEdgeIt OutEdgeIt; - typedef Graph::EdgeIt EdgeIt; - typedef Graph::Node Node; - typedef Graph::NodeIt NodeIt; - - Graph G; - - for(int i=0;i<10;i++) G.addNode(); - for(NodeIt i(G);G.valid(i);G.next(i)) - for(NodeIt j(G);G.valid(j);G.next(j)) - if(i em(G); - Graph::SymEdgeMap sm(G); - for(EdgeIt e(G);G.valid(e);G.next(e)) em[e]=G.id(e); - for(EdgeIt e(G);G.valid(e);G.next(e)) - if(G.source(e)" << G.id(G.target(e)) - << ": id=" << G.id(e) << " oppid=" << G.id(G.opposite(e)) - << " em=" << em[e] - << " sm=" << sm[e] << "\n"; - - } - -}