diff options
| author | Alexander Kabaev <kan@FreeBSD.org> | 2002-09-01 20:39:13 +0000 |
|---|---|---|
| committer | Alexander Kabaev <kan@FreeBSD.org> | 2002-09-01 20:39:13 +0000 |
| commit | ca6500fcd0812d2b2da8a62d52b3613b4cbab12a (patch) | |
| tree | f69812e8f56ae46c848e604412b0729b776c7756 /contrib/libstdc++/include/backward | |
| parent | bb3c979bf518abbe971bd277250c68a3ec567b59 (diff) | |
Notes
Diffstat (limited to 'contrib/libstdc++/include/backward')
| -rw-r--r-- | contrib/libstdc++/include/backward/strstream | 204 |
1 files changed, 95 insertions, 109 deletions
diff --git a/contrib/libstdc++/include/backward/strstream b/contrib/libstdc++/include/backward/strstream index 28308e3dfeeb..165c6e70dd4a 100644 --- a/contrib/libstdc++/include/backward/strstream +++ b/contrib/libstdc++/include/backward/strstream @@ -1,6 +1,6 @@ // Backward-compat support -*- C++ -*- -// Copyright (C) 2001 Free Software Foundation, Inc. +// Copyright (C) 2001, 2002 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the @@ -57,132 +57,118 @@ namespace std { + // Class strstreambuf, a streambuf class that manages an array of char. + // Note that this class is not a template. + class strstreambuf : public basic_streambuf<char, char_traits<char> > + { + public: + // Types. + typedef char_traits<char> _Traits; + typedef basic_streambuf<char, _Traits> _Base; -//---------------------------------------------------------------------- -// Class strstreambuf, a streambuf class that manages an array of char. -// Note that this class is not a template. + public: + // Constructor, destructor + explicit strstreambuf(streamsize __initial_capacity = 0); + strstreambuf(void* (*__alloc)(size_t), void (*__free)(void*)); -class strstreambuf : public basic_streambuf<char, char_traits<char> > -{ -public: // Types. - typedef char_traits<char> _Traits; - typedef basic_streambuf<char, _Traits> _Base; - -public: // Constructor, destructor - explicit strstreambuf(streamsize __initial_capacity = 0); - strstreambuf(void* (*__alloc)(size_t), void (*__free)(void*)); - - 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); + 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); -private: // Helper functions. - // Dynamic allocation, possibly using _M_alloc_fun and _M_free_fun. - char* _M_alloc(size_t); - void _M_free(char*); + strstreambuf(const char* __get, streamsize __n); + strstreambuf(const signed char* __get, streamsize __n); + strstreambuf(const unsigned char* __get, streamsize __n); - // Helper function used in constructors. - void _M_setup(char* __get, char* __put, streamsize __n); + virtual ~strstreambuf(); -private: // Data members. - void* (*_M_alloc_fun)(size_t); - void (*_M_free_fun)(void*); + public: + void freeze(bool = true); + char* str(); + int pcount() const; - bool _M_dynamic : 1; - bool _M_frozen : 1; - bool _M_constant : 1; -}; + protected: + 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); -//---------------------------------------------------------------------- -// Class istrstream, an istream that manages a strstreambuf. + private: + // Dynamic allocation, possibly using _M_alloc_fun and _M_free_fun. + char* _M_alloc(size_t); + void _M_free(char*); -class istrstream : public basic_istream<char> -{ -public: - explicit istrstream(char*); - explicit istrstream(const char*); - istrstream(char* , streamsize); - istrstream(const char*, streamsize); - virtual ~istrstream(); + // Helper function used in constructors. + void _M_setup(char* __get, char* __put, streamsize __n); - strstreambuf* rdbuf() const; - char* str(); + private: + // Data members. + void* (*_M_alloc_fun)(size_t); + void (*_M_free_fun)(void*); -private: - strstreambuf _M_buf; -}; + bool _M_dynamic : 1; + bool _M_frozen : 1; + bool _M_constant : 1; + }; -//---------------------------------------------------------------------- -// Class ostrstream + // Class istrstream, an istream that manages a strstreambuf. + class istrstream : public basic_istream<char> + { + public: + explicit istrstream(char*); + explicit istrstream(const char*); + istrstream(char* , streamsize); + istrstream(const char*, streamsize); + virtual ~istrstream(); -class ostrstream : public basic_ostream<char> -{ -public: - ostrstream(); - ostrstream(char*, int, ios_base::openmode = ios_base::out); - virtual ~ostrstream(); + strstreambuf* rdbuf() const; + char* str(); - strstreambuf* rdbuf() const; - void freeze(bool = true); - char* str(); - int pcount() const; + private: + strstreambuf _M_buf; + }; -private: - strstreambuf _M_buf; -}; + // Class ostrstream + class ostrstream : public basic_ostream<char> + { + public: + ostrstream(); + ostrstream(char*, int, ios_base::openmode = ios_base::out); + virtual ~ostrstream(); -//---------------------------------------------------------------------- -// Class strstream + strstreambuf* rdbuf() const; + void freeze(bool = true); + char* str(); + int pcount() const; -class strstream : public basic_iostream<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; + private: + strstreambuf _M_buf; + }; - strstream(); - strstream(char*, int, ios_base::openmode = ios_base::in | ios_base::out); - virtual ~strstream(); + // Class strstream + class strstream : public basic_iostream<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; - strstreambuf* rdbuf() const; - void freeze(bool = true); - int pcount() const; - char* str(); + strstream(); + strstream(char*, int, ios_base::openmode = ios_base::in | ios_base::out); + virtual ~strstream(); -private: - strstreambuf _M_buf; -}; + strstreambuf* rdbuf() const; + void freeze(bool = true); + int pcount() const; + char* str(); + private: + strstreambuf _M_buf; + }; } // namespace std - -#endif /* __SGI_STL_STRSTREAM */ - -// Local Variables: -// mode:C++ -// End: - - +#endif |
