diff -r ce9438c5a82d -r 4297098d9677 src/work/sage_graph.h --- a/src/work/sage_graph.h Wed Aug 25 18:55:57 2004 +0000 +++ b/src/work/sage_graph.h Mon Aug 30 12:01:47 2004 +0000 @@ -9,12 +9,12 @@ namespace hugo { - template - int count(It it) { - int i=0; - for( ; it.valid(); ++it) { ++i; } - return i; - } +// template +// int count(It it) { +// int i=0; +// for( ; it.valid(); ++it) { ++i; } +// return i; +// } class SageGraph { struct node_item; @@ -385,11 +385,13 @@ //protected: public: //for everybody but marci NodeIt(const SageGraph& G) : Node(G._first_node) { } + NodeIt(const SageGraph& G, const Node& n) : Node(n) { } public: NodeIt() : Node() { } NodeIt(const Invalid& i) : Node(i) { } protected: NodeIt(node_item* v) : Node(v) { } + public: NodeIt& operator++() { node=node->_next_node; return *this; } //FIXME:: // NodeIt& operator=(const Node& e) @@ -425,18 +427,18 @@ class EdgeIt : public Edge { friend class SageGraph; - //protected: - public: //for alpar + public: + EdgeIt() : Edge() { } + EdgeIt(const Invalid& i) : Edge(i) { } EdgeIt(const SageGraph& G) { node_item* v=G._first_node; if (v) edge=v->_first_out_edge; else edge=0; while (v && !edge) { v=v->_next_node; if (v) edge=v->_first_out_edge; } } + EdgeIt(const SageGraph& G, const Edge& e) : Edge(e) { } +// protected: +// EdgeIt(edge_item* _e) : Edge(_e) { } public: - EdgeIt() : Edge() { } - EdgeIt(const Invalid& i) : Edge(i) { } - protected: - EdgeIt(edge_item* _e) : Edge(_e) { } EdgeIt& operator++() { node_item* v=edge->_tail; edge=edge->_next_out; @@ -447,15 +449,11 @@ class OutEdgeIt : public Edge { friend class SageGraph; - //node_item* v; - //protected: - protected: //for alpar - OutEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; } public: - OutEdgeIt() : Edge()/*, v(0)*/ { } + OutEdgeIt() : Edge() { } OutEdgeIt(const Invalid& i) : Edge(i) { } - OutEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_out_edge; } - protected: + OutEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_out_edge) { } + OutEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { } OutEdgeIt& operator++() { edge=edge->_next_out; return *this; } protected: Node aNode() const { return Node(edge->_tail); } @@ -464,15 +462,11 @@ class InEdgeIt : public Edge { friend class SageGraph; - //node_item* v; - //protected: - protected: //for alpar - InEdgeIt(const Node& _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; } public: - InEdgeIt() : Edge()/*, v(0)*/ { } - InEdgeIt(const Invalid& i) : Edge(i) { } - InEdgeIt(const SageGraph&, Node _v) /*: v(_v.node)*/ { edge=_v.node->_first_in_edge; } - protected: + InEdgeIt() : Edge() { } + InEdgeIt(Invalid i) : Edge(i) { } + InEdgeIt(const SageGraph&, Node _v) : Edge(_v.node->_first_in_edge) { } + InEdgeIt(const SageGraph&, const Edge& e) : Edge(e) { } InEdgeIt& operator++() { edge=edge->_next_in; return *this; } protected: Node aNode() const { return Node(edge->_head); }