3193 : _arc_map(*adaptor._digraph, value), |
3193 : _arc_map(*adaptor._digraph, value), |
3194 _node_map(*adaptor._digraph, value) {} |
3194 _node_map(*adaptor._digraph, value) {} |
3195 |
3195 |
3196 void set(const Arc& key, const V& val) { |
3196 void set(const Arc& key, const V& val) { |
3197 if (SplitNodesBase<DGR>::origArc(key)) { |
3197 if (SplitNodesBase<DGR>::origArc(key)) { |
3198 _arc_map.set(key._item.first(), val); |
3198 _arc_map.set(static_cast<const DigraphArc&>(key), val); |
3199 } else { |
3199 } else { |
3200 _node_map.set(key._item.second(), val); |
3200 _node_map.set(static_cast<const DigraphNode&>(key), val); |
3201 } |
3201 } |
3202 } |
3202 } |
3203 |
3203 |
3204 ReturnValue operator[](const Arc& key) { |
3204 ReturnValue operator[](const Arc& key) { |
3205 if (SplitNodesBase<DGR>::origArc(key)) { |
3205 if (SplitNodesBase<DGR>::origArc(key)) { |
3206 return _arc_map[key._item.first()]; |
3206 return _arc_map[static_cast<const DigraphArc&>(key)]; |
3207 } else { |
3207 } else { |
3208 return _node_map[key._item.second()]; |
3208 return _node_map[static_cast<const DigraphNode&>(key)]; |
3209 } |
3209 } |
3210 } |
3210 } |
3211 |
3211 |
3212 ConstReturnValue operator[](const Arc& key) const { |
3212 ConstReturnValue operator[](const Arc& key) const { |
3213 if (SplitNodesBase<DGR>::origArc(key)) { |
3213 if (SplitNodesBase<DGR>::origArc(key)) { |
3214 return _arc_map[key._item.first()]; |
3214 return _arc_map[static_cast<const DigraphArc&>(key)]; |
3215 } else { |
3215 } else { |
3216 return _node_map[key._item.second()]; |
3216 return _node_map[static_cast<const DigraphNode&>(key)]; |
3217 } |
3217 } |
3218 } |
3218 } |
3219 |
3219 |
3220 private: |
3220 private: |
3221 ArcImpl _arc_map; |
3221 ArcImpl _arc_map; |