diff -r 39b6e65574c6 -r 0759d974de81 lemon/bits/graph_extender.h --- a/lemon/bits/graph_extender.h Thu Apr 02 22:34:03 2015 +0200 +++ b/lemon/bits/graph_extender.h Sun Jan 05 22:24:56 2014 +0100 @@ -27,6 +27,8 @@ #include #include +#include + //\ingroup graphbits //\file //\brief Extenders for the graph types @@ -116,6 +118,10 @@ }; + LemonRangeWrapper1 nodes() const { + return LemonRangeWrapper1(*this); + } + class ArcIt : public Arc { const Digraph* _digraph; @@ -139,6 +145,10 @@ }; + LemonRangeWrapper1 arcs() const { + return LemonRangeWrapper1(*this); + } + class OutArcIt : public Arc { const Digraph* _digraph; @@ -163,6 +173,10 @@ }; + LemonRangeWrapper2 outArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + class InArcIt : public Arc { const Digraph* _digraph; @@ -187,6 +201,10 @@ }; + LemonRangeWrapper2 inArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + // \brief Base node of the iterator // // Returns the base node (i.e. the source in this case) of the iterator @@ -436,6 +454,10 @@ }; + LemonRangeWrapper1 nodes() const { + return LemonRangeWrapper1(*this); + } + class ArcIt : public Arc { const Graph* _graph; @@ -459,6 +481,10 @@ }; + LemonRangeWrapper1 arcs() const { + return LemonRangeWrapper1(*this); + } + class OutArcIt : public Arc { const Graph* _graph; @@ -483,6 +509,10 @@ }; + LemonRangeWrapper2 outArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + class InArcIt : public Arc { const Graph* _graph; @@ -507,6 +537,10 @@ }; + LemonRangeWrapper2 inArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + class EdgeIt : public Parent::Edge { const Graph* _graph; @@ -530,6 +564,11 @@ }; + LemonRangeWrapper1 edges() const { + return LemonRangeWrapper1(*this); + } + + class IncEdgeIt : public Parent::Edge { friend class GraphExtender; const Graph* _graph; @@ -555,6 +594,11 @@ } }; + LemonRangeWrapper2 incEdges(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + + // \brief Base node of the iterator // // Returns the base node (ie. the source in this case) of the iterator @@ -903,6 +947,11 @@ }; + LemonRangeWrapper1 nodes() const { + return LemonRangeWrapper1(*this); + } + + class RedNodeIt : public RedNode { const BpGraph* _graph; public: @@ -925,6 +974,11 @@ }; + LemonRangeWrapper1 redNodes() const { + return LemonRangeWrapper1(*this); + } + + class BlueNodeIt : public BlueNode { const BpGraph* _graph; public: @@ -947,6 +1001,11 @@ }; + LemonRangeWrapper1 blueNodes() const { + return LemonRangeWrapper1(*this); + } + + class ArcIt : public Arc { const BpGraph* _graph; @@ -970,6 +1029,10 @@ }; + LemonRangeWrapper1 arcs() const { + return LemonRangeWrapper1(*this); + } + class OutArcIt : public Arc { const BpGraph* _graph; @@ -994,6 +1057,10 @@ }; + LemonRangeWrapper2 outArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + class InArcIt : public Arc { const BpGraph* _graph; @@ -1018,6 +1085,10 @@ }; + LemonRangeWrapper2 inArcs(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + class EdgeIt : public Parent::Edge { const BpGraph* _graph; @@ -1041,6 +1112,11 @@ }; + LemonRangeWrapper1 edges() const { + return LemonRangeWrapper1(*this); + } + + class IncEdgeIt : public Parent::Edge { friend class BpGraphExtender; const BpGraph* _graph; @@ -1066,6 +1142,11 @@ } }; + LemonRangeWrapper2 incEdges(const Node& u) const { + return LemonRangeWrapper2(*this, u); + } + + // \brief Base node of the iterator // // Returns the base node (ie. the source in this case) of the iterator