src/work/marci/graph_wrapper.h
changeset 305 6720705c9095
parent 303 1b377a730d02
child 307 0fac67bef95a
equal deleted inserted replaced
25:1a68df3052cf 26:80091eb10982
   712 	if (valid(e.v)) graph->first(e.out, e.v); 
   712 	if (valid(e.v)) graph->first(e.out, e.v); 
   713       }
   713       }
   714       return e;
   714       return e;
   715     }
   715     }
   716 
   716 
   717     template<typename I> I& next(I &i) const { return graph->next(i); }    
   717     template<typename I> I& next(I &i) const { graph->next(i); return i; }    
   718 //    template<typename I> I getNext(const I& i) const { return gw.getNext(i); }
   718 //    template<typename I> I getNext(const I& i) const { return gw.getNext(i); }
   719 
   719 
   720     template< typename It > It first() const { 
   720     template< typename It > It first() const { 
   721       It e; this->first(e); return e; }
   721       It e; this->first(e); return e; }
   722 
   722 
  1002     EdgeIt& first(EdgeIt& e) const { 
  1002     EdgeIt& first(EdgeIt& e) const { 
  1003       e=EdgeIt(*this); 
  1003       e=EdgeIt(*this); 
  1004       return e;
  1004       return e;
  1005     }
  1005     }
  1006    
  1006    
  1007     NodeIt& next(NodeIt& n) const { return graph->next(n); }
  1007     NodeIt& next(NodeIt& n) const { graph->next(n); return n; }
  1008 
  1008 
  1009     OutEdgeIt& next(OutEdgeIt& e) const { 
  1009     OutEdgeIt& next(OutEdgeIt& e) const { 
  1010       if (e.out_or_in) {
  1010       if (e.out_or_in) {
  1011 	Node v=graph->aNode(e.out);
  1011 	Node v=graph->aNode(e.out);
  1012 	graph->next(e.out);
  1012 	graph->next(e.out);