1.1 --- a/lemon/bits/edge_set_extender.h Sun Jan 05 22:24:56 2014 +0100
1.2 +++ b/lemon/bits/edge_set_extender.h Tue Apr 14 08:39:40 2015 +0200
1.3 @@ -113,6 +113,9 @@
1.4
1.5 };
1.6
1.7 + LemonRangeWrapper1<NodeIt, Digraph> nodes() const {
1.8 + return LemonRangeWrapper1<NodeIt, Digraph>(*this);
1.9 + }
1.10
1.11 class ArcIt : public Arc {
1.12 const Digraph* digraph;
1.13 @@ -136,6 +139,9 @@
1.14
1.15 };
1.16
1.17 + LemonRangeWrapper1<ArcIt, Digraph> arcs() const {
1.18 + return LemonRangeWrapper1<ArcIt, Digraph>(*this);
1.19 + }
1.20
1.21 class OutArcIt : public Arc {
1.22 const Digraph* digraph;
1.23 @@ -160,6 +166,9 @@
1.24
1.25 };
1.26
1.27 + LemonRangeWrapper2<OutArcIt, Digraph, Node> outArcs(const Node& u) const {
1.28 + return LemonRangeWrapper2<OutArcIt, Digraph, Node>(*this, u);
1.29 + }
1.30
1.31 class InArcIt : public Arc {
1.32 const Digraph* digraph;
1.33 @@ -184,6 +193,10 @@
1.34
1.35 };
1.36
1.37 + LemonRangeWrapper2<InArcIt, Digraph, Node> inArcs(const Node& u) const {
1.38 + return LemonRangeWrapper2<InArcIt, Digraph, Node>(*this, u);
1.39 + }
1.40 +
1.41 // \brief Base node of the iterator
1.42 //
1.43 // Returns the base node (ie. the source in this case) of the iterator
1.44 @@ -372,6 +385,9 @@
1.45
1.46 };
1.47
1.48 + LemonRangeWrapper1<NodeIt, Graph> nodes() const {
1.49 + return LemonRangeWrapper1<NodeIt, Graph>(*this);
1.50 + }
1.51
1.52 class ArcIt : public Arc {
1.53 const Graph* graph;
1.54 @@ -395,6 +411,9 @@
1.55
1.56 };
1.57
1.58 + LemonRangeWrapper1<ArcIt, Graph> arcs() const {
1.59 + return LemonRangeWrapper1<ArcIt, Graph>(*this);
1.60 + }
1.61
1.62 class OutArcIt : public Arc {
1.63 const Graph* graph;
1.64 @@ -419,6 +438,9 @@
1.65
1.66 };
1.67
1.68 + LemonRangeWrapper2<OutArcIt, Graph, Node> outArcs(const Node& u) const {
1.69 + return LemonRangeWrapper2<OutArcIt, Graph, Node>(*this, u);
1.70 + }
1.71
1.72 class InArcIt : public Arc {
1.73 const Graph* graph;
1.74 @@ -443,6 +465,9 @@
1.75
1.76 };
1.77
1.78 + LemonRangeWrapper2<InArcIt, Graph, Node> inArcs(const Node& u) const {
1.79 + return LemonRangeWrapper2<InArcIt, Graph, Node>(*this, u);
1.80 + }
1.81
1.82 class EdgeIt : public Parent::Edge {
1.83 const Graph* graph;
1.84 @@ -466,6 +491,10 @@
1.85
1.86 };
1.87
1.88 + LemonRangeWrapper1<EdgeIt, Graph> edges() const {
1.89 + return LemonRangeWrapper1<EdgeIt, Graph>(*this);
1.90 + }
1.91 +
1.92 class IncEdgeIt : public Parent::Edge {
1.93 friend class EdgeSetExtender;
1.94 const Graph* graph;
1.95 @@ -491,6 +520,10 @@
1.96 }
1.97 };
1.98
1.99 + LemonRangeWrapper2<IncEdgeIt, Graph, Node> incEdges(const Node& u) const {
1.100 + return LemonRangeWrapper2<IncEdgeIt, Graph, Node>(*this, u);
1.101 + }
1.102 +
1.103 // \brief Base node of the iterator
1.104 //
1.105 // Returns the base node (ie. the source in this case) of the iterator