author | deba |
Fri, 14 Oct 2005 10:49:51 +0000 | |
changeset 1720 | 578d8b2b76c6 |
child 1860 | 27a9a75b957b |
permissions | -rw-r--r-- |
1 #ifndef XYMAP_H
2 #define XYMAP_H
4 #include <lemon/list_graph.h>
5 #include <lemon/xy.h>
7 using lemon::ListGraph;
8 using lemon::xy;
10 template<class M>
11 class XYMap
12 {
13 private:
14 M *xmap, *ymap;
16 public:
17 typedef typename M::Key Key;
18 typedef xy<typename M::Value> Value;
19 XYMap() {}
20 XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {}
21 void setXMap(M &_xmap) { xmap = &_xmap; }
22 void setYMap(M &_ymap) { ymap = &_ymap; }
23 Value operator[](Key k) const
24 {
25 Value v(xmap->operator[](k), ymap->operator[](k));
26 return v;
27 }
28 void set(Key k, Value v)
29 {
30 xmap->set(k, v.x);
31 ymap->set(k, v.y);
32 }
33 };
35 #endif