1.1 --- a/src/work/sage_graph.h Wed Aug 25 18:55:57 2004 +0000
1.2 +++ b/src/work/sage_graph.h Mon Aug 30 12:01:47 2004 +0000
1.3 @@ -9,12 +9,12 @@
1.4
1.5 namespace hugo {
1.6
1.7 - template <typename It>
1.8 - int count(It it) {
1.9 - int i=0;
1.10 - for( ; it.valid(); ++it) { ++i; }
1.11 - return i;
1.12 - }
1.13 +// template <typename It>
1.14 +// int count(It it) {
1.15 +// int i=0;
1.16 +// for( ; it.valid(); ++it) { ++i; }
1.17 +// return i;
1.18 +// }
1.19
1.20 class SageGraph {
1.21 struct node_item;
1.22 @@ -385,11 +385,13 @@
1.23 //protected:
1.24 public: //for everybody but marci
1.25 NodeIt(const SageGraph& G) : Node(G._first_node) { }
1.26 + NodeIt(const SageGraph& G, const Node& n) : Node(n) { }
1.27 public:
1.28 NodeIt() : Node() { }
1.29 NodeIt(const Invalid& i) : Node(i) { }
1.30 protected:
1.31 NodeIt(node_item* v) : Node(v) { }
1.32 + public:
1.33 NodeIt& operator++() { node=node->_next_node; return *this; }
1.34 //FIXME::
1.35 // NodeIt& operator=(const Node& e)
1.36 @@ -425,18 +427,18 @@
1.37
1.38 class EdgeIt : public Edge {
1.39 friend class SageGraph;
1.40 - //protected:
1.41 - public: //for alpar
1.42 + public:
1.43 + EdgeIt() : Edge() { }
1.44 + EdgeIt(const Invalid& i) : Edge(i) { }
1.45 EdgeIt(const SageGraph& G) {
1.46 node_item* v=G._first_node;
1.47 if (v) edge=v->_first_out_edge; else edge=0;
1.48 while (v && !edge) { v=v->_next_node; if (v) edge=v->_first_out_edge; }
1.49 }
1.50 + EdgeIt(const SageGraph& G, const Edge& e) : Edge(e) { }
1.51 +// protected:
1.52 +// EdgeIt(edge_item* _e) : Edge(_e) { }
1.53 public:
1.54 - EdgeIt() : Edge() { }
1.55 - EdgeIt(const Invalid& i) : Edge(i) { }
1.56 - protected:
1.57 - EdgeIt(edge_item* _e) : Edge(_e) { }
1.58 EdgeIt& operator++() {
1.59 node_item* v=edge->_tail;
1.60 edge=edge->_next_out;
1.61 @@ -447,15 +449,11 @@
1.62
1.63 class OutEdgeIt : public Edge {
1.64 friend class SageGraph;
1.65 - //node_item* v;
1.66 - //protected:
1.67 - protected: //for alpar
1.68 - OutEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; }
1.69 public:
1.70 - OutEdgeIt() : Edge()/*, v(0)*/ { }
1.71 + OutEdgeIt() : Edge() { }
1.72 OutEdgeIt(const Invalid& i) : Edge(i) { }
1.73 - OutEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; }
1.74 - protected:
1.75 + OutEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_out_edge) { }
1.76 + OutEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { }
1.77 OutEdgeIt& operator++() { edge=edge->_next_out; return *this; }
1.78 protected:
1.79 Node aNode() const { return Node(edge->_tail); }
1.80 @@ -464,15 +462,11 @@
1.81
1.82 class InEdgeIt : public Edge {
1.83 friend class SageGraph;
1.84 - //node_item* v;
1.85 - //protected:
1.86 - protected: //for alpar
1.87 - InEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; }
1.88 public:
1.89 - InEdgeIt() : Edge()/*, v(0)*/ { }
1.90 - InEdgeIt(const Invalid& i) : Edge(i) { }
1.91 - InEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; }
1.92 - protected:
1.93 + InEdgeIt() : Edge() { }
1.94 + InEdgeIt(Invalid i) : Edge(i) { }
1.95 + InEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_in_edge) { }
1.96 + InEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { }
1.97 InEdgeIt& operator++() { edge=edge->_next_in; return *this; }
1.98 protected:
1.99 Node aNode() const { return Node(edge->_head); }