Changes in lemon/concepts/graph.h [78:c46b3453455f:57:c1acf0018c0a] in lemon-1.0
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/concepts/graph.h
r78 r57 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 EdgeIt iterates also on the same edges66 /// direction. The IncArcIt 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 EdgeIt e(g, n); e!=INVALID; ++e) ++count;273 /// for(Graph::IncArcIt e(g, n); e!=INVALID; ++e) ++count; 274 274 ///\endcode 275 class Inc EdgeIt : public Edge {276 public: 277 /// Default constructor 278 279 /// @warning The default constructor sets the iterator 280 /// to an undefined value. 281 Inc EdgeIt() { }282 /// Copy constructor. 283 284 /// Copy constructor. 285 /// 286 Inc EdgeIt(const IncEdgeIt& e) : Edge(e) { }287 /// Initialize the iterator to be invalid. 288 289 /// Initialize the iterator to be invalid. 290 /// 291 Inc EdgeIt(Invalid) { }275 class IncArcIt : public Edge { 276 public: 277 /// Default constructor 278 279 /// @warning The default constructor sets the iterator 280 /// to an undefined value. 281 IncArcIt() { } 282 /// Copy constructor. 283 284 /// Copy constructor. 285 /// 286 IncArcIt(const IncArcIt& e) : Edge(e) { } 287 /// Initialize the iterator to be invalid. 288 289 /// Initialize the iterator to be invalid. 290 /// 291 IncArcIt(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 EdgeIt(const Graph&, const Node&) { }297 /// Edge -> Inc EdgeIt conversion296 IncArcIt(const Graph&, const Node&) { } 297 /// Edge -> IncArcIt 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 EdgeIt(const Graph&, const Edge&) { }302 IncArcIt(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 EdgeIt& operator++() { return *this; }307 IncArcIt& 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 660 627 void first(Node&) const {} 661 628 void next(Node&) const {} … … 673 640 void nextIn(Arc&) const {} 674 641 642 675 643 void firstInc(Edge &, bool &, const Node &) const {} 676 644 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; }691 645 692 646 /// \brief Base node of the iterator … … 721 675 /// 722 676 /// Returns the base node of the iterator 723 Node baseNode(Inc EdgeIt) const {677 Node baseNode(IncArcIt) const { 724 678 return INVALID; 725 679 } … … 728 682 /// 729 683 /// Returns the running node of the iterator 730 Node runningNode(Inc EdgeIt) const {684 Node runningNode(IncArcIt) const { 731 685 return INVALID; 732 686 } … … 736 690 void constraints() { 737 691 checkConcept<IterableGraphComponent<>, Graph>(); 738 checkConcept<IDableGraphComponent<>, Graph>();739 692 checkConcept<MappableGraphComponent<>, Graph>(); 740 693 }
Note: See TracChangeset
for help on using the changeset viewer.