gui/xymap.h
author klao
Fri, 10 Mar 2006 18:17:37 +0000
changeset 2004 b8f10207e3d6
parent 1606 dc4ea2010dee
permissions -rw-r--r--
UnionFindEnum: one remaining bug; removing commented out code
     1 #ifndef XYMAP_H
     2 #define XYMAP_H
     3 
     4 #include <lemon/list_graph.h>
     5 #include <lemon/xy.h>
     6 
     7 template<class M>
     8 class XYMap
     9 {
    10   private:
    11     M *xmap, *ymap;
    12 
    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 };
    31 
    32 #endif