gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Add missing const keywords (+ remove misleading ones) (#67)
0 1 0
default
1 file changed with 20 insertions and 18 deletions:
↑ Collapse diff ↑
Ignore white space 48 line context
... ...
@@ -53,59 +53,59 @@
53 53

	
54 54
    typedef typename Digraph::Node Node;
55 55
    typedef typename Digraph::Arc Arc;
56 56

	
57 57
    void first(Node& i) const { _digraph->first(i); }
58 58
    void first(Arc& i) const { _digraph->first(i); }
59 59
    void firstIn(Arc& i, const Node& n) const { _digraph->firstIn(i, n); }
60 60
    void firstOut(Arc& i, const Node& n ) const { _digraph->firstOut(i, n); }
61 61

	
62 62
    void next(Node& i) const { _digraph->next(i); }
63 63
    void next(Arc& i) const { _digraph->next(i); }
64 64
    void nextIn(Arc& i) const { _digraph->nextIn(i); }
65 65
    void nextOut(Arc& i) const { _digraph->nextOut(i); }
66 66

	
67 67
    Node source(const Arc& a) const { return _digraph->source(a); }
68 68
    Node target(const Arc& a) const { return _digraph->target(a); }
69 69

	
70 70
    typedef NodeNumTagIndicator<Digraph> NodeNumTag;
71 71
    int nodeNum() const { return _digraph->nodeNum(); }
72 72

	
73 73
    typedef ArcNumTagIndicator<Digraph> ArcNumTag;
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); }
91 91

	
92 92
    Node nodeFromId(int ix) const { return _digraph->nodeFromId(ix); }
93 93
    Arc arcFromId(int ix) const { return _digraph->arcFromId(ix); }
94 94

	
95 95
    int maxNodeId() const { return _digraph->maxNodeId(); }
96 96
    int maxArcId() const { return _digraph->maxArcId(); }
97 97

	
98 98
    typedef typename ItemSetTraits<Digraph, Node>::ItemNotifier NodeNotifier;
99 99
    NodeNotifier& notifier(Node) const { return _digraph->notifier(Node()); }
100 100

	
101 101
    typedef typename ItemSetTraits<Digraph, Arc>::ItemNotifier ArcNotifier;
102 102
    ArcNotifier& notifier(Arc) const { return _digraph->notifier(Arc()); }
103 103

	
104 104
    template <typename _Value>
105 105
    class NodeMap : public Digraph::template NodeMap<_Value> {
106 106
    public:
107 107

	
108 108
      typedef typename Digraph::template NodeMap<_Value> Parent;
109 109

	
110 110
      explicit NodeMap(const Adaptor& adaptor)
111 111
        : Parent(*adaptor._digraph) {}
... ...
@@ -184,54 +184,56 @@
184 184

	
185 185
    void next(Node& i) const { _graph->next(i); }
186 186
    void next(Arc& i) const { _graph->next(i); }
187 187
    void next(Edge& i) const { _graph->next(i); }
188 188
    void nextIn(Arc& i) const { _graph->nextIn(i); }
189 189
    void nextOut(Arc& i) const { _graph->nextOut(i); }
190 190
    void nextInc(Edge &i, bool &d) const { _graph->nextInc(i, d); }
191 191

	
192 192
    Node u(const Edge& e) const { return _graph->u(e); }
193 193
    Node v(const Edge& e) const { return _graph->v(e); }
194 194

	
195 195
    Node source(const Arc& a) const { return _graph->source(a); }
196 196
    Node target(const Arc& a) const { return _graph->target(a); }
197 197

	
198 198
    typedef NodeNumTagIndicator<Graph> NodeNumTag;
199 199
    int nodeNum() const { return _graph->nodeNum(); }
200 200

	
201 201
    typedef ArcNumTagIndicator<Graph> ArcNumTag;
202 202
    int arcNum() const { return _graph->arcNum(); }
203 203

	
204 204
    typedef EdgeNumTagIndicator<Graph> EdgeNumTag;
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, const Arc& prev = INVALID) {
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, const Edge& prev = INVALID) {
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

	
217 219
    Node addNode() { return _graph->addNode(); }
218 220
    Edge addEdge(const Node& u, const Node& v) { return _graph->addEdge(u, v); }
219 221

	
220 222
    void erase(const Node& i) { _graph->erase(i); }
221 223
    void erase(const Edge& i) { _graph->erase(i); }
222 224

	
223 225
    void clear() { _graph->clear(); }
224 226

	
225 227
    bool direction(const Arc& a) const { return _graph->direction(a); }
226 228
    Arc direct(const Edge& e, bool d) const { return _graph->direct(e, d); }
227 229

	
228 230
    int id(const Node& v) const { return _graph->id(v); }
229 231
    int id(const Arc& a) const { return _graph->id(a); }
230 232
    int id(const Edge& e) const { return _graph->id(e); }
231 233

	
232 234
    Node nodeFromId(int ix) const { return _graph->nodeFromId(ix); }
233 235
    Arc arcFromId(int ix) const { return _graph->arcFromId(ix); }
234 236
    Edge edgeFromId(int ix) const { return _graph->edgeFromId(ix); }
235 237

	
236 238
    int maxNodeId() const { return _graph->maxNodeId(); }
237 239
    int maxArcId() const { return _graph->maxArcId(); }
... ...
@@ -315,49 +317,49 @@
315 317
  template <typename _Digraph>
316 318
  class ReverseDigraphBase : public DigraphAdaptorBase<_Digraph> {
317 319
  public:
318 320
    typedef _Digraph Digraph;
319 321
    typedef DigraphAdaptorBase<_Digraph> Parent;
320 322
  protected:
321 323
    ReverseDigraphBase() : Parent() { }
322 324
  public:
323 325
    typedef typename Parent::Node Node;
324 326
    typedef typename Parent::Arc Arc;
325 327

	
326 328
    void firstIn(Arc& a, const Node& n) const { Parent::firstOut(a, n); }
327 329
    void firstOut(Arc& a, const Node& n ) const { Parent::firstIn(a, n); }
328 330

	
329 331
    void nextIn(Arc& a) const { Parent::nextOut(a); }
330 332
    void nextOut(Arc& a) const { Parent::nextIn(a); }
331 333

	
332 334
    Node source(const Arc& a) const { return Parent::target(a); }
333 335
    Node target(const Arc& a) const { return Parent::source(a); }
334 336

	
335 337
    Arc addArc(const Node& u, const Node& v) { return Parent::addArc(v, u); }
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

	
343 345
  };
344 346

	
345 347
  /// \ingroup graph_adaptors
346 348
  ///
347 349
  /// \brief A digraph adaptor which reverses the orientation of the arcs.
348 350
  ///
349 351
  /// ReverseDigraph reverses the arcs in the adapted digraph. The
350 352
  /// SubDigraph is conform to the \ref concepts::Digraph
351 353
  /// "Digraph concept".
352 354
  ///
353 355
  /// \tparam _Digraph It must be conform to the \ref concepts::Digraph
354 356
  /// "Digraph concept". The type can be specified to be const.
355 357
  template<typename _Digraph>
356 358
  class ReverseDigraph :
357 359
    public DigraphAdaptorExtender<ReverseDigraphBase<_Digraph> > {
358 360
  public:
359 361
    typedef _Digraph Digraph;
360 362
    typedef DigraphAdaptorExtender<
361 363
      ReverseDigraphBase<_Digraph> > Parent;
362 364
  protected:
363 365
    ReverseDigraph() { }
... ...
@@ -454,49 +456,49 @@
454 456
        Parent::nextIn(i);
455 457
    }
456 458

	
457 459
    void nextOut(Arc& i) const {
458 460
      Parent::nextOut(i);
459 461
      while (i != INVALID && (!(*_arc_filter)[i]
460 462
                              || !(*_node_filter)[Parent::target(i)]))
461 463
        Parent::nextOut(i);
462 464
    }
463 465

	
464 466
    void hide(const Node& n) const { _node_filter->set(n, false); }
465 467
    void hide(const Arc& a) const { _arc_filter->set(a, false); }
466 468

	
467 469
    void unHide(const Node& n) const { _node_filter->set(n, true); }
468 470
    void unHide(const Arc& a) const { _arc_filter->set(a, true); }
469 471

	
470 472
    bool hidden(const Node& n) const { return !(*_node_filter)[n]; }
471 473
    bool hidden(const Arc& a) const { return !(*_arc_filter)[a]; }
472 474

	
473 475
    typedef False NodeNumTag;
474 476
    typedef False ArcNumTag;
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
      }
