lemon/graph_adaptor.h
changeset 1725 22752dd6c693
parent 1697 4c593a4096da
child 1755 bf267b301a5e
equal deleted inserted replaced
10:1dddb9c59143 11:f5925f1665e6
  1524       void set(const Node& key, const T& val) {
  1524       void set(const Node& key, const T& val) {
  1525 	if (key.entry) { entry.set(key, val); }
  1525 	if (key.entry) { entry.set(key, val); }
  1526 	else {exit.set(key, val); }
  1526 	else {exit.set(key, val); }
  1527       }
  1527       }
  1528       
  1528       
  1529       typename ReferenceMapTraits<NodeImpl>::Reference 
  1529       typename MapTraits<NodeImpl>::ReturnValue 
  1530       operator[](const Node& key) {
  1530       operator[](const Node& key) {
  1531 	if (key.entry) { return entry[key]; }
  1531 	if (key.entry) { return entry[key]; }
  1532 	else { return exit[key]; }
  1532 	else { return exit[key]; }
  1533       }
  1533       }
  1534 
  1534 
  1535       T operator[](const Node& key) const {
  1535       typename MapTraits<NodeImpl>::ConstReturnValue
       
  1536       operator[](const Node& key) const {
  1536 	if (key.entry) { return entry[key]; }
  1537 	if (key.entry) { return entry[key]; }
  1537 	else { return exit[key]; }
  1538 	else { return exit[key]; }
  1538       }
  1539       }
  1539 
  1540 
  1540     private:
  1541     private:
  1554       void set(const Edge& key, const T& val) {
  1555       void set(const Edge& key, const T& val) {
  1555 	if ((typename Parent::Edge&)key != INVALID) { orig.set(key, val); }
  1556 	if ((typename Parent::Edge&)key != INVALID) { orig.set(key, val); }
  1556 	else {bind.set(key.bind, val); }
  1557 	else {bind.set(key.bind, val); }
  1557       }
  1558       }
  1558       
  1559       
  1559       typename ReferenceMapTraits<EdgeImpl>::Reference
  1560       typename MapTraits<EdgeImpl>::ReturnValue
  1560       operator[](const Edge& key) {
  1561       operator[](const Edge& key) {
  1561 	if ((typename Parent::Edge&)key != INVALID) { return orig[key]; }
  1562 	if ((typename Parent::Edge&)key != INVALID) { return orig[key]; }
  1562 	else {return bind[key.bind]; }
  1563 	else {return bind[key.bind]; }
  1563       }
  1564       }
  1564 
  1565 
  1565       T operator[](const Edge& key) const {
  1566       typename MapTraits<EdgeImpl>::ConstReturnValue
       
  1567       operator[](const Edge& key) const {
  1566 	if ((typename Parent::Edge&)key != INVALID) { return orig[key]; }
  1568 	if ((typename Parent::Edge&)key != INVALID) { return orig[key]; }
  1567 	else {return bind[key.bind]; }
  1569 	else {return bind[key.bind]; }
  1568       }
  1570       }
  1569 
  1571 
  1570     private:
  1572     private: