equal
deleted
inserted
replaced
148 |
148 |
149 using Parent::first; |
149 using Parent::first; |
150 |
150 |
151 private: |
151 private: |
152 |
152 |
153 /// \todo When (and if) we change the iterators concept to use operator*, |
153 // /// \todo When (and if) we change the iterators concept to use operator*, |
154 /// then the following shadowed methods will become superfluous. |
154 // /// then the following shadowed methods will become superfluous. |
155 /// But for now these are important safety measures. |
155 // /// But for now these are important safety measures. |
156 |
156 |
157 void first(NodeIt &) const; |
157 // void first(NodeIt &) const; |
158 void first(EdgeIt &) const; |
158 // void first(EdgeIt &) const; |
159 void first(OutEdgeIt &) const; |
159 // void first(OutEdgeIt &) const; |
160 void first(InEdgeIt &) const; |
160 // void first(InEdgeIt &) const; |
161 |
161 |
162 }; |
162 }; |
163 |
163 |
164 |
164 |
165 |
165 |
174 typedef IterableUndirGraphExtender<_Base> Graph; |
174 typedef IterableUndirGraphExtender<_Base> Graph; |
175 typedef typename Parent::Node Node; |
175 typedef typename Parent::Node Node; |
176 |
176 |
177 typedef typename Parent::UndirEdge UndirEdge; |
177 typedef typename Parent::UndirEdge UndirEdge; |
178 |
178 |
179 class UndirEdgeIt : public UndirEdge { |
179 class UndirEdgeIt : public Parent::UndirEdge { |
180 const Graph* graph; |
180 const Graph* graph; |
181 public: |
181 public: |
182 |
182 |
183 UndirEdgeIt() { } |
183 UndirEdgeIt() { } |
184 |
184 |
196 return *this; |
196 return *this; |
197 } |
197 } |
198 |
198 |
199 }; |
199 }; |
200 |
200 |
201 class IncEdgeIt : public UndirEdge { |
201 class IncEdgeIt : public Parent::UndirEdge { |
202 const Graph* graph; |
202 const Graph* graph; |
203 bool forward; |
203 bool forward; |
204 friend class IterableUndirGraphExtender; |
204 friend class IterableUndirGraphExtender; |
205 template <typename G> |
205 template <typename G> |
206 friend class UndirGraphExtender; |
206 friend class UndirGraphExtender; |