00001 /* 00002 * This file is part of Micole Architecture 00003 * 00004 * Copyright (C) 2007 Micole partners 00005 * 00006 * Micole Architecture is free software: you can redistribute it 00007 * and/or modify it under the terms of the GNU Lesser General 00008 * Public License as published by the Free Software Foundation, 00009 * either version 3 of the License, or (at your option) any 00010 * later version. 00011 * 00012 * Micole Architecture is distributed in the hope that it will be 00013 * useful, * but WITHOUT ANY WARRANTY; without even the implied 00014 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00015 * PURPOSE. See the GNU Lesser General Public License for more 00016 * details. 00017 * 00018 * You should have received a copy of the GNU Lesser General Public 00019 * License along with Micole Architecture. If not, see 00020 * <http://www.gnu.org/licenses/>. 00021 */ 00022 00023 #ifndef MicoleStringStream_H 00024 #define MicoleStringStream_H 00025 00026 #include "micolelib.h" 00027 #include <string> 00028 #include <stdlib.h> 00029 00030 using namespace std; 00031 00045 class MICOLELIB_API MicoleStringStream 00046 { 00047 public: 00048 MicoleStringStream(); 00049 MicoleStringStream(const MicoleStringStream &mss); 00050 virtual ~MicoleStringStream(); 00051 00052 string getString() const; 00053 string str() const; 00054 void flush(); 00055 00056 MicoleStringStream & operator= (const MicoleStringStream &mss); 00057 MicoleStringStream & operator<< (const string &pStr); 00058 MicoleStringStream & operator<< (int); 00059 MicoleStringStream & operator<< (double); 00060 00061 private: 00062 string _data; 00063 }; 00064 //end core 00066 00067 #endif