00001 00002 /* 00003 jaula_value_object.h : JSON Analysis User Library Acronym 00004 JSON object values definitions 00005 00006 Copyright (C) 2007 Kombo Morongo <morongo666@gmail.com> 00007 00008 This library is free software; you can redistribute it and/or 00009 modify it under the terms of the GNU Lesser General Public 00010 License as published by the Free Software Foundation; either 00011 version 2.1 of the License, or (at your option) any later version. 00012 00013 This library is distributed in the hope that it will be useful, 00014 but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 Lesser General Public License for more details. 00017 00018 You should have received a copy of the GNU Lesser General Public 00019 License along with this library; if not, write to the Free Software 00020 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00021 00022 svn info: 00023 00024 $Author: morongo $ 00025 $HeadURL: https://jaula.svn.sourceforge.net/svnroot/jaula/trunk/jaula/jaula_value_object.h $ 00026 $Id: jaula_value_object.h 2 2007-04-13 19:00:00Z morongo $ 00027 $Revision: 2 $ 00028 */ 00029 00030 #ifndef _JAULA_VALUE_OBJECT_H_ 00031 #define _JAULA_VALUE_OBJECT_H_ 00032 00033 #include <map> 00034 00035 #include <jaula/jaula_name_duplicated.h> 00036 #include <jaula/jaula_value_complex.h> 00037 00046 namespace JAULA 00047 { // namespace JAULA 00048 00059 class Value_Object : public Value_Complex 00060 { // class Value_Object 00061 public: 00062 00073 typedef std::map<std::string, Value *> dataType; 00074 00081 Value_Object(void); 00082 00092 Value_Object(dataType const &data); 00093 00102 virtual ~Value_Object(); 00103 00107 dataType const &getData(void) const; 00108 00119 virtual void repr(std::ostream &ostr) const; 00120 00127 virtual bool empty(void) const; 00128 00135 virtual size_t size(void) const; 00136 00147 void set(dataType const &data); 00148 00163 virtual void set(Value const &origin) throw(Bad_Data_Type); 00164 00181 void insertItem(std::string const &name, Value const &item) throw(Name_Duplicated); 00182 00193 virtual void clear(void); 00194 00195 private: 00196 00200 dataType data_; 00201 }; // class Value_Object 00202 00203 } // namespace JAULA 00204 #endif 00205 00206 // EOF $Id: jaula_value_object.h 2 2007-04-13 19:00:00Z morongo $
Copyright (c) 2007 Kombo Morongo.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".