| ... | ... |
@@ -74,17 +74,17 @@ |
| 74 | 74 |
int arcNum() const { return _digraph->arcNum(); }
|
| 75 | 75 |
|
| 76 | 76 |
typedef FindArcTagIndicator<Digraph> FindArcTag; |
| 77 |
Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
|
|
| 77 |
Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) const {
|
|
| 78 | 78 |
return _digraph->findArc(u, v, prev); |
| 79 | 79 |
} |
| 80 | 80 |
|
| 81 | 81 |
Node addNode() { return _digraph->addNode(); }
|
| 82 | 82 |
Arc addArc(const Node& u, const Node& v) { return _digraph->addArc(u, v); }
|
| 83 | 83 |
|
| 84 |
void erase(const Node& n) const { _digraph->erase(n); }
|
|
| 85 |
void erase(const Arc& a) const { _digraph->erase(a); }
|
|
| 86 |
|
|
| 87 |
void clear() const { _digraph->clear(); }
|
|
| 84 |
void erase(const Node& n) { _digraph->erase(n); }
|
|
| 85 |
void erase(const Arc& a) { _digraph->erase(a); }
|
|
| 86 |
|
|
| 87 |
void clear() { _digraph->clear(); }
|
|
| 88 | 88 |
|
| 89 | 89 |
int id(const Node& n) const { return _digraph->id(n); }
|
| 90 | 90 |
int id(const Arc& a) const { return _digraph->id(a); }
|
| ... | ... |
@@ -205,12 +205,14 @@ |
| 205 | 205 |
int edgeNum() const { return _graph->edgeNum(); }
|
| 206 | 206 |
|
| 207 | 207 |
typedef FindArcTagIndicator<Graph> FindArcTag; |
| 208 |
Arc findArc(const Node& u, const Node& v, |
|
| 208 |
Arc findArc(const Node& u, const Node& v, |
|
| 209 |
const Arc& prev = INVALID) const {
|
|
| 209 | 210 |
return _graph->findArc(u, v, prev); |
| 210 | 211 |
} |
| 211 | 212 |
|
| 212 | 213 |
typedef FindEdgeTagIndicator<Graph> FindEdgeTag; |
| 213 |
Edge findEdge(const Node& u, const Node& v, |
|
| 214 |
Edge findEdge(const Node& u, const Node& v, |
|
| 215 |
const Edge& prev = INVALID) const {
|
|
| 214 | 216 |
return _graph->findEdge(u, v, prev); |
| 215 | 217 |
} |
| 216 | 218 |
|
| ... | ... |
@@ -336,7 +338,7 @@ |
| 336 | 338 |
|
| 337 | 339 |
typedef FindArcTagIndicator<Digraph> FindArcTag; |
| 338 | 340 |
Arc findArc(const Node& u, const Node& v, |
| 339 |
const Arc& prev = INVALID) {
|
|
| 341 |
const Arc& prev = INVALID) const {
|
|
| 340 | 342 |
return Parent::findArc(v, u, prev); |
| 341 | 343 |
} |
| 342 | 344 |
|
| ... | ... |
@@ -475,7 +477,7 @@ |
| 475 | 477 |
|
| 476 | 478 |
typedef FindArcTagIndicator<Digraph> FindArcTag; |
| 477 | 479 |
Arc findArc(const Node& source, const Node& target, |
| 478 |
const Arc& prev = INVALID) {
|
|
| 480 |
const Arc& prev = INVALID) const {
|
|
| 479 | 481 |
if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
|
| 480 | 482 |
return INVALID; |
| 481 | 483 |
} |
| ... | ... |
@@ -618,7 +620,7 @@ |
| 618 | 620 |
|
| 619 | 621 |
typedef FindArcTagIndicator<Digraph> FindArcTag; |
| 620 | 622 |
Arc findArc(const Node& source, const Node& target, |
| 621 |
const Arc& prev = INVALID) {
|
|
| 623 |
const Arc& prev = INVALID) const {
|
|
| 622 | 624 |
if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
|
| 623 | 625 |
return INVALID; |
| 624 | 626 |
} |
| ... | ... |
@@ -944,7 +946,7 @@ |
| 944 | 946 |
|
| 945 | 947 |
typedef FindArcTagIndicator<Graph> FindArcTag; |
| 946 | 948 |
Arc findArc(const Node& u, const Node& v, |
| 947 |
const Arc& prev = INVALID) {
|
|
| 949 |
const Arc& prev = INVALID) const {
|
|
| 948 | 950 |
if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
|
| 949 | 951 |
return INVALID; |
| 950 | 952 |
} |
| ... | ... |
@@ -957,7 +959,7 @@ |
| 957 | 959 |
|
| 958 | 960 |
typedef FindEdgeTagIndicator<Graph> FindEdgeTag; |
| 959 | 961 |
Edge findEdge(const Node& u, const Node& v, |
| 960 |
const Edge& prev = INVALID) {
|
|
| 962 |
const Edge& prev = INVALID) const {
|
|
| 961 | 963 |
if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
|
| 962 | 964 |
return INVALID; |
| 963 | 965 |
} |
| ... | ... |
@@ -1143,7 +1145,7 @@ |
| 1143 | 1145 |
|
| 1144 | 1146 |
typedef FindArcTagIndicator<Graph> FindArcTag; |
| 1145 | 1147 |
Arc findArc(const Node& u, const Node& v, |
| 1146 |
const Arc& prev = INVALID) {
|
|
| 1148 |
const Arc& prev = INVALID) const {
|
|
| 1147 | 1149 |
Arc arc = Parent::findArc(u, v, prev); |
| 1148 | 1150 |
while (arc != INVALID && !(*_edge_filter_map)[arc]) {
|
| 1149 | 1151 |
arc = Parent::findArc(u, v, arc); |
| ... | ... |
@@ -1153,7 +1155,7 @@ |
| 1153 | 1155 |
|
| 1154 | 1156 |
typedef FindEdgeTagIndicator<Graph> FindEdgeTag; |
| 1155 | 1157 |
Edge findEdge(const Node& u, const Node& v, |
| 1156 |
const Edge& prev = INVALID) {
|
|
| 1158 |
const Edge& prev = INVALID) const {
|
|
| 1157 | 1159 |
Edge edge = Parent::findEdge(u, v, prev); |
| 1158 | 1160 |
while (edge != INVALID && !(*_edge_filter_map)[edge]) {
|
| 1159 | 1161 |
edge = Parent::findEdge(u, v, edge); |
| ... | ... |
@@ -2243,7 +2245,7 @@ |
| 2243 | 2245 |
|
| 2244 | 2246 |
typedef FindEdgeTagIndicator<Graph> FindArcTag; |
| 2245 | 2247 |
Arc findArc(const Node& u, const Node& v, |
| 2246 |
const Arc& prev = INVALID) {
|
|
| 2248 |
const Arc& prev = INVALID) const {
|
|
| 2247 | 2249 |
Arc arc = prev; |
| 2248 | 2250 |
bool d = arc == INVALID ? true : (*_direction)[arc]; |
| 2249 | 2251 |
if (d) {
|
| ... | ... |
@@ -3097,10 +3099,10 @@ |
| 3097 | 3099 |
/// "Digraph concept". The type can be specified to be const. |
| 3098 | 3100 |
template <typename _Digraph> |
| 3099 | 3101 |
class SplitNodes |
| 3100 |
: public DigraphAdaptorExtender<SplitNodesBase<_Digraph> > {
|
|
| 3102 |
: public DigraphAdaptorExtender<SplitNodesBase<const _Digraph> > {
|
|
| 3101 | 3103 |
public: |
| 3102 | 3104 |
typedef _Digraph Digraph; |
| 3103 |
typedef DigraphAdaptorExtender<SplitNodesBase<Digraph> > Parent; |
|
| 3105 |
typedef DigraphAdaptorExtender<SplitNodesBase<const Digraph> > Parent; |
|
| 3104 | 3106 |
|
| 3105 | 3107 |
typedef typename Digraph::Node DigraphNode; |
| 3106 | 3108 |
typedef typename Digraph::Arc DigraphArc; |
| ... | ... |
@@ -3111,7 +3113,7 @@ |
| 3111 | 3113 |
/// \brief Constructor of the adaptor. |
| 3112 | 3114 |
/// |
| 3113 | 3115 |
/// Constructor of the adaptor. |
| 3114 |
SplitNodes(Digraph& g) {
|
|
| 3116 |
SplitNodes(const Digraph& g) {
|
|
| 3115 | 3117 |
Parent::setDigraph(g); |
| 3116 | 3118 |
} |
| 3117 | 3119 |
|
0 comments (0 inline)