alpar@157: #include alpar@164: #include alpar@157: alpar@157: #include alpar@164: #include alpar@157: alpar@157: using namespace hugo; alpar@157: alpar@164: //typedef SmartGraph Graph; alpar@164: typedef EmptyGraph Graph; alpar@164: alpar@164: alpar@164: Graph::OutEdgeIt safeFirstOut(const Graph &G, Graph::Node n) alpar@157: { alpar@164: return G.valid(n) ? Graph::OutEdgeIt(G,n):INVALID; alpar@157: } alpar@157: alpar@157: int main() alpar@157: { alpar@157: alpar@164: typedef Graph::Edge Edge; alpar@164: typedef Graph::InEdgeIt InEdgeIt; alpar@164: typedef Graph::OutEdgeIt OutEdgeIt; alpar@164: typedef Graph::EdgeIt EdgeIt; alpar@164: typedef Graph::Node Node; alpar@164: typedef Graph::NodeIt NodeIt; alpar@157: alpar@164: Graph G; alpar@164: NodeIt n; alpar@157: alpar@157: alpar@157: for(int i=0;i<10;i++) G.addNode(); alpar@164: for(G.first(n);G.valid(n);G.next(n)) alpar@164: for(NodeIt m(G);m!=INVALID;G.next(m)) alpar@157: if(n!=m) G.addEdge(n,m); alpar@157: alpar@157: OutEdgeIt e = safeFirstOut(G,n); alpar@164: OutEdgeIt f = safeFirstOut(G,NodeIt(G)); alpar@164: alpar@164: alpar@164: InEdgeIt i(INVALID), j; alpar@164: InEdgeIt ii(i); alpar@164: ii=G.first(i,n); alpar@164: ii=G.next(i); alpar@164: alpar@164: OutEdgeIt o(INVALID), oo; alpar@164: OutEdgeIt ooo(oo); alpar@164: oo=G.first(o,n); alpar@164: oo=G.next(o); alpar@164: alpar@164: EdgeIt ei(INVALID), eie; alpar@164: EdgeIt eiee(ei); alpar@164: eie=G.first(ei); alpar@164: eie=G.next(ei); alpar@164: alpar@164: Edge eee(i); alpar@164: eee=o; alpar@164: eee=eie; alpar@164: alpar@164: alpar@164: bool tm; alpar@164: tm = G.valid(n) && G.valid(i) && G.valid(o) && G.valid(ei); alpar@164: alpar@164: std::vector v(10); alpar@164: std::vector w(10,INVALID); alpar@157: alpar@157: }