00001 // Information implementation -*- C++ -*- 00002 00003 // $Id: info_contents.h 347 2008-02-06 15:20:01Z schilly $ 00004 // Copyright (C) 2001-2003 Hermann Schichl 00005 // 00006 // This file is part of the COCONUT API. This library 00007 // is free software; you can redistribute it and/or modify it under the 00008 // terms of the Library GNU General Public License as published by the 00009 // Free Software Foundation; either version 2, or (at your option) 00010 // any later version. 00011 00012 // This library is distributed in the hope that it will be useful, 00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 // Library GNU General Public License for more details. 00016 00017 // As a special exception, you may use this file as part of a free software 00018 // library without restriction. Specifically, if other files instantiate 00019 // templates or use macros or inline functions from this file, or you compile 00020 // this file and link it with other files to produce an executable, this 00021 // file does not by itself cause the resulting executable to be covered by 00022 // the Library GNU General Public License. This exception does not however 00023 // invalidate any other reasons why the executable file might be covered by 00024 // the Library GNU General Public License. 00025 00028 #ifndef _INFO_CONTENTS_H 00029 #define _INFO_CONTENTS_H 00030 00031 #include <coconut_config.h> 00032 #include <coconut_types.h> 00033 #include <datamap.h> 00034 00035 namespace coco { 00036 00038 00042 class info_contents : public datamap 00043 { 00044 private: 00046 typedef datamap _Base; 00047 00048 public: 00050 info_contents() : _Base() {} 00052 info_contents(const std::string& __n, const basic_alltype& __v) 00053 : _Base(__n, __v) {} 00055 info_contents(const char* __n, const basic_alltype& __v) 00056 : _Base(__n, __v) {} 00058 info_contents(const info_contents& __c) : _Base(__c) {} 00060 virtual ~info_contents() {} 00061 00063 info_contents& operator=(const info_contents& __c) 00064 { 00065 ((_Base*)this)->operator=(__c); 00066 return *this; 00067 } 00068 }; 00069 00070 } // namespace coco 00071 00072 #endif /* _INFO_CONTENTS_H */