lemon/adaptors.h
changeset 502 8668e1b5dafb
parent 488 9b9ffe7d9b75
child 503 c786cd201266
equal deleted inserted replaced
13:36cf7a5067aa 14:81702cd717a4
  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;