482 484
      Arc arc = Parent::findArc(source, target, prev);
483 485
      while (arc != INVALID && !(*_arc_filter)[arc]) {
484 486
        arc = Parent::findArc(source, target, arc);
485 487
      }
486 488
      return arc;
487 489
    }
488 490

	
489 491
    template <typename _Value>
490 492
    class NodeMap : public SubMapExtender<Adaptor,
491 493
      typename Parent::template NodeMap<_Value> > {
492 494
    public:
493 495
      typedef _Value Value;
494 496
      typedef SubMapExtender<Adaptor, typename Parent::
495 497
                             template NodeMap<Value> > MapParent;
496 498

	
497 499
      NodeMap(const Adaptor& adaptor)
498 500
        : MapParent(adaptor) {}
499 501
      NodeMap(const Adaptor& adaptor, const Value& value)
500 502
        : MapParent(adaptor, value) {}
501 503

	
502 504
    private:
... ...
@@ -597,49 +599,49 @@
597 599
    void nextIn(Arc& i) const {
598 600
      Parent::nextIn(i);
599 601
      while (i!=INVALID && !(*_arc_filter)[i]) Parent::nextIn(i);
600 602
    }
601 603

	
602 604
    void nextOut(Arc& i) const {
603 605
      Parent::nextOut(i);
604 606
      while (i!=INVALID && !(*_arc_filter)[i]) Parent::nextOut(i);
605 607
    }
606 608

	
607 609
    void hide(const Node& n) const { _node_filter->set(n, false); }
608 610
    void hide(const Arc& e) const { _arc_filter->set(e, false); }
609 611

	
610 612
    void unHide(const Node& n) const { _node_filter->set(n, true); }
611 613
    void unHide(const Arc& e) const { _arc_filter->set(e, true); }
612 614

	
613 615
    bool hidden(const Node& n) const { return !(*_node_filter)[n]; }
614 616
    bool hidden(const Arc& e) const { return !(*_arc_filter)[e]; }
615 617

	
616 618
    typedef False NodeNumTag;
617 619
    typedef False ArcNumTag;
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
      }
625 627
      Arc arc = Parent::findArc(source, target, prev);
626 628
      while (arc != INVALID && !(*_arc_filter)[arc]) {
627 629
        arc = Parent::findArc(source, target, arc);
628 630
      }
629 631
      return arc;
630 632
    }
631 633

	
632 634
    template <typename _Value>
633 635
    class NodeMap : public SubMapExtender<Adaptor,
634 636
      typename Parent::template NodeMap<_Value> > {
635 637
    public:
636 638
      typedef _Value Value;
637 639
      typedef SubMapExtender<Adaptor, typename Parent::
638 640
                             template NodeMap<Value> > MapParent;
639 641

	
640 642
      NodeMap(const Adaptor& adaptor)
641 643
        : MapParent(adaptor) {}
642 644
      NodeMap(const Adaptor& adaptor, const Value& value)
643 645
        : MapParent(adaptor, value) {}
644 646

	
645 647
    private:
... ...
@@ -923,62 +925,62 @@
923 925

	
924 926
    void nextInc(Edge& i, bool& d) const {
925 927
      Parent::nextInc(i, d);
926 928
      while (i!=INVALID && (!(*_edge_filter_map)[i]
927 929
                            || !(*_node_filter_map)[Parent::u(i)]
928 930
                            || !(*_node_filter_map)[Parent::v(i)]))
929 931
        Parent::nextInc(i, d);
930 932
    }
931 933

	
932 934
    void hide(const Node& n) const { _node_filter_map->set(n, false); }
933 935
    void hide(const Edge& e) const { _edge_filter_map->set(e, false); }
934 936

	
935 937
    void unHide(const Node& n) const { _node_filter_map->set(n, true); }
936 938
    void unHide(const Edge& e) const { _edge_filter_map->set(e, true); }
937 939

	
938 940
    bool hidden(const Node& n) const { return !(*_node_filter_map)[n]; }
939 941
    bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
940 942

	
941 943
    typedef False NodeNumTag;
942 944
    typedef False ArcNumTag;
943 945
    typedef False EdgeNumTag;
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
      }
