equal
deleted
inserted
replaced
359 |
359 |
360 friend class EdgeIt; |
360 friend class EdgeIt; |
361 friend class OutEdgeIt; |
361 friend class OutEdgeIt; |
362 friend class InEdgeIt; |
362 friend class InEdgeIt; |
363 friend class SymEdgeIt; |
363 friend class SymEdgeIt; |
|
364 public: //FIXME: It is required by op= of EachNodeIt |
|
365 node_item* node; |
364 protected: |
366 protected: |
365 node_item* node; |
|
366 friend int ListGraph::id(NodeIt v) const; |
367 friend int ListGraph::id(NodeIt v) const; |
367 public: |
368 public: |
368 NodeIt() : node(0) { } |
369 NodeIt() : node(0) { } |
369 NodeIt(node_item* _node) : node(_node) { } |
370 NodeIt(node_item* _node) : node(_node) { } |
370 bool valid() const { return (node!=0); } |
371 bool valid() const { return (node!=0); } |
379 }; |
380 }; |
380 |
381 |
381 class EachNodeIt : public NodeIt { |
382 class EachNodeIt : public NodeIt { |
382 friend class ListGraph; |
383 friend class ListGraph; |
383 //protected: |
384 //protected: |
384 public: //for alpar |
385 public: //for everybody but marci |
385 EachNodeIt(const ListGraph& G) : NodeIt(G._first_node) { } |
386 EachNodeIt(const ListGraph& G) : NodeIt(G._first_node) { } |
386 public: |
387 public: |
387 EachNodeIt() : NodeIt() { } |
388 EachNodeIt() : NodeIt() { } |
388 EachNodeIt(node_item* v) : NodeIt(v) { } |
389 EachNodeIt(node_item* v) : NodeIt(v) { } |
389 EachNodeIt& operator++() { node=node->_next_node; return *this; } |
390 EachNodeIt& operator++() { node=node->_next_node; return *this; } |
|
391 //FIXME:: |
|
392 EachNodeIt& operator=(const NodeIt& e) |
|
393 { node=e.node; return *this; } |
390 }; |
394 }; |
391 |
395 |
392 class EdgeIt { |
396 class EdgeIt { |
393 friend class ListGraph; |
397 friend class ListGraph; |
394 template <typename T> friend class EdgeMap; |
398 template <typename T> friend class EdgeMap; |