outputstringstream.h

Go to the documentation of this file.
00001 #ifndef OUTPUTSTRINGSTREAM_H
00002 #define OUTPUTSTRINGSTREAM_H
00003 
00004 #include "zipios-config.h"
00005 
00006 #include "meta-iostreams.h"
00007 #include <string>
00008 
00009 namespace zipios {
00010 
00011 #if defined (HAVE_STD_IOSTREAM) && defined (USE_STD_IOSTREAM)
00012 
00013 typedef std::ostringstream OutputStringStream ;
00014 
00015 #else
00016 
00024 class OutputStringStream : public std::ostrstream {
00025 public:
00026 
00029   inline std::string str() {
00030     *this << std::ends ; // null terminate ostrstream
00031     string o_str( ostrstream::str() ) ;
00032     freeze( 0 ) ;
00033     return o_str ;
00034   }
00035 private:
00036   // To avoid invoking such a member function in the base
00037   // class if there is one!
00038   std::string str() const ; 
00039 };
00040 
00041 #endif
00042 
00043 } // namespace 
00044 
00045 
00046 #endif
00047 
00052 /*
00053   Zipios++ - a small C++ library that provides easy access to .zip files.
00054   Copyright (C) 2000  Thomas Søndergaard
00055   
00056   This library is free software; you can redistribute it and/or
00057   modify it under the terms of the GNU Lesser General Public
00058   License as published by the Free Software Foundation; either
00059   version 2 of the License, or (at your option) any later version.
00060   
00061   This library is distributed in the hope that it will be useful,
00062   but WITHOUT ANY WARRANTY; without even the implied warranty of
00063   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00064   Lesser General Public License for more details.
00065   
00066   You should have received a copy of the GNU Lesser General Public
00067   License along with this library; if not, write to the Free Software
00068   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
00069 */

Generated on Wed Nov 23 19:00:24 2011 for FreeCAD by  doxygen 1.6.1