1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/xymap.h Fri Jul 29 12:01:37 2005 +0000
1.3 @@ -0,0 +1,35 @@
1.4 +#ifndef XYMAP_H
1.5 +#define XYMAP_H
1.6 +
1.7 +#include <lemon/list_graph.h>
1.8 +#include <lemon/xy.h>
1.9 +
1.10 +using lemon::ListGraph;
1.11 +using lemon::xy;
1.12 +
1.13 +template<class M>
1.14 +class XYMap
1.15 +{
1.16 + private:
1.17 + M *xmap, *ymap;
1.18 +
1.19 + public:
1.20 + typedef typename M::Key Key;
1.21 + typedef xy<typename M::Value> Value;
1.22 + XYMap() {}
1.23 + XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {}
1.24 + void setXMap(M &_xmap) { xmap = &_xmap; }
1.25 + void setYMap(M &_ymap) { ymap = &_ymap; }
1.26 + Value operator[](Key k) const
1.27 + {
1.28 + Value v(xmap->operator[](k), ymap->operator[](k));
1.29 + return v;
1.30 + }
1.31 + void set(Key k, Value v)
1.32 + {
1.33 + xmap->set(k, v.x);
1.34 + ymap->set(k, v.y);
1.35 + }
1.36 +};
1.37 +
1.38 +#endif