lemon/euler.h
changeset 1768 1e2e0238e7c8
parent 1738 470aa67893f5
child 1769 a67ec111236c
equal deleted inserted replaced
0:32ab5602ed63 1:d57842cc6e08
    99       return *this;
    99       return *this;
   100     }
   100     }
   101     ///Postfix incrementation
   101     ///Postfix incrementation
   102     
   102     
   103     ///\warning This gives back an Edge, not an EulerIt!
   103     ///\warning This gives back an Edge, not an EulerIt!
   104     ///\todo Is this what we want?
       
   105     Edge operator++(int) 
   104     Edge operator++(int) 
   106     {
   105     {
   107       Edge e=*this;
   106       Edge e=*this;
   108       ++(*this);
   107       ++(*this);
   109       return e;
   108       return e;
   129       if(countIncEdges(g,n)%2) return false;
   128       if(countIncEdges(g,n)%2) return false;
   130     return true;
   129     return true;
   131   }
   130   }
   132   template<class Graph>
   131   template<class Graph>
   133   typename disable_if<typename Graph::UndirTag,bool>::type
   132   typename disable_if<typename Graph::UndirTag,bool>::type
   134   isEuler(const Graph &g) 
   133   euler(const Graph &g) 
   135   {
   134   {
   136     for(typename Graph::NodeIt n(g);n!=INVALID;++n)
   135     for(typename Graph::NodeIt n(g);n!=INVALID;++n)
   137       if(countInEdges(g,n)!=countOutEdges(g,n)) return false;
   136       if(countInEdges(g,n)!=countOutEdges(g,n)) return false;
   138     return true;
   137     return true;
   139   }
   138   }