lemon/core.h
branch1.2
changeset 960 0da74b2d0bea
parent 944 02c93d1f00d7
parent 959 157427808b40
child 966 08712a8c3afe
equal deleted inserted replaced
23:fe1df6f8e57b 25:14acf416086a
  1847     ///
  1847     ///
  1848     ///\warning If you change the digraph, refresh() must be called before using
  1848     ///\warning If you change the digraph, refresh() must be called before using
  1849     ///this operator. If you change the outgoing arcs of
  1849     ///this operator. If you change the outgoing arcs of
  1850     ///a single node \c n, then \ref refresh(Node) "refresh(n)" is enough.
  1850     ///a single node \c n, then \ref refresh(Node) "refresh(n)" is enough.
  1851     ///
  1851     ///
  1852 #ifdef DOXYGEN
  1852     Arc operator()(Node s, Node t, Arc prev=INVALID) const
  1853     Arc operator()(Node s, Node t, Arc prev=INVALID) const {}
       
  1854 #else
       
  1855     using ArcLookUp<GR>::operator() ;
       
  1856     Arc operator()(Node s, Node t, Arc prev) const
       
  1857     {
  1853     {
  1858       return prev==INVALID?(*this)(s,t):_next[prev];
  1854       if(prev==INVALID)
  1859     }
  1855         {
       
  1856           Arc f=INVALID;
       
  1857           Arc e;
       
  1858           for(e=_head[s];
       
  1859               e!=INVALID&&_g.target(e)!=t;
       
  1860               e = t < _g.target(e)?_left[e]:_right[e]) ;
       
  1861           while(e!=INVALID)
       
  1862             if(_g.target(e)==t)
       
  1863               {
       
  1864                 f = e;
       
  1865                 e = _left[e];
       
  1866               }
       
  1867             else e = _right[e];
       
  1868           return f;
       
  1869         }
       
  1870       else return _next[prev];
       
  1871     }
       
  1872 
       
  1873   };
       
  1874 
       
  1875   /// @}
       
  1876 
       
  1877 } //namespace lemon
       
  1878 
  1860 #endif
  1879 #endif
  1861 
       
  1862   };
       
  1863 
       
  1864   /// @}
       
  1865 
       
  1866 } //namespace lemon
       
  1867 
       
  1868 #endif