src/lemon/iterable_graph_extender.h
changeset 1280 f2255b96c19c
parent 1158 29961fa390a3
equal deleted inserted replaced
5:a5d10914a05e 6:e0eeea76468e
   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;