alpar@174: /* -*- C++ -*- alpar@174: * alpar@174: * This file is a part of LEMON, a generic C++ optimization library alpar@174: * alpar@174: * Copyright (C) 2003-2006 alpar@174: * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport alpar@174: * (Egervary Research Group on Combinatorial Optimization, EGRES). alpar@174: * alpar@174: * Permission to use, modify and distribute this software is granted alpar@174: * provided that this copyright notice appears in all copies. For alpar@174: * precise terms see the accompanying LICENSE file. alpar@174: * alpar@174: * This software is provided "AS IS" with no warranty of any kind, alpar@174: * express or implied, and with no claim as to its suitability for any alpar@174: * purpose. alpar@174: * alpar@174: */ alpar@174: ladanyi@53: #ifndef XYMAP_H ladanyi@53: #define XYMAP_H ladanyi@53: ladanyi@53: #include hegyi@150: #include ladanyi@53: ladanyi@53: template ladanyi@53: class XYMap ladanyi@53: { ladanyi@53: private: ladanyi@53: M *xmap, *ymap; ladanyi@53: ladanyi@53: public: ladanyi@53: typedef typename M::Key Key; hegyi@150: typedef lemon::dim2::Point Value; ladanyi@53: XYMap() {} ladanyi@53: XYMap(M &_xmap, M &_ymap) : xmap(&_xmap), ymap(&_ymap) {} ladanyi@53: void setXMap(M &_xmap) { xmap = &_xmap; } ladanyi@53: void setYMap(M &_ymap) { ymap = &_ymap; } ladanyi@53: Value operator[](Key k) const ladanyi@53: { ladanyi@53: Value v(xmap->operator[](k), ymap->operator[](k)); ladanyi@53: return v; ladanyi@53: } ladanyi@53: void set(Key k, Value v) ladanyi@53: { ladanyi@53: xmap->set(k, v.x); ladanyi@53: ymap->set(k, v.y); ladanyi@53: } ladanyi@53: }; ladanyi@53: ladanyi@53: #endif