diff options
Diffstat (limited to 'stlport/stl/_strstream.h')
-rw-r--r-- | stlport/stl/_strstream.h | 165 |
1 files changed, 0 insertions, 165 deletions
diff --git a/stlport/stl/_strstream.h b/stlport/stl/_strstream.h deleted file mode 100644 index 5e3d4c3..0000000 --- a/stlport/stl/_strstream.h +++ /dev/null @@ -1,165 +0,0 @@ -/* - * Copyright (c) 1999 - * Silicon Graphics Computer Systems, Inc. - * - * Copyright (c) 1999 - * Boris Fomitchev - * - * This material is provided "as is", with absolutely no warranty expressed - * or implied. Any use is at your own risk. - * - * Permission to use or copy this software for any purpose is hereby granted - * without fee, provided the above notices are retained on all copies. - * Permission to modify the code and to distribute modified code is granted, - * provided the above notices are retained, and a notice that the code was - * modified is included with the above copyright notice. - * - */ -#ifndef _STLP_INTERNAL_STRSTREAM -#define _STLP_INTERNAL_STRSTREAM - -#ifndef _STLP_INTERNAL_STREAMBUF -# include <stl/_streambuf.h> -#endif - -#ifndef _STLP_INTERNAL_ISTREAM -# include <stl/_istream.h> // Includes <ostream>, <ios>, <iosfwd> -#endif - -#ifndef _STLP_INTERNAL_STRING_H -# include <stl/_string.h> -#endif - -_STLP_BEGIN_NAMESPACE - -#ifndef _STLP_USE_NAMESPACES -# define strstream _STLP_strstream -# define ostrstream _STLP_ostrstream -# define istrstream _STLP_istrstream -# define strstreambuf _STLP_strstreambuf -#endif - -//---------------------------------------------------------------------- -// Class strstreambuf, a streambuf class that manages an array of char. -// Note that this class is not a template. - -class _STLP_CLASS_DECLSPEC strstreambuf : public basic_streambuf<char, char_traits<char> > { -public: // Types. - typedef char_traits<char> _Traits; - typedef basic_streambuf<char, char_traits<char> > _Base; - typedef void* (*__alloc_fn)(size_t); - typedef void (*__free_fn)(void*); -public: // Constructor, destructor - - explicit strstreambuf(streamsize _Initial_capacity = 0); - - strstreambuf(__alloc_fn, __free_fn); - - strstreambuf(char* __get, streamsize __n, char* __put = 0); - strstreambuf(signed char* __get, streamsize __n, signed char* __put = 0); - strstreambuf(unsigned char* __get, streamsize __n, unsigned char* __put=0); - - strstreambuf(const char* __get, streamsize __n); - strstreambuf(const signed char* __get, streamsize __n); - strstreambuf(const unsigned char* __get, streamsize __n); - - virtual ~strstreambuf(); - -public: // strstreambuf operations. - void freeze(bool = true); - char* str(); - int pcount() const; - -protected: // Overridden virtual member functions. - virtual int_type overflow(int_type __c = _Traits::eof()); - virtual int_type pbackfail(int_type __c = _Traits::eof()); - virtual int_type underflow(); - virtual _Base* setbuf(char* __buf, streamsize __n); - virtual pos_type seekoff(off_type __off, ios_base::seekdir __dir, - ios_base::openmode __mode - = ios_base::in | ios_base::out); - virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode - = ios_base::in | ios_base::out); - -private: // Helper functions. - // Dynamic allocation, possibly using _M_alloc_fun and _M_free_fun. - char* _M_alloc(size_t); - void _M_free(char*); - - // Helper function used in constructors. - void _M_setup(char* __get, char* __put, streamsize __n); -private: // Data members. - __alloc_fn _M_alloc_fun; - __free_fn _M_free_fun; - bool _M_dynamic : 1; - bool _M_frozen : 1; - bool _M_constant : 1; -}; - -//---------------------------------------------------------------------- -// Class istrstream, an istream that manages a strstreambuf. - -class _STLP_CLASS_DECLSPEC istrstream : public basic_istream<char, char_traits<char> > { -public: - explicit istrstream(char*); - explicit istrstream(const char*); - istrstream(char* , streamsize); - istrstream(const char*, streamsize); - virtual ~istrstream(); - - strstreambuf* rdbuf() const; - char* str(); - -private: - strstreambuf _M_buf; -}; - -//---------------------------------------------------------------------- -// Class ostrstream - -class _STLP_CLASS_DECLSPEC ostrstream : public basic_ostream<char, char_traits<char> > -{ -public: - ostrstream(); - ostrstream(char*, int, ios_base::openmode = ios_base::out); - virtual ~ostrstream(); - - strstreambuf* rdbuf() const; - void freeze(bool = true); - char* str(); - int pcount() const; - -private: - strstreambuf _M_buf; -}; - -//---------------------------------------------------------------------- -// Class strstream - -class _STLP_CLASS_DECLSPEC strstream : public basic_iostream<char, char_traits<char> > { -public: - typedef char char_type; - typedef char_traits<char>::int_type int_type; - typedef char_traits<char>::pos_type pos_type; - typedef char_traits<char>::off_type off_type; - - strstream(); - strstream(char*, int, ios_base::openmode = ios_base::in | ios_base::out); - virtual ~strstream(); - - strstreambuf* rdbuf() const; - void freeze(bool = true); - int pcount() const; - char* str(); - -private: - strstreambuf _M_buf; - - //explicitely defined as private to avoid warnings: - strstream(strstream const&); - strstream& operator = (strstream const&); -}; - -_STLP_END_NAMESPACE - -#endif /* _STLP_INTERNAL_STRSTREAM */ |