951 953
      Arc arc = Parent::findArc(u, v, prev);
952 954
      while (arc != INVALID && !(*_edge_filter_map)[arc]) {
953 955
        arc = Parent::findArc(u, v, arc);
954 956
      }
955 957
      return arc;
956 958
    }
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
      }
964 966
      Edge edge = Parent::findEdge(u, v, prev);
965 967
      while (edge != INVALID && !(*_edge_filter_map)[edge]) {
966 968
        edge = Parent::findEdge(u, v, edge);
967 969
      }
968 970
      return edge;
969 971
    }
970 972

	
971 973
    template <typename _Value>
972 974
    class NodeMap : public SubMapExtender<Adaptor,
973 975
      typename Parent::template NodeMap<_Value> > {
974 976
    public:
975 977
      typedef _Value Value;
976 978
      typedef SubMapExtender<Adaptor, typename Parent::
977 979
                             template NodeMap<Value> > MapParent;
978 980

	
979 981
      NodeMap(const Adaptor& adaptor)
980 982
        : MapParent(adaptor) {}
981 983
      NodeMap(const Adaptor& adaptor, const Value& value)
982 984
        : MapParent(adaptor, value) {}
983 985

	
984 986
    private:
... ...
@@ -1122,59 +1124,59 @@
1122 1124
    void nextOut(Arc& i) const {
1123 1125
      Parent::nextOut(i);
1124 1126
      while (i!=INVALID && !(*_edge_filter_map)[i]) Parent::nextOut(i);
1125 1127
    }
1126 1128
    void nextInc(Edge& i, bool& d) const {
1127 1129
      Parent::nextInc(i, d);
1128 1130
      while (i!=INVALID && !(*_edge_filter_map)[i]) Parent::nextInc(i, d);
1129 1131
    }
1130 1132

	
1131 1133
    void hide(const Node& n) const { _node_filter_map->set(n, false); }
1132 1134
    void hide(const Edge& e) const { _edge_filter_map->set(e, false); }
1133 1135

	
1134 1136
    void unHide(const Node& n) const { _node_filter_map->set(n, true); }
1135 1137
    void unHide(const Edge& e) const { _edge_filter_map->set(e, true); }
1136 1138

	
1137 1139
    bool hidden(const Node& n) const { return !(*_node_filter_map)[n]; }
1138 1140
    bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
1139 1141

	
1140 1142
    typedef False NodeNumTag;
1141 1143
    typedef False ArcNumTag;
1142 1144
    typedef False EdgeNumTag;
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);
1150 1152
      }
1151 1153
      return arc;
1152 1154
    }
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);
1160 1162
      }
1161 1163
      return edge;
1162 1164
    }
1163 1165

	
1164 1166
    template <typename _Value>
1165 1167
    class NodeMap : public SubMapExtender<Adaptor,
1166 1168
      typename Parent::template NodeMap<_Value> > {
1167 1169
    public:
1168 1170
      typedef _Value Value;
1169 1171
      typedef SubMapExtender<Adaptor, typename Parent::
1170 1172
                             template NodeMap<Value> > MapParent;
1171 1173

	
1172 1174
      NodeMap(const Adaptor& adaptor)
1173 1175
        : MapParent(adaptor) {}
1174 1176
      NodeMap(const Adaptor& adaptor, const Value& value)
1175 1177
        : MapParent(adaptor, value) {}
1176 1178

	
1177 1179
    private:
1178 1180
      NodeMap& operator=(const NodeMap& cmap) {
1179 1181
        return operator=<NodeMap>(cmap);
1180 1182
      }
... ...
@@ -2222,49 +2224,49 @@
2222 2224
      _graph->nextInc(i, d);
2223 2225
      while (i != INVALID && d == (*_direction)[i]) _graph->nextInc(i, d);
2224 2226
    }
2225 2227
    void nextOut(Arc& i) const {
2226 2228
      bool d = (*_direction)[i];
2227 2229
      _graph->nextInc(i, d);
2228 2230
      while (i != INVALID && d != (*_direction)[i]) _graph->nextInc(i, d);
2229 2231
    }
