8 class InEdgeIt : public EdgeIt
9 class OutEdgeIt : public EdgeIt {};
10 class SymEdgeIt : public EdgeIt {};
11 class EachEdgeIt : public EdgeIt {};
15 NodeIt &getFirst(NodeIt &);
16 InEdgeIt &getFirst(InEdgeIt &,const NodeIt &);
17 OutEdgeIt &getFirst(OutEdgeIt &,const NodeIt &);
18 SymEdgeIt &getFirst(SymEdgeIt &,const NodeIt &);
19 EachEdgeIt &getFirst(EachEdgeIt &);
21 NodeIt next(const NodeIt &);
22 InEdgeIt next(const InEdgeIt &);
23 OutEdgeIt next(const OutEdgeIt &);
24 SymEdgeIt next(const SymEdgeIt &);
25 EachEdgeIt next(const EachEdgeIt &);
27 NodeIt &goNext(const NodeIt &);
28 InEdgeIt &goNext(const InEdgeIt &);
29 OutEdgeIt &goNext(const OutEdgeIt &);
30 SymEdgeIt &goNext(const SymEdgeIt &);
31 EachEdgeIt &goNext(const EachEdgeIt &);
33 NodeIt head(const EdgeIt &);
34 NodeIt tail(const EdgeIt &);
36 NodeIt aNode(const InEdgeIt &);
37 NodeIt aNode(const OutEdgeIt &);
38 NodeIt aNode(const SymEdgeIt &);
40 NodeIt bNode(const InEdgeIt &);
41 NodeIt bNode(const OutEdgeIt &);
42 NodeIt bNode(const SymEdgeIt &);
44 bool valid(const NodeIt &);
45 bool valid(const EdgeIt &);
47 void setInvalid(const NodeIt &);
48 void setInvalid(const EdgeIt &);
51 EdgeIt addEdge(const NodeIt from,const NodeIt to);
53 void delete(NodeIt n);
54 void delete(EdgeIt e);
58 template<class T> class NodeMap
62 void set(const NodeIt i, const T &t);
63 T get(const NodeIt i) const;
64 T &operator[](const NodeIt i);
66 NodeMap(const Graph &G);
69 template<class T> class EdgeMap
73 void set(const EdgeIt i, const T &t);
74 T get(const EdgeIt i) const;
75 T &operator[](const EdgeIt i);
77 EdgeMap(const Graph &G);