#ifndef XYMAP_H #define XYMAP_H #include #include using lemon::ListGraph; using lemon::xy; template class XYMap { private: M *xmap, *ymap; public: typedef typename M::Key Key; typedef xy Value; XYMap() {} XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {} void setXMap(M &_xmap) { xmap = &_xmap; } void setYMap(M &_ymap) { ymap = &_ymap; } Value operator[](Key k) const { Value v(xmap->operator[](k), ymap->operator[](k)); return v; } void set(Key k, Value v) { xmap->set(k, v.x); ymap->set(k, v.y); } }; #endif