author | klao |
Fri, 24 Mar 2006 20:27:42 +0000 | |
changeset 2015 | 5e51c9eb5e83 |
parent 1606 | dc4ea2010dee |
permissions | -rw-r--r-- |
1 #ifndef XYMAP_H
2 #define XYMAP_H
4 #include <lemon/list_graph.h>
5 #include <lemon/xy.h>
7 template<class M>
8 class XYMap
9 {
10 private:
11 M *xmap, *ymap;
13 public:
14 typedef typename M::Key Key;
15 typedef lemon::xy<typename M::Value> Value;
16 XYMap() {}
17 XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {}
18 void setXMap(M &_xmap) { xmap = &_xmap; }
19 void setYMap(M &_ymap) { ymap = &_ymap; }
20 Value operator[](Key k) const
21 {
22 Value v(xmap->operator[](k), ymap->operator[](k));
23 return v;
24 }
25 void set(Key k, Value v)
26 {
27 xmap->set(k, v.x);
28 ymap->set(k, v.y);
29 }
30 };
32 #endif