// Copyright (c) 1997-2002 Max-Planck-Institute Saarbruecken (Germany). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // You can redistribute it and/or modify it under the terms of the GNU // General Public License as published by the Free Software Foundation, // either version 3 of the License, or (at your option) any later version. // // Licensees holding a valid commercial license may use this file in // accordance with the commercial license agreement provided with the software. // // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. // // $URL$ // $Id$ // // // Author(s) : Michael Seel #ifndef CGAL_GENERIC_HANDLE_MAP_H #define CGAL_GENERIC_HANDLE_MAP_H #include namespace CGAL { struct Void_handle_hash_function { std::size_t operator() (void* h) const { return std::size_t(h); } }; template class Generic_handle_map : public Unique_hash_map { typedef Unique_hash_map Base; public: Generic_handle_map() : Base() {} Generic_handle_map(I i) : Base(i) {} template const I& operator[](H h) const { return Base::operator[](&*h); } template I& operator[](H h) { return Base::operator[](&*h); } }; } //namespace CGAL #endif //CGAL_GENERIC_HANDLE_MAP_H