... | ... |
@@ -3186,43 +3186,43 @@ |
3186 | 3186 |
typedef typename MapTraits<ArcImpl>::ConstReturnValue ConstReturnValue; |
3187 | 3187 |
typedef typename MapTraits<ArcImpl>::ReturnValue Reference; |
3188 | 3188 |
typedef typename MapTraits<ArcImpl>::ConstReturnValue ConstReference; |
3189 | 3189 |
|
3190 | 3190 |
ArcMapBase(const SplitNodesBase<DGR>& adaptor) |
3191 | 3191 |
: _arc_map(*adaptor._digraph), _node_map(*adaptor._digraph) {} |
3192 | 3192 |
ArcMapBase(const SplitNodesBase<DGR>& adaptor, const V& value) |
3193 | 3193 |
: _arc_map(*adaptor._digraph, value), |
3194 | 3194 |
_node_map(*adaptor._digraph, value) {} |
3195 | 3195 |
|
3196 | 3196 |
void set(const Arc& key, const V& val) { |
3197 | 3197 |
if (SplitNodesBase<DGR>::origArc(key)) { |
3198 |
_arc_map.set( |
|
3198 |
_arc_map.set(static_cast<const DigraphArc&>(key), val); |
|
3199 | 3199 |
} else { |
3200 |
_node_map.set( |
|
3200 |
_node_map.set(static_cast<const DigraphNode&>(key), val); |
|
3201 | 3201 |
} |
3202 | 3202 |
} |
3203 | 3203 |
|
3204 | 3204 |
ReturnValue operator[](const Arc& key) { |
3205 | 3205 |
if (SplitNodesBase<DGR>::origArc(key)) { |
3206 |
return _arc_map[ |
|
3206 |
return _arc_map[static_cast<const DigraphArc&>(key)]; |
|
3207 | 3207 |
} else { |
3208 |
return _node_map[ |
|
3208 |
return _node_map[static_cast<const DigraphNode&>(key)]; |
|
3209 | 3209 |
} |
3210 | 3210 |
} |
3211 | 3211 |
|
3212 | 3212 |
ConstReturnValue operator[](const Arc& key) const { |
3213 | 3213 |
if (SplitNodesBase<DGR>::origArc(key)) { |
3214 |
return _arc_map[ |
|
3214 |
return _arc_map[static_cast<const DigraphArc&>(key)]; |
|
3215 | 3215 |
} else { |
3216 |
return _node_map[ |
|
3216 |
return _node_map[static_cast<const DigraphNode&>(key)]; |
|
3217 | 3217 |
} |
3218 | 3218 |
} |
3219 | 3219 |
|
3220 | 3220 |
private: |
3221 | 3221 |
ArcImpl _arc_map; |
3222 | 3222 |
NodeImpl _node_map; |
3223 | 3223 |
}; |
3224 | 3224 |
|
3225 | 3225 |
public: |
3226 | 3226 |
|
3227 | 3227 |
template <typename V> |
3228 | 3228 |
class NodeMap |
0 comments (0 inline)