author | hegyi |
Tue, 19 Sep 2006 07:43:55 +0000 | |
changeset 149 | 930e838ad5b6 |
parent 53 | e73d7540bd24 |
child 150 | 86273bfe0e4d |
permissions | -rw-r--r-- |
ladanyi@53 | 1 |
#ifndef XYMAP_H |
ladanyi@53 | 2 |
#define XYMAP_H |
ladanyi@53 | 3 |
|
ladanyi@53 | 4 |
#include <lemon/list_graph.h> |
ladanyi@53 | 5 |
#include <lemon/xy.h> |
ladanyi@53 | 6 |
|
ladanyi@53 | 7 |
template<class M> |
ladanyi@53 | 8 |
class XYMap |
ladanyi@53 | 9 |
{ |
ladanyi@53 | 10 |
private: |
ladanyi@53 | 11 |
M *xmap, *ymap; |
ladanyi@53 | 12 |
|
ladanyi@53 | 13 |
public: |
ladanyi@53 | 14 |
typedef typename M::Key Key; |
ladanyi@98 | 15 |
typedef lemon::xy<typename M::Value> Value; |
ladanyi@53 | 16 |
XYMap() {} |
ladanyi@53 | 17 |
XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {} |
ladanyi@53 | 18 |
void setXMap(M &_xmap) { xmap = &_xmap; } |
ladanyi@53 | 19 |
void setYMap(M &_ymap) { ymap = &_ymap; } |
ladanyi@53 | 20 |
Value operator[](Key k) const |
ladanyi@53 | 21 |
{ |
ladanyi@53 | 22 |
Value v(xmap->operator[](k), ymap->operator[](k)); |
ladanyi@53 | 23 |
return v; |
ladanyi@53 | 24 |
} |
ladanyi@53 | 25 |
void set(Key k, Value v) |
ladanyi@53 | 26 |
{ |
ladanyi@53 | 27 |
xmap->set(k, v.x); |
ladanyi@53 | 28 |
ymap->set(k, v.y); |
ladanyi@53 | 29 |
} |
ladanyi@53 | 30 |
}; |
ladanyi@53 | 31 |
|
ladanyi@53 | 32 |
#endif |