675 /// This iterator goes trough the outgoing edges of a node. |
675 /// This iterator goes trough the outgoing edges of a node. |
676 |
676 |
677 /// This iterator goes trough the \e outgoing edges of a certain node |
677 /// This iterator goes trough the \e outgoing edges of a certain node |
678 /// of a graph. |
678 /// of a graph. |
679 typedef GraphIncIterator<Graph, Edge, 'o'> OutEdgeIt; |
679 typedef GraphIncIterator<Graph, Edge, 'o'> OutEdgeIt; |
680 }; |
680 |
|
681 /// \brief The base node of the iterator. |
|
682 /// |
|
683 /// Gives back the base node of the iterator. |
|
684 Node baseNode(const InEdgeIt&) const { return INVALID; } |
|
685 |
|
686 /// \brief The running node of the iterator. |
|
687 /// |
|
688 /// Gives back the running node of the iterator. |
|
689 Node runningNode(const InEdgeIt&) const { return INVALID; } |
|
690 |
|
691 /// \brief The base node of the iterator. |
|
692 /// |
|
693 /// Gives back the base node of the iterator. |
|
694 Node baseNode(const OutEdgeIt&) const { return INVALID; } |
|
695 |
|
696 /// \brief The running node of the iterator. |
|
697 /// |
|
698 /// Gives back the running node of the iterator. |
|
699 Node runningNode(const OutEdgeIt&) const { return INVALID; } |
|
700 |
681 |
701 |
682 template <typename _Graph> |
702 template <typename _Graph> |
683 struct Constraints { |
703 struct Constraints { |
684 void constraints() { |
704 void constraints() { |
685 checkConcept< BaseGraphComponent, _Graph>(); |
705 checkConcept< BaseGraphComponent, _Graph>(); |
686 |
706 |
687 checkConcept<GraphIterator<_Graph, typename _Graph::Edge>, |
707 checkConcept<GraphIterator<_Graph, typename _Graph::Edge>, |
688 typename _Graph::EdgeIt >(); |
708 typename _Graph::EdgeIt >(); |
689 checkConcept<GraphIterator<_Graph, typename _Graph::Node>, |
709 checkConcept<GraphIterator<_Graph, typename _Graph::Node>, |
690 typename _Graph::NodeIt >(); |
710 typename _Graph::NodeIt >(); |
691 checkConcept<GraphIncIterator<_Graph>, typename _Graph::InEdgeIt >(); |
711 checkConcept<GraphIncIterator<_Graph>, typename _Graph::InEdgeIt>(); |
692 checkConcept<GraphIncIterator<_Graph>, typename _Graph::OutEdgeIt >(); |
712 checkConcept<GraphIncIterator<_Graph>, typename _Graph::OutEdgeIt>(); |
693 } |
713 } |
|
714 }; |
694 }; |
715 }; |
695 |
716 |
696 /// An empty alteration notifier base graph class. |
717 /// An empty alteration notifier base graph class. |
697 |
718 |
698 /// This class provides beside the core graph features |
719 /// This class provides beside the core graph features |