Bookmark-okkal, b?r el?g bugosan.
11 typedef typename G::EdgeIt EdgeIt;
13 typedef typename G::InEdgeIt InEdgeIt;
14 typedef typename G::OutEdgeIt OutEdgeIt;
15 typedef typename G::SymEdgeIt SymEdgeIt;
16 typedef typename G::EachEdgeIt EachEdgeIt;
18 typedef typename G::NodeIt NodeIt;
20 template<typename I> I &getFirst(I &i); { return graph->getFirst(i); }
21 template<typename I,typename P> I &getFirst(I &i,const P &p);
22 { return graph->getFirst(i,p); }
23 template<typename I> I next(const I i); { return graph->goNext(i); }
24 template<typename I> I &goNext(I &i); { return graph->goNext(i); }
26 NodeIt head(const EdgeIt &e);
27 { return graph->head(e); }
28 NodeIt tail(const EdgeIt &e);
29 { return graph->tail(e); }
31 template<typename I> NodeIt aNode(const I e);
32 { return graph->aNode(e); }
33 template<typename I> NodeIt bNode(const I e);
34 { return graph->bNode(e); }
36 template<typename I> bool valid(const I i);
37 { return graph->valid(i); }
39 template<typename I> void setInvalid(const I &i);
40 { return graph->setInvalid(i); }
42 NodeIt addNode(); { return graph->addNode(); }
43 EdgeIt addEdge(const NodeIt from,const NodeIt to);
44 { return graph->addEdge(ftom,to); }
46 template<I> void delete(I i); { graph->delete(i); }
48 void clean(); { graph->clean(); }
50 template<class T> class NodeMap : public typename G::NodeMap<T>;
51 template<class T> class EdgeMap : public typename G::EdgeMap<T>;
53 void SetG(G &g) {graph = &g;}
55 TrivGraphWrapper() {graph = NULL;}
56 TrivGraphWrapper(G &g) {graph = &g;}
67 typedef typename G::EdgeIt EdgeIt;
69 typedef typename G::InEdgeIt OutEdgeIt;
70 typedef typename G::OutEdgeIt InEdgeIt;
71 typedef typename G::SymEdgeIt SymEdgeIt;
72 typedef typename G::EachEdgeIt EachEdgeIt;
74 typedef typename G::NodeIt NodeIt;
76 template<typename I> I &getFirst(I &i); { return graph->getFirst(i); }
77 template<typename I,typename P> I &getFirst(I &i,const P &p);
78 { return graph->getFirst(i,p); }
79 template<typename I> I next(const I i); { return graph->goNext(i); }
80 template<typename I> I &goNext(I &i); { return graph->goNext(i); }
82 NodeIt head(const EdgeIt &e);
83 { return graph->tail(e); }
84 NodeIt tail(const EdgeIt &e);
85 { return graph->head(e); }
87 template<typename I> NodeIt aNode(const I e);
88 { return graph->aNode(e); }
89 template<typename I> NodeIt bNode(const I e);
90 { return graph->bNode(e); }
92 template<typename I> bool valid(const I i);
93 { return graph->valid(i); }
95 template<typename I> void setInvalid(const I &i);
96 { return graph->setInvalid(i); }
98 NodeIt addNode(); { return graph->addNode(); }
99 EdgeIt addEdge(const NodeIt from,const NodeIt to);
100 { return graph->addEdge(to,from); }
102 template<I> void delete(I i); { graph->delete(i); }
104 void clean(); { graph->clean(); }
106 template<class T> class NodeMap : public typename G::NodeMap<T>;
107 template<class T> class EdgeMap : public typename G::EdgeMap<T>;
109 void SetG(G &g) {graph = &g;}
111 RevGraphWrapper() {graph = NULL;}
112 RevGraphWrapper(G &g) {graph = &g;}
117 // NodeIt &getFirst(NodeIt &n) { return graph->getFirst(n); }
118 // InEdgeIt &getFirst(InEdgeIt &e,const NodeIt &n);
119 // { return graph->getFirst(e,n); }
120 // OutEdgeIt &getFirst(OutEdgeIt &e,const NodeIt &n);
121 // { return graph->getFirst(e,n); }
122 // SymEdgeIt &getFirst(SymEdgeIt &e,const NodeIt &n);
123 // { return graph->getFirst(e,n); }
124 // EachEdgeIt &getFirst(EachEdgeIt &e);
125 // { return graph->getFirst(e); }
127 // NodeIt next(const NodeIt &n);
128 // { return graph->next(n); }
129 // InEdgeIt next(const InEdgeIt &e);
130 // { return graph->next(e); }
131 // OutEdgeIt next(const OutEdgeIt &e);
132 // { return graph->next(e); }
133 // SymEdgeIt next(const SymEdgeIt &e);
134 // { return graph->next(e); }
135 // EachEdgeIt next(const EachEdgeIt &e);
136 // { return graph->next(e); }
138 // NodeIt &goNext(NodeIt &n);
139 // { return graph->goNext(n); }
140 // InEdgeIt &goNext(InEdgeIt &e);
141 // { return graph->goNext(e); }
142 // OutEdgeIt &goNext(OutEdgeIt &e);
143 // { return graph->goNext(e); }
144 // SymEdgeIt &goNext(SymEdgeIt &e);
145 // { return graph->goNext(e); }
146 // EachEdgeIt &goNext(EachEdgeIt &e);
147 // { return graph->goNext(e); }