COIN-OR::LEMON - Graph Library

Changeset 774:4297098d9677 in lemon-0.x for src/work/sage_graph.h


Ignore:
Timestamp:
08/30/04 14:01:47 (20 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1066
Message:

Merge back the whole branches/hugo++ to trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/work/sage_graph.h

    r642 r774  
    1010namespace hugo {
    1111
    12   template <typename It>
    13   int count(It it) {
    14     int i=0;
    15     for( ; it.valid(); ++it) { ++i; }
    16     return i;
    17   }
     12//   template <typename It>
     13//   int count(It it) {
     14//     int i=0;
     15//     for( ; it.valid(); ++it) { ++i; }
     16//     return i;
     17//   }
    1818
    1919  class SageGraph {
     
    386386    public: //for everybody but marci
    387387      NodeIt(const SageGraph& G) : Node(G._first_node) { }
     388      NodeIt(const SageGraph& G, const Node& n) : Node(n) { }
    388389    public:
    389390      NodeIt() : Node() { }
     
    391392    protected:
    392393      NodeIt(node_item* v) : Node(v) { }
     394    public:
    393395      NodeIt& operator++() { node=node->_next_node; return *this; }
    394396      //FIXME::
     
    426428    class EdgeIt : public Edge {
    427429      friend class SageGraph;
    428       //protected:
    429     public: //for alpar
     430    public:
     431      EdgeIt() : Edge() { }
     432      EdgeIt(const Invalid& i) : Edge(i) { }
    430433      EdgeIt(const SageGraph& G) {
    431434        node_item* v=G._first_node;
     
    433436        while (v && !edge) { v=v->_next_node; if (v) edge=v->_first_out_edge; }
    434437      }
    435     public:
    436       EdgeIt() : Edge() { }
    437       EdgeIt(const Invalid& i) : Edge(i) { }
    438     protected:
    439       EdgeIt(edge_item* _e) : Edge(_e) { }
     438      EdgeIt(const SageGraph& G, const Edge& e) : Edge(e) { }
     439//     protected:
     440//       EdgeIt(edge_item* _e) : Edge(_e) { }
     441    public:
    440442      EdgeIt& operator++() {
    441443        node_item* v=edge->_tail;
     
    448450    class OutEdgeIt : public Edge {
    449451      friend class SageGraph;
    450       //node_item* v;
    451       //protected:
    452     protected: //for alpar
    453       OutEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; }
    454     public:
    455       OutEdgeIt() : Edge()/*, v(0)*/ { }
     452    public:
     453      OutEdgeIt() : Edge() { }
    456454      OutEdgeIt(const Invalid& i) : Edge(i) { }
    457       OutEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; }
    458     protected:
     455      OutEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_out_edge) { }
     456      OutEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { }
    459457      OutEdgeIt& operator++() { edge=edge->_next_out; return *this; }
    460458    protected:
     
    465463    class InEdgeIt : public Edge {
    466464      friend class SageGraph;
    467       //node_item* v;
    468       //protected:
    469     protected: //for alpar
    470       InEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; }
    471     public:
    472       InEdgeIt() : Edge()/*, v(0)*/ { }
    473       InEdgeIt(const Invalid& i) : Edge(i) { }
    474       InEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; }
    475     protected:
     465    public:
     466      InEdgeIt() : Edge() { }
     467      InEdgeIt(Invalid i) : Edge(i) { }
     468      InEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_in_edge) { }
     469      InEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { }
    476470      InEdgeIt& operator++() { edge=edge->_next_in; return *this; }
    477471    protected:
Note: See TracChangeset for help on using the changeset viewer.