# HG changeset patch
# User Balazs Dezso <deba@inf.elte.hu>
# Date 1218978123 -7200
# Node ID d5bf497757ff9de573dfada21ff06dddcf2c6421
# Parent  32155c88f59b76e6fe775a4a211e28d243a7bc2b
Using arc instead of ArcIt in Dfs

diff -r 32155c88f59b -r d5bf497757ff lemon/dfs.h
--- a/lemon/dfs.h	Tue Jul 29 15:06:37 2008 +0200
+++ b/lemon/dfs.h	Sun Aug 17 15:02:03 2008 +0200
@@ -188,7 +188,7 @@
     ///Indicates if \ref _processed is locally allocated (\c true) or not.
     bool local_processed;
 
-    std::vector<typename Digraph::OutArcIt> _stack;
+    std::vector<typename Digraph::Arc> _stack;
     int _stack_head;
 
     ///Creates the maps if necessary.
@@ -453,7 +453,8 @@
         {
           _reached->set(s,true);
           _pred->set(s,INVALID);
-          OutArcIt e(*G,s);
+          Arc e;
+          G->firstOut(e,s);
           if(e!=INVALID) {
             _stack[++_stack_head]=e;
             _dist->set(s,_stack_head);
@@ -480,19 +481,19 @@
         _pred->set(m,e);
         _reached->set(m,true);
         ++_stack_head;
-        _stack[_stack_head] = OutArcIt(*G, m);
+        G->firstOut(_stack[_stack_head],m);
         _dist->set(m,_stack_head);
       }
       else {
         m=G->source(e);
-        ++_stack[_stack_head];
+        G->nextOut(_stack[_stack_head]);
       }
       while(_stack_head>=0 && _stack[_stack_head]==INVALID) {
         _processed->set(m,true);
         --_stack_head;
         if(_stack_head>=0) {
           m=G->source(_stack[_stack_head]);
-          ++_stack[_stack_head];
+          G->nextOut(_stack[_stack_head]);
         }
       }
       return e;
