COIN-OR::LEMON - Graph Library

Changeset 2445:aaf5787f4d5d in lemon-0.x for lemon


Ignore:
Timestamp:
06/05/07 12:57:26 (17 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3282
Message:
  • Fix a serious bug in UEulerIt
  • Add a conversion to UEdge
  • Make some member funtions to be 'const'
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/euler.h

    r2429 r2445  
    150150    typedef typename Graph::NodeIt NodeIt;
    151151    typedef typename Graph::Edge Edge;
     152    typedef typename Graph::UEdge UEdge;
    152153    typedef typename Graph::EdgeIt EdgeIt;
    153154    typedef typename Graph::OutEdgeIt OutEdgeIt;
     
    173174      while(nedge[start]!=INVALID) {
    174175        euler.push_back(nedge[start]);
     176        visited[nedge[start]]=true;
    175177        Node next=g.target(nedge[start]);
    176178        ++nedge[start];
    177         start=next;     while(nedge[start]!=INVALID && visited[nedge[start]]) ++nedge[start];
     179        start=next;
     180        while(nedge[start]!=INVALID && visited[nedge[start]]) ++nedge[start];
    178181      }
    179182    }
    180183   
    181184    ///Edge Conversion
    182     operator Edge() { return euler.empty()?INVALID:euler.front(); }
    183     bool operator==(Invalid) { return euler.empty(); }
    184     bool operator!=(Invalid) { return !euler.empty(); }
     185    operator Edge() const { return euler.empty()?INVALID:euler.front(); }
     186    ///Edge Conversion
     187    operator UEdge() const { return euler.empty()?INVALID:euler.front(); }
     188    ///\e
     189    bool operator==(Invalid) const { return euler.empty(); }
     190    ///\e
     191    bool operator!=(Invalid) const { return !euler.empty(); }
    185192   
    186193    ///Next edge of the tour
     
    195202        else {
    196203          euler.insert(next,nedge[s]);
     204          visited[nedge[s]]=true;
    197205          Node n=g.target(nedge[s]);
    198206          ++nedge[s];
Note: See TracChangeset for help on using the changeset viewer.