48 #ifndef _BACKWARD_STRSTREAM 
   49 #define _BACKWARD_STRSTREAM 
   58 namespace std _GLIBCXX_VISIBILITY(default)
 
   60 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   64   class strstreambuf : 
public basic_streambuf<char, char_traits<char> >
 
   68     typedef char_traits<char>              _Traits;
 
   69     typedef basic_streambuf<char, _Traits> _Base;
 
   73     explicit strstreambuf(
streamsize __initial_capacity = 0);
 
   74     strstreambuf(
void* (*__alloc)(
size_t), 
void (*__free)(
void*));
 
   76     strstreambuf(
char* __get, 
streamsize __n, 
char* __put = 0) throw ();
 
   77     strstreambuf(
signed char* __get, 
streamsize __n, 
signed char* __put = 0) throw ();
 
   78     strstreambuf(
unsigned char* __get, 
streamsize __n, 
unsigned char* __put=0) throw ();
 
   80     strstreambuf(const 
char* __get, 
streamsize __n) throw ();
 
   81     strstreambuf(const 
signed char* __get, 
streamsize __n) throw ();
 
   82     strstreambuf(const 
unsigned char* __get, 
streamsize __n) throw ();
 
   84     virtual ~strstreambuf();
 
   87     void freeze(
bool = true) throw ();
 
   89     _GLIBCXX_PURE 
int pcount() const throw ();
 
   92     virtual int_type overflow(int_type __c  = _Traits::eof());
 
   93     virtual int_type pbackfail(int_type __c = _Traits::eof());
 
   94     virtual int_type underflow();
 
   95     virtual _Base* setbuf(
char* __buf, 
streamsize __n);
 
   96     virtual pos_type seekoff(off_type __off, ios_base::seekdir __dir,
 
   97                  ios_base::openmode __mode
 
   98                  = ios_base::in | ios_base::out);
 
   99     virtual pos_type seekpos(pos_type __pos, ios_base::openmode __mode
 
  100                  = ios_base::in | ios_base::out);
 
  104     operator=(const strstreambuf&);
 
  106     strstreambuf(const strstreambuf&);
 
  109     char* _M_alloc(
size_t);
 
  113     void _M_setup(
char* __get, 
char* __put, 
streamsize __n) throw ();
 
  117     void* (*_M_alloc_fun)(
size_t);
 
  118     void  (*_M_free_fun)(
void*);
 
  122     bool _M_constant : 1;
 
  126   class istrstream : public basic_istream<
char>
 
  129     explicit istrstream(
char*);
 
  130     explicit istrstream(
const char*);
 
  133     virtual ~istrstream();
 
  135     _GLIBCXX_CONST strstreambuf* rdbuf() 
const throw ();
 
  136     char* str() throw ();
 
  143   class ostrstream : public basic_ostream<
char>
 
  148     virtual ~ostrstream();
 
  150     _GLIBCXX_CONST strstreambuf* rdbuf() 
const throw ();
 
  151     void freeze(
bool = true) throw();
 
  152     char* str() throw ();
 
  153     _GLIBCXX_PURE 
int pcount() const throw ();
 
  160   class strstream : public basic_iostream<
char>
 
  164     typedef char_traits<char>::int_type 
int_type;
 
  165     typedef char_traits<char>::pos_type 
pos_type;
 
  166     typedef char_traits<char>::off_type 
off_type;
 
  170     virtual ~strstream();
 
  172     _GLIBCXX_CONST strstreambuf* rdbuf() 
const throw ();
 
  173     void freeze(
bool = true) throw ();
 
  174     _GLIBCXX_PURE 
int pcount() const throw ();
 
  175     char* str() throw ();
 
  181 _GLIBCXX_END_NAMESPACE_VERSION
 
traits_type::pos_type pos_type
 
static const openmode in
Open for input. Default for ifstream and fstream. 
 
traits_type::int_type int_type
 
_Ios_Openmode openmode
This is a bitmask type. 
 
static const openmode out
Open for output. Default for ofstream and fstream. 
 
ptrdiff_t streamsize
Integral type for I/O operation counts and buffer sizes. 
 
traits_type::off_type off_type