2230 2232

	
2231 2233
    Node source(const Arc& e) const {
2232 2234
      return (*_direction)[e] ? _graph->u(e) : _graph->v(e);
2233 2235
    }
2234 2236
    Node target(const Arc& e) const {
2235 2237
      return (*_direction)[e] ? _graph->v(e) : _graph->u(e);
2236 2238
    }
2237 2239

	
2238 2240
    typedef NodeNumTagIndicator<Graph> NodeNumTag;
2239 2241
    int nodeNum() const { return _graph->nodeNum(); }
2240 2242

	
2241 2243
    typedef EdgeNumTagIndicator<Graph> ArcNumTag;
2242 2244
    int arcNum() const { return _graph->edgeNum(); }
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) {
2250 2252
        arc = _graph->findEdge(u, v, arc);
2251 2253
        while (arc != INVALID && !(*_direction)[arc]) {
2252 2254
          _graph->findEdge(u, v, arc);
2253 2255
        }
2254 2256
        if (arc != INVALID) return arc;
2255 2257
      }
2256 2258
      _graph->findEdge(v, u, arc);
2257 2259
      while (arc != INVALID && (*_direction)[arc]) {
2258 2260
        _graph->findEdge(u, v, arc);
2259 2261
      }
2260 2262
      return arc;
2261 2263
    }
2262 2264

	
2263 2265
    Node addNode() {
2264 2266
      return Node(_graph->addNode());
2265 2267
    }
2266 2268

	
2267 2269
    Arc addArc(const Node& u, const Node& v) {
2268 2270
      Arc arc = _graph->addArc(u, v);
2269 2271
      _direction->set(arc, _graph->source(arc) == u);
2270 2272
      return arc;
... ...
@@ -3076,63 +3078,63 @@
3076 3078

	
3077 3079
  /// \ingroup graph_adaptors
3078 3080
  ///
3079 3081
  /// \brief Split the nodes of a directed graph
3080 3082
  ///
3081 3083
  /// The SplitNodes adaptor splits each node into an in-node and an
3082 3084
  /// out-node. Formaly, the adaptor replaces each \f$ u \f$ node in
3083 3085
  /// the digraph with two nodes(namely node \f$ u_{in} \f$ and node
3084 3086
  /// \f$ u_{out} \f$). If there is a \f$ (v, u) \f$ arc in the
3085 3087
  /// original digraph the new target of the arc will be \f$ u_{in} \f$
3086 3088
  /// and similarly the source of the original \f$ (u, v) \f$ arc
3087 3089
  /// will be \f$ u_{out} \f$.  The adaptor will add for each node in
3088 3090
  /// the original digraph an additional arc which connects
3089 3091
  /// \f$ (u_{in}, u_{out}) \f$.
3090 3092
  ///
3091 3093
  /// The aim of this class is to run algorithm with node costs if the
3092 3094
  /// algorithm can use directly just arc costs. In this case we should use
3093 3095
  /// a \c SplitNodes and set the node cost of the graph to the
3094 3096
  /// bind arc in the adapted graph.
3095 3097
  ///
3096 3098
  /// \tparam _Digraph It must be conform to the \ref concepts::Digraph
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;
3107 3109

	
3108 3110
    typedef typename Parent::Node Node;
3109 3111
    typedef typename Parent::Arc Arc;
3110 3112

	
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

	
3118 3120
    /// \brief Returns true when the node is in-node.
3119 3121
    ///
3120 3122
    /// Returns true when the node is in-node.
3121 3123
    static bool inNode(const Node& n) {
3122 3124
      return Parent::inNode(n);
3123 3125
    }
3124 3126

	
3125 3127
    /// \brief Returns true when the node is out-node.
3126 3128
    ///
3127 3129
    /// Returns true when the node is out-node.
3128 3130
    static bool outNode(const Node& n) {
3129 3131
      return Parent::outNode(n);
3130 3132
    }
3131 3133

	
3132 3134
    /// \brief Returns true when the arc is arc in the original digraph.
3133 3135
    ///
3134 3136
    /// Returns true when the arc is arc in the original digraph.
3135 3137
    static bool origArc(const Arc& a) {
3136 3138
      return Parent::origArc(a);
3137 3139
    }
3138 3140

	
0 comments (0 inline)