Changes in lemon/concepts/graph.h [57:c1acf0018c0a:78:c46b3453455f] in lemon-1.0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concepts/graph.h
r57 r78 64 64 /// the EdgeMap to map values for the edges. The InArcIt and 65 65 /// OutArcIt iterates on the same edges but with opposite 66 /// direction. The Inc ArcIt iterates also on the same edges66 /// direction. The IncEdgeIt iterates also on the same edges 67 67 /// as the OutArcIt and InArcIt but it is not convertible to Arc just 68 68 /// to Edge. … … 271 271 ///\code 272 272 /// int count=0; 273 /// for(Graph::Inc ArcIt e(g, n); e!=INVALID; ++e) ++count;273 /// for(Graph::IncEdgeIt e(g, n); e!=INVALID; ++e) ++count; 274 274 ///\endcode 275 class Inc ArcIt : public Edge {276 public: 277 /// Default constructor 278 279 /// @warning The default constructor sets the iterator 280 /// to an undefined value. 281 Inc ArcIt() { }282 /// Copy constructor. 283 284 /// Copy constructor. 285 /// 286 Inc ArcIt(const IncArcIt& e) : Edge(e) { }287 /// Initialize the iterator to be invalid. 288 289 /// Initialize the iterator to be invalid. 290 /// 291 Inc ArcIt(Invalid) { }275 class IncEdgeIt : public Edge { 276 public: 277 /// Default constructor 278 279 /// @warning The default constructor sets the iterator 280 /// to an undefined value. 281 IncEdgeIt() { } 282 /// Copy constructor. 283 284 /// Copy constructor. 285 /// 286 IncEdgeIt(const IncEdgeIt& e) : Edge(e) { } 287 /// Initialize the iterator to be invalid. 288 289 /// Initialize the iterator to be invalid. 290 /// 291 IncEdgeIt(Invalid) { } 292 292 /// This constructor sets the iterator to first incident arc. 293 293 294 294 /// This constructor set the iterator to the first incident arc of 295 295 /// the node. 296 Inc ArcIt(const Graph&, const Node&) { }297 /// Edge -> Inc ArcIt conversion296 IncEdgeIt(const Graph&, const Node&) { } 297 /// Edge -> IncEdgeIt conversion 298 298 299 299 /// Sets the iterator to the value of the trivial iterator \c e. 300 300 /// This feature necessitates that each time we 301 301 /// iterate the arc-set, the iteration order is the same. 302 Inc ArcIt(const Graph&, const Edge&) { }302 IncEdgeIt(const Graph&, const Edge&) { } 303 303 /// Next incident arc 304 304 305 305 /// Assign the iterator to the next incident arc 306 306 /// of the corresponding node. 307 Inc ArcIt& operator++() { return *this; }307 IncEdgeIt& operator++() { return *this; } 308 308 }; 309 309 … … 625 625 Node target(Arc) const { return INVALID; } 626 626 627 /// \brief Returns the id of the node. 628 int id(Node) const { return -1; } 629 630 /// \brief Returns the id of the edge. 631 int id(Edge) const { return -1; } 632 633 /// \brief Returns the id of the arc. 634 int id(Arc) const { return -1; } 635 636 /// \brief Returns the node with the given id. 637 /// 638 /// \pre The argument should be a valid node id in the graph. 639 Node nodeFromId(int) const { return INVALID; } 640 641 /// \brief Returns the edge with the given id. 642 /// 643 /// \pre The argument should be a valid edge id in the graph. 644 Edge edgeFromId(int) const { return INVALID; } 645 646 /// \brief Returns the arc with the given id. 647 /// 648 /// \pre The argument should be a valid arc id in the graph. 649 Arc arcFromId(int) const { return INVALID; } 650 651 /// \brief Returns an upper bound on the node IDs. 652 int maxNodeId() const { return -1; } 653 654 /// \brief Returns an upper bound on the edge IDs. 655 int maxEdgeId() const { return -1; } 656 657 /// \brief Returns an upper bound on the arc IDs. 658 int maxArcId() const { return -1; } 659 627 660 void first(Node&) const {} 628 661 void next(Node&) const {} … … 640 673 void nextIn(Arc&) const {} 641 674 642 643 675 void firstInc(Edge &, bool &, const Node &) const {} 644 676 void nextInc(Edge &, bool &) const {} 677 678 // The second parameter is dummy. 679 Node fromId(int, Node) const { return INVALID; } 680 // The second parameter is dummy. 681 Edge fromId(int, Edge) const { return INVALID; } 682 // The second parameter is dummy. 683 Arc fromId(int, Arc) const { return INVALID; } 684 685 // Dummy parameter. 686 int maxId(Node) const { return -1; } 687 // Dummy parameter. 688 int maxId(Edge) const { return -1; } 689 // Dummy parameter. 690 int maxId(Arc) const { return -1; } 645 691 646 692 /// \brief Base node of the iterator … … 675 721 /// 676 722 /// Returns the base node of the iterator 677 Node baseNode(Inc ArcIt) const {723 Node baseNode(IncEdgeIt) const { 678 724 return INVALID; 679 725 } … … 682 728 /// 683 729 /// Returns the running node of the iterator 684 Node runningNode(Inc ArcIt) const {730 Node runningNode(IncEdgeIt) const { 685 731 return INVALID; 686 732 } … … 690 736 void constraints() { 691 737 checkConcept<IterableGraphComponent<>, Graph>(); 738 checkConcept<IDableGraphComponent<>, Graph>(); 692 739 checkConcept<MappableGraphComponent<>, Graph>(); 693 740 }
Note: See TracChangeset
for help on using the changeset viewer.