1.1 --- a/lemon/adaptors.h Fri Apr 24 10:15:33 2009 +0200
1.2 +++ b/lemon/adaptors.h Fri Apr 24 11:54:48 2009 +0200
1.3 @@ -109,13 +109,11 @@
1.4
1.5 template <typename V>
1.6 class NodeMap : public DGR::template NodeMap<V> {
1.7 + typedef typename DGR::template NodeMap<V> Parent;
1.8 +
1.9 public:
1.10 -
1.11 - typedef typename DGR::template NodeMap<V> Parent;
1.12 -
1.13 explicit NodeMap(const Adaptor& adaptor)
1.14 : Parent(*adaptor._digraph) {}
1.15 -
1.16 NodeMap(const Adaptor& adaptor, const V& value)
1.17 : Parent(*adaptor._digraph, value) { }
1.18
1.19 @@ -134,13 +132,11 @@
1.20
1.21 template <typename V>
1.22 class ArcMap : public DGR::template ArcMap<V> {
1.23 + typedef typename DGR::template ArcMap<V> Parent;
1.24 +
1.25 public:
1.26 -
1.27 - typedef typename DGR::template ArcMap<V> Parent;
1.28 -
1.29 explicit ArcMap(const DigraphAdaptorBase<DGR>& adaptor)
1.30 : Parent(*adaptor._digraph) {}
1.31 -
1.32 ArcMap(const DigraphAdaptorBase<DGR>& adaptor, const V& value)
1.33 : Parent(*adaptor._digraph, value) {}
1.34
1.35 @@ -255,8 +251,9 @@
1.36
1.37 template <typename V>
1.38 class NodeMap : public GR::template NodeMap<V> {
1.39 + typedef typename GR::template NodeMap<V> Parent;
1.40 +
1.41 public:
1.42 - typedef typename GR::template NodeMap<V> Parent;
1.43 explicit NodeMap(const GraphAdaptorBase<GR>& adapter)
1.44 : Parent(*adapter._graph) {}
1.45 NodeMap(const GraphAdaptorBase<GR>& adapter, const V& value)
1.46 @@ -277,8 +274,9 @@
1.47
1.48 template <typename V>
1.49 class ArcMap : public GR::template ArcMap<V> {
1.50 + typedef typename GR::template ArcMap<V> Parent;
1.51 +
1.52 public:
1.53 - typedef typename GR::template ArcMap<V> Parent;
1.54 explicit ArcMap(const GraphAdaptorBase<GR>& adapter)
1.55 : Parent(*adapter._graph) {}
1.56 ArcMap(const GraphAdaptorBase<GR>& adapter, const V& value)
1.57 @@ -298,8 +296,9 @@
1.58
1.59 template <typename V>
1.60 class EdgeMap : public GR::template EdgeMap<V> {
1.61 + typedef typename GR::template EdgeMap<V> Parent;
1.62 +
1.63 public:
1.64 - typedef typename GR::template EdgeMap<V> Parent;
1.65 explicit EdgeMap(const GraphAdaptorBase<GR>& adapter)
1.66 : Parent(*adapter._graph) {}
1.67 EdgeMap(const GraphAdaptorBase<GR>& adapter, const V& value)
1.68 @@ -321,9 +320,9 @@
1.69
1.70 template <typename DGR>
1.71 class ReverseDigraphBase : public DigraphAdaptorBase<DGR> {
1.72 + typedef DigraphAdaptorBase<DGR> Parent;
1.73 public:
1.74 typedef DGR Digraph;
1.75 - typedef DigraphAdaptorBase<DGR> Parent;
1.76 protected:
1.77 ReverseDigraphBase() : Parent() { }
1.78 public:
1.79 @@ -374,10 +373,10 @@
1.80 class ReverseDigraph :
1.81 public DigraphAdaptorExtender<ReverseDigraphBase<DGR> > {
1.82 #endif
1.83 + typedef DigraphAdaptorExtender<ReverseDigraphBase<DGR> > Parent;
1.84 public:
1.85 /// The type of the adapted digraph.
1.86 typedef DGR Digraph;
1.87 - typedef DigraphAdaptorExtender<ReverseDigraphBase<DGR> > Parent;
1.88 protected:
1.89 ReverseDigraph() { }
1.90 public:
1.91 @@ -403,13 +402,13 @@
1.92
1.93 template <typename DGR, typename NF, typename AF, bool ch = true>
1.94 class SubDigraphBase : public DigraphAdaptorBase<DGR> {
1.95 + typedef DigraphAdaptorBase<DGR> Parent;
1.96 public:
1.97 typedef DGR Digraph;
1.98 typedef NF NodeFilterMap;
1.99 typedef AF ArcFilterMap;
1.100
1.101 typedef SubDigraphBase Adaptor;
1.102 - typedef DigraphAdaptorBase<DGR> Parent;
1.103 protected:
1.104 NF* _node_filter;
1.105 AF* _arc_filter;
1.106 @@ -509,10 +508,11 @@
1.107 class NodeMap
1.108 : public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.109 LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
1.110 + typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.111 + LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
1.112 +
1.113 public:
1.114 typedef V Value;
1.115 - typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.116 - LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
1.117
1.118 NodeMap(const SubDigraphBase<DGR, NF, AF, ch>& adaptor)
1.119 : Parent(adaptor) {}
1.120 @@ -535,10 +535,11 @@
1.121 class ArcMap
1.122 : public SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.123 LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
1.124 + typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.125 + LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
1.126 +
1.127 public:
1.128 typedef V Value;
1.129 - typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, ch>,
1.130 - LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
1.131
1.132 ArcMap(const SubDigraphBase<DGR, NF, AF, ch>& adaptor)
1.133 : Parent(adaptor) {}
1.134 @@ -562,13 +563,13 @@
1.135 template <typename DGR, typename NF, typename AF>
1.136 class SubDigraphBase<DGR, NF, AF, false>
1.137 : public DigraphAdaptorBase<DGR> {
1.138 + typedef DigraphAdaptorBase<DGR> Parent;
1.139 public:
1.140 typedef DGR Digraph;
1.141 typedef NF NodeFilterMap;
1.142 typedef AF ArcFilterMap;
1.143
1.144 typedef SubDigraphBase Adaptor;
1.145 - typedef DigraphAdaptorBase<Digraph> Parent;
1.146 protected:
1.147 NF* _node_filter;
1.148 AF* _arc_filter;
1.149 @@ -650,10 +651,11 @@
1.150 class NodeMap
1.151 : public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.152 LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> {
1.153 + typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.154 + LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
1.155 +
1.156 public:
1.157 typedef V Value;
1.158 - typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.159 - LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, NodeMap<V>)> Parent;
1.160
1.161 NodeMap(const SubDigraphBase<DGR, NF, AF, false>& adaptor)
1.162 : Parent(adaptor) {}
1.163 @@ -676,10 +678,11 @@
1.164 class ArcMap
1.165 : public SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.166 LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> {
1.167 + typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.168 + LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
1.169 +
1.170 public:
1.171 typedef V Value;
1.172 - typedef SubMapExtender<SubDigraphBase<DGR, NF, AF, false>,
1.173 - LEMON_SCOPE_FIX(DigraphAdaptorBase<DGR>, ArcMap<V>)> Parent;
1.174
1.175 ArcMap(const SubDigraphBase<DGR, NF, AF, false>& adaptor)
1.176 : Parent(adaptor) {}
1.177 @@ -863,13 +866,13 @@
1.178
1.179 template <typename GR, typename NF, typename EF, bool ch = true>
1.180 class SubGraphBase : public GraphAdaptorBase<GR> {
1.181 + typedef GraphAdaptorBase<GR> Parent;
1.182 public:
1.183 typedef GR Graph;
1.184 typedef NF NodeFilterMap;
1.185 typedef EF EdgeFilterMap;
1.186
1.187 typedef SubGraphBase Adaptor;
1.188 - typedef GraphAdaptorBase<GR> Parent;
1.189 protected:
1.190
1.191 NF* _node_filter;
1.192 @@ -1016,10 +1019,11 @@
1.193 class NodeMap
1.194 : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.195 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
1.196 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.197 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
1.198 +
1.199 public:
1.200 typedef V Value;
1.201 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.202 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
1.203
1.204 NodeMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
1.205 : Parent(adaptor) {}
1.206 @@ -1042,10 +1046,11 @@
1.207 class ArcMap
1.208 : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.209 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
1.210 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.211 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
1.212 +
1.213 public:
1.214 typedef V Value;
1.215 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.216 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
1.217
1.218 ArcMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
1.219 : Parent(adaptor) {}
1.220 @@ -1068,10 +1073,11 @@
1.221 class EdgeMap
1.222 : public SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.223 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
1.224 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.225 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
1.226 +
1.227 public:
1.228 typedef V Value;
1.229 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, ch>,
1.230 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
1.231
1.232 EdgeMap(const SubGraphBase<GR, NF, EF, ch>& adaptor)
1.233 : Parent(adaptor) {}
1.234 @@ -1096,13 +1102,13 @@
1.235 template <typename GR, typename NF, typename EF>
1.236 class SubGraphBase<GR, NF, EF, false>
1.237 : public GraphAdaptorBase<GR> {
1.238 + typedef GraphAdaptorBase<GR> Parent;
1.239 public:
1.240 typedef GR Graph;
1.241 typedef NF NodeFilterMap;
1.242 typedef EF EdgeFilterMap;
1.243
1.244 typedef SubGraphBase Adaptor;
1.245 - typedef GraphAdaptorBase<GR> Parent;
1.246 protected:
1.247 NF* _node_filter;
1.248 EF* _edge_filter;
1.249 @@ -1211,10 +1217,11 @@
1.250 class NodeMap
1.251 : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.252 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> {
1.253 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.254 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
1.255 +
1.256 public:
1.257 typedef V Value;
1.258 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.259 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, NodeMap<V>)> Parent;
1.260
1.261 NodeMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
1.262 : Parent(adaptor) {}
1.263 @@ -1237,10 +1244,11 @@
1.264 class ArcMap
1.265 : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.266 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> {
1.267 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.268 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
1.269 +
1.270 public:
1.271 typedef V Value;
1.272 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.273 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, ArcMap<V>)> Parent;
1.274
1.275 ArcMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
1.276 : Parent(adaptor) {}
1.277 @@ -1263,10 +1271,11 @@
1.278 class EdgeMap
1.279 : public SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.280 LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> {
1.281 + typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.282 + LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
1.283 +
1.284 public:
1.285 typedef V Value;
1.286 - typedef SubMapExtender<SubGraphBase<GR, NF, EF, false>,
1.287 - LEMON_SCOPE_FIX(GraphAdaptorBase<GR>, EdgeMap<V>)> Parent;
1.288
1.289 EdgeMap(const SubGraphBase<GR, NF, EF, false>& adaptor)
1.290 : Parent(adaptor) {}
1.291 @@ -1485,15 +1494,15 @@
1.292 SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >,
1.293 true> > {
1.294 #endif
1.295 - public:
1.296 -
1.297 - typedef GR Digraph;
1.298 - typedef NF NodeFilterMap;
1.299 -
1.300 typedef DigraphAdaptorExtender<
1.301 SubDigraphBase<GR, NF, ConstMap<typename GR::Arc, Const<bool, true> >,
1.302 true> > Parent;
1.303
1.304 + public:
1.305 +
1.306 + typedef GR Digraph;
1.307 + typedef NF NodeFilterMap;
1.308 +
1.309 typedef typename Parent::Node Node;
1.310
1.311 protected:
1.312 @@ -1548,14 +1557,17 @@
1.313 SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >,
1.314 true> > {
1.315
1.316 - public:
1.317 - typedef GR Graph;
1.318 - typedef NF NodeFilterMap;
1.319 typedef GraphAdaptorExtender<
1.320 SubGraphBase<GR, NF, ConstMap<typename GR::Edge, Const<bool, true> >,
1.321 true> > Parent;
1.322
1.323 + public:
1.324 +
1.325 + typedef GR Graph;
1.326 + typedef NF NodeFilterMap;
1.327 +
1.328 typedef typename Parent::Node Node;
1.329 +
1.330 protected:
1.331 ConstMap<typename GR::Edge, Const<bool, true> > const_true_map;
1.332
1.333 @@ -1629,16 +1641,17 @@
1.334 SubDigraphBase<DGR, ConstMap<typename DGR::Node, Const<bool, true> >,
1.335 AF, false> > {
1.336 #endif
1.337 + typedef DigraphAdaptorExtender<
1.338 + SubDigraphBase<DGR, ConstMap<typename DGR::Node, Const<bool, true> >,
1.339 + AF, false> > Parent;
1.340 +
1.341 public:
1.342 +
1.343 /// The type of the adapted digraph.
1.344 typedef DGR Digraph;
1.345 /// The type of the arc filter map.
1.346 typedef AF ArcFilterMap;
1.347
1.348 - typedef DigraphAdaptorExtender<
1.349 - SubDigraphBase<DGR, ConstMap<typename DGR::Node, Const<bool, true> >,
1.350 - AF, false> > Parent;
1.351 -
1.352 typedef typename Parent::Arc Arc;
1.353
1.354 protected:
1.355 @@ -1738,16 +1751,17 @@
1.356 SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true> >,
1.357 EF, false> > {
1.358 #endif
1.359 + typedef GraphAdaptorExtender<
1.360 + SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true > >,
1.361 + EF, false> > Parent;
1.362 +
1.363 public:
1.364 +
1.365 /// The type of the adapted graph.
1.366 typedef GR Graph;
1.367 /// The type of the edge filter map.
1.368 typedef EF EdgeFilterMap;
1.369
1.370 - typedef GraphAdaptorExtender<
1.371 - SubGraphBase<GR, ConstMap<typename GR::Node, Const<bool, true > >,
1.372 - EF, false> > Parent;
1.373 -
1.374 typedef typename Parent::Edge Edge;
1.375
1.376 protected:
1.377 @@ -2111,10 +2125,10 @@
1.378
1.379 template <typename V>
1.380 class NodeMap : public DGR::template NodeMap<V> {
1.381 + typedef typename DGR::template NodeMap<V> Parent;
1.382 +
1.383 public:
1.384 -
1.385 typedef V Value;
1.386 - typedef typename DGR::template NodeMap<Value> Parent;
1.387
1.388 explicit NodeMap(const UndirectorBase<DGR>& adaptor)
1.389 : Parent(*adaptor._digraph) {}
1.390 @@ -2137,11 +2151,11 @@
1.391
1.392 template <typename V>
1.393 class ArcMap
1.394 - : public SubMapExtender<UndirectorBase<DGR>, ArcMapBase<V> >
1.395 - {
1.396 + : public SubMapExtender<UndirectorBase<DGR>, ArcMapBase<V> > {
1.397 + typedef SubMapExtender<UndirectorBase<DGR>, ArcMapBase<V> > Parent;
1.398 +
1.399 public:
1.400 typedef V Value;
1.401 - typedef SubMapExtender<Adaptor, ArcMapBase<V> > Parent;
1.402
1.403 explicit ArcMap(const UndirectorBase<DGR>& adaptor)
1.404 : Parent(adaptor) {}
1.405 @@ -2163,10 +2177,10 @@
1.406
1.407 template <typename V>
1.408 class EdgeMap : public Digraph::template ArcMap<V> {
1.409 + typedef typename Digraph::template ArcMap<V> Parent;
1.410 +
1.411 public:
1.412 -
1.413 typedef V Value;
1.414 - typedef typename Digraph::template ArcMap<V> Parent;
1.415
1.416 explicit EdgeMap(const UndirectorBase<DGR>& adaptor)
1.417 : Parent(*adaptor._digraph) {}
1.418 @@ -2238,10 +2252,10 @@
1.419 class Undirector :
1.420 public GraphAdaptorExtender<UndirectorBase<DGR> > {
1.421 #endif
1.422 + typedef GraphAdaptorExtender<UndirectorBase<DGR> > Parent;
1.423 public:
1.424 /// The type of the adapted digraph.
1.425 typedef DGR Digraph;
1.426 - typedef GraphAdaptorExtender<UndirectorBase<DGR> > Parent;
1.427 protected:
1.428 Undirector() { }
1.429 public:
1.430 @@ -2449,10 +2463,10 @@
1.431
1.432 template <typename V>
1.433 class NodeMap : public GR::template NodeMap<V> {
1.434 + typedef typename GR::template NodeMap<V> Parent;
1.435 +
1.436 public:
1.437
1.438 - typedef typename GR::template NodeMap<V> Parent;
1.439 -
1.440 explicit NodeMap(const OrienterBase<GR, DM>& adapter)
1.441 : Parent(*adapter._graph) {}
1.442
1.443 @@ -2474,10 +2488,10 @@
1.444
1.445 template <typename V>
1.446 class ArcMap : public GR::template EdgeMap<V> {
1.447 + typedef typename Graph::template EdgeMap<V> Parent;
1.448 +
1.449 public:
1.450
1.451 - typedef typename Graph::template EdgeMap<V> Parent;
1.452 -
1.453 explicit ArcMap(const OrienterBase<GR, DM>& adapter)
1.454 : Parent(*adapter._graph) { }
1.455
1.456 @@ -2546,6 +2560,7 @@
1.457 class Orienter :
1.458 public DigraphAdaptorExtender<OrienterBase<GR, DM> > {
1.459 #endif
1.460 + typedef DigraphAdaptorExtender<OrienterBase<GR, DM> > Parent;
1.461 public:
1.462
1.463 /// The type of the adapted graph.
1.464 @@ -2553,10 +2568,11 @@
1.465 /// The type of the direction edge map.
1.466 typedef DM DirectionMap;
1.467
1.468 - typedef DigraphAdaptorExtender<OrienterBase<GR, DM> > Parent;
1.469 typedef typename Parent::Arc Arc;
1.470 +
1.471 protected:
1.472 Orienter() { }
1.473 +
1.474 public:
1.475
1.476 /// \brief Constructor
1.477 @@ -2866,10 +2882,11 @@
1.478
1.479 template <typename DGR>
1.480 class SplitNodesBase {
1.481 + typedef DigraphAdaptorBase<const DGR> Parent;
1.482 +
1.483 public:
1.484
1.485 typedef DGR Digraph;
1.486 - typedef DigraphAdaptorBase<const DGR> Parent;
1.487 typedef SplitNodesBase Adaptor;
1.488
1.489 typedef typename DGR::Node DigraphNode;
1.490 @@ -3228,11 +3245,11 @@
1.491
1.492 template <typename V>
1.493 class NodeMap
1.494 - : public SubMapExtender<SplitNodesBase<DGR>, NodeMapBase<V> >
1.495 - {
1.496 + : public SubMapExtender<SplitNodesBase<DGR>, NodeMapBase<V> > {
1.497 + typedef SubMapExtender<SplitNodesBase<DGR>, NodeMapBase<V> > Parent;
1.498 +
1.499 public:
1.500 typedef V Value;
1.501 - typedef SubMapExtender<SplitNodesBase<DGR>, NodeMapBase<Value> > Parent;
1.502
1.503 NodeMap(const SplitNodesBase<DGR>& adaptor)
1.504 : Parent(adaptor) {}
1.505 @@ -3254,11 +3271,11 @@
1.506
1.507 template <typename V>
1.508 class ArcMap
1.509 - : public SubMapExtender<SplitNodesBase<DGR>, ArcMapBase<V> >
1.510 - {
1.511 + : public SubMapExtender<SplitNodesBase<DGR>, ArcMapBase<V> > {
1.512 + typedef SubMapExtender<SplitNodesBase<DGR>, ArcMapBase<V> > Parent;
1.513 +
1.514 public:
1.515 typedef V Value;
1.516 - typedef SubMapExtender<SplitNodesBase<DGR>, ArcMapBase<Value> > Parent;
1.517
1.518 ArcMap(const SplitNodesBase<DGR>& adaptor)
1.519 : Parent(adaptor) {}
1.520 @@ -3324,9 +3341,10 @@
1.521 class SplitNodes
1.522 : public DigraphAdaptorExtender<SplitNodesBase<const DGR> > {
1.523 #endif
1.524 + typedef DigraphAdaptorExtender<SplitNodesBase<const DGR> > Parent;
1.525 +
1.526 public:
1.527 typedef DGR Digraph;
1.528 - typedef DigraphAdaptorExtender<SplitNodesBase<const DGR> > Parent;
1.529
1.530 typedef typename DGR::Node DigraphNode;
1.531 typedef typename DGR::Arc DigraphArc;