std::strstreambuf(3)
NAME
std::strstreambuf
SYNOPSIS
Inherits std::basic_streambuf< CharT, Traits >< char,
std::char_traits< char > >.
locale pubimbue (const locale &__loc)
Entry point for imbue().
locale getloc () const
Locale access.
streambuf_type * pubsetbuf (char_type *s, streamsize n)
Entry points for derived buffer functions.
pos_type pubseekoff (off_type __off, ios_base::seekdir
__way, ios_base::openmode __mode=ios_base::in|ios_base::out)
Entry point for imbue().
pos_type pubseekpos (pos_type sp, ios_base::openmode
__mode=ios_base::in|ios_base::out)
Entry point for imbue().
int pubsync ()
Entry point for imbue().
char_type * M_in_beg
Entry point for imbue().
char_type * M_in_cur
Entry point for imbue().
char_type * M_in_end
Entry point for imbue().
char_type * M_out_beg
Entry point for imbue().
char_type * M_out_cur
Entry point for imbue().
char_type * M_out_end
Entry point for imbue().
locale M_buf_locale
Entry point for imbue().
Public Types
typedef char_traits< char > Traits
typedef basic_streambuf< char, Traits > Base
typedef CharT char_type
typedef Traits traits_type
typedef traits_type::int_type int_type
typedef traits_type::pos_type pos_type
typedef traits_type::off_type off_type
typedef basic_streambuf< char_type, traits_type >
streambuf_type
Public Member Functions
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 ()
void freeze (bool=true)
char * str ()
int pcount () const
streamsize in_avail ()
Looking ahead into the stream.
int_type snextc ()
Getting the next character.
int_type sbumpc ()
Getting the next character.
int_type sgetc ()
Getting the next character.
streamsize sgetn (char_type *s, streamsize n)
Entry point for xsgetn.
int_type sputbackc (char_type c)
Pushing characters back into the input stream.
int_type sungetc ()
Moving backwards in the input stream.
int_type sputc (char_type c)
Entry point for all single-character output functions.
streamsize sputn (const char_type *s, streamsize n)
Entry point for all single-character output functions.
Protected Member Functions
virtual int_type overflow (int_type c=Traits::eof())
virtual int_type pbackfail (int_type c=Traits::eof())
virtual int_type underflow ()
Fetches more data from the controlled sequence.
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 position,
ios_base::openmode __mode=ios_base::in|ios_base::out)
void gbump (int n)
Moving the read position.
void setg (char_type *__gbeg, char_type *__gnext,
char_type *__gend)
Setting the three read area pointers.
void pbump (int n)
Moving the write position.
void setp (char_type *__pbeg, char_type *__pend)
Setting the three write area pointers.
virtual void imbue (const locale &)
Changes translations.
virtual basic_streambuf< char_type, Traits > * setbuf
(char_type *, streamsize)
Maniuplates the buffer.
virtual pos_type seekoff (off_type, ios_base::seekdir,
ios_base::openmode=ios_base::in|ios_base::out)
Alters the stream positions.
virtual pos_type seekpos (pos_type,
ios_base::openmode=ios_base::in|ios_base::out)
Alters the stream positions.
virtual int sync ()
Synchronizes the buffer arrays with the controlled
sequences.
virtual streamsize showmanyc ()
Investigating the data available.
virtual streamsize xsgetn (char_type *s, streamsize n)
Multiple character extraction.
virtual int_type uflow ()
Fetches more data from the controlled sequence.
virtual int_type pbackfail (int_type=traits_type::eof())
Tries to back up the input sequence.
virtual streamsize xsputn (const char_type *s, streamsize
n)
Multiple character insertion.
virtual int_type overflow (int_type=traits_type::eof())
Consumes data from the buffer; writes to the
controlled sequence.
char_type * eback () const
Access to the get area.
char_type * gptr () const
Access to the get area.
char_type * egptr () const
Access to the get area.
char_type * pbase () const
Access to the put area.
char_type * pptr () const
Access to the put area.
char_type * epptr () const
Access to the put area.
Private Member Functions
char * M_alloc (size_t)
void M_free (char *)
void M_setup (char *__get, char *__put, streamsize n)
Private Attributes
bool M_dynamic: 1
bool M_frozen: 1
bool M_constant: 1
Friends
class basic_ios< char_type, traits_type >
class basic_istream< char_type, traits_type >
class basic_ostream< char_type, traits_type >
class istreambuf_iterator< char_type, traits_type >
class ostreambuf_iterator< char_type, traits_type >
Detailed Description
Definition at line 62 of file strstream.
Member Typedef Documentation
- template<typename CharT, typename Traits> typedef CharT
- std::basic_streambuf< CharT, Traits >::char_type [inherited]
- These are standard types. They permit a standardized way
- of referring to names of (or names dependant on) the template pa
- rameters, which are specific to the implementation.
- Reimplemented in __gnu_cxx::stdio_filebuf< CharT, Traits
- >, __gnu_cxx::stdio_sync_filebuf< CharT, Traits >,
- std::basic_filebuf< CharT, Traits >, std::basic_stringbuf< CharT,
Traits, Alloc >
- __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 132 of file streambuf.
- template<typename CharT, typename Traits> typedef Traits
- std::basic_streambuf< CharT, Traits >::traits_type [inherited]
- These are standard types. They permit a standardized way
- of referring to names of (or names dependant on) the template pa
- rameters, which are specific to the implementation.
- Reimplemented in __gnu_cxx::enc_filebuf< CharT >,
- __gnu_cxx::stdio_filebuf< CharT, Traits >,
- __gnu_cxx::stdio_sync_filebuf< CharT, Traits >,
- std::basic_filebuf< CharT, Traits >, std::basic_stringbuf< CharT,
Traits, Alloc >
- __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 133 of file streambuf.
- template<typename CharT, typename Traits> typedef
- traits_type::int_type std::basic_streambuf< CharT, Traits
- >::int_type [inherited]
- These are standard types. They permit a standardized way
- of referring to names of (or names dependant on) the template pa
- rameters, which are specific to the implementation.
- Reimplemented in __gnu_cxx::stdio_filebuf< CharT, Traits
- >, __gnu_cxx::stdio_sync_filebuf< CharT, Traits >,
- std::basic_filebuf< CharT, Traits >, std::basic_stringbuf< CharT,
Traits, Alloc >
- __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 134 of file streambuf.
- template<typename CharT, typename Traits> typedef
- traits_type::pos_type std::basic_streambuf< CharT, Traits
- >::pos_type [inherited]
- These are standard types. They permit a standardized way
- of referring to names of (or names dependant on) the template pa
- rameters, which are specific to the implementation.
- Reimplemented in __gnu_cxx::enc_filebuf< CharT >,
- __gnu_cxx::stdio_filebuf< CharT, Traits >,
- __gnu_cxx::stdio_sync_filebuf< CharT, Traits >,
- std::basic_filebuf< CharT, Traits >, std::basic_stringbuf< CharT,
Traits, Alloc >
- __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 135 of file streambuf.
- template<typename CharT, typename Traits> typedef
- traits_type::off_type std::basic_streambuf< CharT, Traits
- >::off_type [inherited]
- These are standard types. They permit a standardized way
- of referring to names of (or names dependant on) the template pa
- rameters, which are specific to the implementation.
- Reimplemented in __gnu_cxx::stdio_filebuf< CharT, Traits
- >, __gnu_cxx::stdio_sync_filebuf< CharT, Traits >,
- std::basic_filebuf< CharT, Traits >, std::basic_stringbuf< CharT,
Traits, Alloc >
__gnu_cxx::enc_char_traits< CharT > >.
Definition at line 136 of file streambuf.
Member Function Documentation
- strstreambuf::int_type std::strstreambuf::underflow ()
- [protected, virtual]
- Fetches more data from the controlled sequence.
- Returns:
The first character from the pending sequence.
- Informally, this function is called when the input buffer
- is exhausted (or does not exist, as buffering need not actually
- be done). If a buffer exists, it is 'refilled'. In either case,
- the next available character is returned, or traits::eof() to in
- dicate a null pending sequence.
- For a formal definiton of the pending sequence, see a good
- text such as Langer & Kreft, or [27.5.2.4.3]/7-14.
- A functioning input streambuf can be created by overriding
- only this function (no buffer area will be used). For an example,
- see http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#6
- Note:
Base class version does nothing, returns eof().
- Reimplemented from std::basic_streambuf< CharT, Traits >.
- Definition at line 213 of file strstream.cc.
- References std::basic_streambuf< CharT, Traits >::eback(),
- std::basic_streambuf< CharT, Traits >::egptr(), std::ba
- sic_streambuf< CharT, Traits >::gptr(), std::basic_streambuf<
- CharT, Traits >::pptr(), and std::basic_streambuf< CharT, Traits
- >::setg().
- template<typename CharT, typename Traits> locale
- std::basic_streambuf< CharT, Traits >::pubimbue (const locale &
- __loc) [inline, inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 198 of file streambuf.
- template<typename CharT, typename Traits> locale
- std::basic_streambuf< CharT, Traits >::getloc () const [inline,
- inherited]
- Locale access.
- Returns:
The current locale in effect.
- If pubimbue(loc) has been called, then the most recent loc
- is returned. Otherwise the global locale in effect at the time of
- construction is returned.
- Definition at line 215 of file streambuf.
- template<typename CharT, typename Traits> streambuf_type*
- std::basic_streambuf< CharT, Traits >::pubsetbuf (char_type * s,
- streamsize n) [inline, inherited]
- Entry points for derived buffer functions.
- The public versions of pubfoo dispatch to the protected
- derived foo member functions, passing the arguments (if any) and
- returning the result unchanged.
- Definition at line 228 of file streambuf.
- template<typename CharT, typename Traits> pos_type
- std::basic_streambuf< CharT, Traits >::pubseekoff (off_type
- __off, ios_base::seekdir __way, ios_base::openmode __mode =
- ios_base::in | ios_base::out) [inline, inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 232 of file streambuf.
- template<typename CharT, typename Traits> pos_type
- std::basic_streambuf< CharT, Traits >::pubseekpos (pos_type sp,
- ios_base::openmode __mode = ios_base::in | ios_base::out)
- [inline, inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 237 of file streambuf.
- template<typename CharT, typename Traits> int
- std::basic_streambuf< CharT, Traits >::pubsync () [inline,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 242 of file streambuf.
- template<typename CharT, typename Traits> streamsize
- std::basic_streambuf< CharT, Traits >::in_avail () [inline,
- inherited]
- Looking ahead into the stream.
- Returns:
The number of characters available.
- If a read position is available, returns the number of
- characters available for reading before the buffer must be re
- filled. Otherwise returns the derived showmanyc().
- Definition at line 255 of file streambuf.
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::snextc () [inline,
- inherited]
- Getting the next character.
- Returns:
The next character, or eof.
- Calls sbumpc(), and if that function returns
- traits::eof(), so does this function. Otherwise, sgetc().
- Definition at line 269 of file streambuf.
- Referenced by std::copy_streambufs().
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::sbumpc () [inline,
- inherited]
- Getting the next character.
- Returns:
The next character, or eof.
- If the input read position is available, returns that
- character and increments the read pointer, otherwise calls and
- returns uflow().
- Definition at line 287 of file streambuf.
- Referenced by std::operator>>().
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::sgetc () [inline,
- inherited]
- Getting the next character.
- Returns:
The next character, or eof.
- If the input read position is available, returns that
- character, otherwise calls and returns underflow(). Does not move
- the read position after fetching the character.
- Definition at line 309 of file streambuf.
- Referenced by std::copy_streambufs().
- template<typename CharT, typename Traits> streamsize
- std::basic_streambuf< CharT, Traits >::sgetn (char_type * s,
- streamsize n) [inline, inherited]
- Entry point for xsgetn.
- Parameters:
s A buffer area.
n A count. - Returns xsgetn(s,n). The effect is to fill s[0] through
- s[n-1] with characters from the input sequence, if possible.
- Definition at line 328 of file streambuf.
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::sputbackc (char_type c)
- [inline, inherited]
- Pushing characters back into the input stream.
- Parameters:
c The character to push back.
- Returns:
The previous character, if possible.
- Similar to sungetc(), but c is pushed onto the stream in
- stead of 'the previous character'. If successful, the next char
- acter fetched from the input stream will be c.
- Definition at line 342 of file streambuf.
- Referenced by std::operator>>().
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::sungetc () [inline,
- inherited]
- Moving backwards in the input stream.
- Returns:
The previous character, if possible.
- If a putback position is available, this function decre
- ments the input pointer and returns that character. Otherwise,
- calls and returns pbackfail(). The effect is to 'unget' the last
- character 'gotten'.
- Definition at line 367 of file streambuf.
- template<typename CharT, typename Traits> int_type
- std::basic_streambuf< CharT, Traits >::sputc (char_type c)
- [inline, inherited]
- Entry point for all single-character output functions.
- Parameters:
c A character to output.
- Returns:
c, if possible.
- One of two public output functions.
- If a write position is available for the output sequence
- (i.e., the buffer is not full), stores c in that position, incre
- ments the position, and returns traits::to_int_type(c). If a
- write position is not available, returns overflow(c).
- Definition at line 394 of file streambuf.
- Referenced by std::copy_streambufs(), and std::ba
- sic_stringbuf< CharT, Traits, Alloc >::overflow().
- template<typename CharT, typename Traits> streamsize
- std::basic_streambuf< CharT, Traits >::sputn (const char_type *
- s, streamsize n) [inline, inherited]
- Entry point for all single-character output functions.
- Parameters:
s A buffer read area.
n A count. - One of two public output functions.
- Returns xsputn(s,n). The effect is to write s[0] through
- s[n-1] to the output sequence, if possible.
- Definition at line 420 of file streambuf.
- Referenced by std::copy_streambufs().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::eback () const [inline,
- protected, inherited]
- Access to the get area.
- These functions are only available to other protected
- functions, including derived classes.
- · eback() returns the beginning pointer for the input se
- quence
- · gptr() returns the next pointer for the input sequence
- · egptr() returns the end pointer for the input sequence
- Definition at line 452 of file streambuf.
- Referenced by std::basic_filebuf< CharT, Traits >::im
- bue(), std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits<
- CharT > >::M_destroy_pback(), overflow(), std::basic_stringbuf<
- CharT, Traits, Alloc >::overflow(), pbackfail(), seekoff(),
- std::basic_stringbuf< CharT, Traits, Alloc >::seekoff(), std::ba
- sic_filebuf< CharT, Traits >::seekoff(), std::basic_stringbuf<
- CharT, Traits, Alloc >::seekpos(), std::basic_streambuf< char,
- Traits >::sputbackc(), str(), underflow(), std::basic_filebuf<
- CharT, Traits >::underflow(), std::basic_filebuf< CharT, Traits
- >::xsgetn(), and ~strstreambuf().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::gptr () const [inline,
- protected, inherited]
- Access to the get area.
- These functions are only available to other protected
- functions, including derived classes.
- · eback() returns the beginning pointer for the input se
- quence
- · gptr() returns the next pointer for the input sequence
- · egptr() returns the end pointer for the input sequence
- Definition at line 455 of file streambuf.
- Referenced by std::copy_streambufs(), std::basic_stream
- buf< char, Traits >::in_avail(), std::basic_filebuf< CharT,
- __gnu_cxx::enc_char_traits< CharT > >::M_create_pback(), std::ba
- sic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >::M_de
- stroy_pback(), std::basic_stringbuf< CharT, Traits, Alloc
- >::M_update_egptr(), overflow(), pbackfail(), std::basic_string
- buf< CharT, Traits, Alloc >::pbackfail(), std::basic_filebuf<
- CharT, Traits >::pbackfail(), seekoff(), std::basic_stringbuf<
- CharT, Traits, Alloc >::seekoff(), std::basic_filebuf< CharT,
- Traits >::showmanyc(), std::basic_streambuf< char, Traits
- >::sputbackc(), std::basic_streambuf< char, Traits >::sungetc(),
- underflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and
- std::basic_filebuf< CharT, Traits >::xsgetn().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::egptr () const [inline,
- protected, inherited]
- Access to the get area.
- These functions are only available to other protected
- functions, including derived classes.
- · eback() returns the beginning pointer for the input se
- quence
- · gptr() returns the next pointer for the input sequence
- · egptr() returns the end pointer for the input sequence
- Definition at line 458 of file streambuf.
- Referenced by std::copy_streambufs(), std::basic_stream
- buf< char, Traits >::in_avail(), std::basic_filebuf< CharT,
- __gnu_cxx::enc_char_traits< CharT > >::M_create_pback(), std::ba
- sic_stringbuf< CharT, Traits, Alloc >::M_update_egptr(), std::ba
- sic_streambuf< char, Traits >::sbumpc(), seekoff(), std::ba
- sic_stringbuf< CharT, Traits, Alloc >::seekoff(), std::ba
- sic_filebuf< CharT, Traits >::seekoff(), std::basic_stringbuf<
- CharT, Traits, Alloc >::seekpos(), std::basic_streambuf< char,
- Traits >::sgetc(), std::basic_stringbuf< CharT, Traits, Alloc
- >::str(), underflow(), std::basic_stringbuf< CharT, Traits, Alloc
- >::underflow(), std::basic_filebuf< CharT, Traits >::underflow(),
- std::basic_streambuf< CharT, Traits >::xsgetn(), and std::ba
- sic_filebuf< CharT, Traits >::xsgetn().
- template<typename CharT, typename Traits> void
- std::basic_streambuf< CharT, Traits >::gbump (int n) [inline,
- protected, inherited]
- Moving the read position.
- Parameters:
n The delta by which to move.
- This just advances the read position without returning any
- data.
- Definition at line 468 of file streambuf.
- Referenced by std::copy_streambufs(), pbackfail(),
- std::basic_stringbuf< CharT, Traits, Alloc >::pbackfail(),
- std::basic_streambuf< char, Traits >::sbumpc(), std::ba
- sic_stringbuf< CharT, Traits, Alloc >::seekpos(), std::ba
- sic_streambuf< char, Traits >::sputbackc(), std::basic_streambuf<
- char, Traits >::sungetc(), std::basic_streambuf< char, Traits
- >::uflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and
- std::basic_filebuf< CharT, Traits >::xsgetn().
- template<typename CharT, typename Traits> void
- std::basic_streambuf< CharT, Traits >::setg (char_type * __gbeg,
- char_type * __gnext, char_type * __gend) [inline, protected,
- inherited]
- Setting the three read area pointers.
- Parameters:
gbeg A pointer.
gnext A pointer.
gend A pointer. - Postcondition:
gbeg == eback(), gnext == gptr(), and gend == egptr()
- Definition at line 479 of file streambuf.
- Referenced by std::basic_filebuf< CharT,
- __gnu_cxx::enc_char_traits< CharT > >::M_create_pback(), std::ba
- sic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >::M_de
- stroy_pback(), std::basic_filebuf< CharT,
- __gnu_cxx::enc_char_traits< CharT > >::M_set_buffer(), M_setup(),
- std::basic_stringbuf< CharT, Traits, Alloc >::M_sync(), std::ba
- sic_stringbuf< CharT, Traits, Alloc >::M_update_egptr(), over
- flow(), seekoff(), strstreambuf(), and underflow().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::pbase () const [inline,
- protected, inherited]
- Access to the put area.
- These functions are only available to other protected
- functions, including derived classes.
- · pbase() returns the beginning pointer for the output se
- quence
- · pptr() returns the next pointer for the output sequence
- · epptr() returns the end pointer for the output sequence
- Definition at line 499 of file streambuf.
- Referenced by overflow(), std::basic_stringbuf< CharT,
- Traits, Alloc >::overflow(), std::basic_filebuf< CharT, Traits
- >::overflow(), pcount(), seekoff(), std::basic_stringbuf< CharT,
- Traits, Alloc >::seekoff(), std::basic_stringbuf< CharT, Traits,
- Alloc >::seekpos(), and std::basic_filebuf< CharT, Traits
- >::xsputn().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::pptr () const [inline,
- protected, inherited]
- Access to the put area.
- These functions are only available to other protected
- functions, including derived classes.
- · pbase() returns the beginning pointer for the output se
- quence
- · pptr() returns the next pointer for the output sequence
- · epptr() returns the end pointer for the output sequence
- Definition at line 502 of file streambuf.
- Referenced by std::basic_filebuf< CharT, Traits >::M_con
- vert_to_external(), std::basic_filebuf< CharT, Traits >::M_termi
- nate_output(), std::basic_stringbuf< CharT, Traits, Alloc
- >::M_update_egptr(), overflow(), std::basic_stringbuf< CharT,
- Traits, Alloc >::overflow(), std::basic_filebuf< CharT, Traits
- >::overflow(), pcount(), seekoff(), std::basic_stringbuf< CharT,
- Traits, Alloc >::seekoff(), std::basic_streambuf< char, Traits
- >::sputc(), std::basic_stringbuf< CharT, Traits, Alloc >::str(),
- std::basic_filebuf< CharT, Traits >::sync(), underflow(),
- std::basic_streambuf< CharT, Traits >::xsputn(), and std::ba
- sic_filebuf< CharT, Traits >::xsputn().
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::epptr () const [inline,
- protected, inherited]
- Access to the put area.
- These functions are only available to other protected
- functions, including derived classes.
- · pbase() returns the beginning pointer for the output se
- quence
- · pptr() returns the next pointer for the output sequence
- · epptr() returns the end pointer for the output sequence
- Definition at line 505 of file streambuf.
- Referenced by overflow(), std::basic_stringbuf< CharT,
- Traits, Alloc >::overflow(), seekoff(), std::basic_streambuf<
- char, Traits >::sputc(), std::basic_streambuf< CharT, Traits
- >::xsputn(), and std::basic_filebuf< CharT, Traits >::xsputn().
- template<typename CharT, typename Traits> void
- std::basic_streambuf< CharT, Traits >::pbump (int n) [inline,
- protected, inherited]
- Moving the write position.
- Parameters:
n The delta by which to move.
- This just advances the write position without returning
- any data.
- Definition at line 515 of file streambuf.
- Referenced by std::basic_stringbuf< CharT, Traits, Alloc
- >::M_sync(), overflow(), std::basic_filebuf< CharT, Traits
- >::overflow(), seekoff(), std::basic_stringbuf< CharT, Traits,
- Alloc >::seekpos(), std::basic_streambuf< char, Traits
- >::sputc(), and std::basic_streambuf< CharT, Traits >::xsputn().
- template<typename CharT, typename Traits> void
- std::basic_streambuf< CharT, Traits >::setp (char_type * __pbeg,
- char_type * __pend) [inline, protected, inherited]
- Setting the three write area pointers.
- Parameters:
pbeg A pointer.
pend A pointer. - Postcondition:
pbeg == pbase(), pbeg == pptr(), and pend == epptr()
- Definition at line 525 of file streambuf.
- Referenced by std::basic_filebuf< CharT,
- __gnu_cxx::enc_char_traits< CharT > >::M_set_buffer(), M_setup(),
- std::basic_stringbuf< CharT, Traits, Alloc >::M_sync(), over
- flow(), seekoff(), and strstreambuf().
- template<typename CharT, typename Traits> virtual void
- std::basic_streambuf< CharT, Traits >::imbue (const locale &)
- [inline, protected, virtual, inherited]
- Changes translations.
- Parameters:
loc A new locale.
- Translations done during I/O which depend on the current
- locale are changed by this call. The standard adds, 'Between in
- vocations of this function a class derived from streambuf can
- safely cache results of calls to locale functions and to members
- of facets so obtained.'
- Note:
Base class version does nothing.
- Reimplemented in std::basic_filebuf< CharT, Traits >, and
- std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
- Definition at line 546 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits >::pubim
- bue().
- template<typename CharT, typename Traits> virtual
- basic_streambuf<char_type,Traits>* std::basic_streambuf< CharT,
Traits >::setbuf (char_type *, streamsize) [inline, protected,
virtual, inherited]
Maniuplates the buffer.
- Each derived class provides its own appropriate behavior.
- See the next-to-last paragraph of http://gcc.gnu.org/online
- docs/libstdc++/27_io/howto.html#2 for more on this function.
- Note:
- Base class version does nothing, returns this.
- Reimplemented in std::basic_filebuf< CharT, Traits >,
- std::basic_stringbuf< CharT, Traits, Alloc >, and
- std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
- Definition at line 561 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits >::pub
- setbuf().
- template<typename CharT, typename Traits> virtual pos_type
- std::basic_streambuf< CharT, Traits >::seekoff (off_type,
- ios_base::seekdir, ios_base::openmode = ios_base::in
- ios_base::out) [inline, protected, virtual, inherited]
- Alters the stream positions.
- Each derived class provides its own appropriate behavior.
- Note:
Base class version does nothing, returns a pos_typethat represents an invalid stream position.
- Reimplemented in std::basic_filebuf< CharT, Traits >,
- std::basic_stringbuf< CharT, Traits, Alloc >, and
- std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
- Definition at line 572 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits >::pub
- seekoff().
- template<typename CharT, typename Traits> virtual pos_type
- std::basic_streambuf< CharT, Traits >::seekpos (pos_type,
- ios_base::openmode = ios_base::in | ios_base::out) [inline,
- protected, virtual, inherited]
- Alters the stream positions.
- Each derived class provides its own appropriate behavior.
- Note:
Base class version does nothing, returns a pos_typethat represents an invalid stream position.
- Reimplemented in std::basic_filebuf< CharT, Traits >,
- std::basic_stringbuf< CharT, Traits, Alloc >, and
- std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
- Definition at line 584 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits >::pub
- seekpos().
- template<typename CharT, typename Traits> virtual int
- std::basic_streambuf< CharT, Traits >::sync (void) [inline,
- protected, virtual, inherited]
- Synchronizes the buffer arrays with the controlled se
- quences.
- Returns:
-1 on failure.
- Each derived class provides its own appropriate behavior,
- including the definition of 'failure'.
- Note:
Base class version does nothing, returns zero.
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 597 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits >::pub
- sync().
- template<typename CharT, typename Traits> virtual streamsize
- std::basic_streambuf< CharT, Traits >::showmanyc () [inline,
- protected, virtual, inherited]
- Investigating the data available.
- Returns:
An estimate of the number of characters available inthe input sequence, or -1.
- Note:
Base class version does nothing, returns zero.The standard adds that 'the intention is not only thatthe calls [to underflow or uflow] will not return eof() but thatthey will return 'immediately'.The standard adds that 'the morphemes of showmanyc are'es-how-many-see', not 'show-manic'.
- Reimplemented in std::basic_filebuf< CharT, Traits >, and
- std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
- Definition at line 619 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits
- >::in_avail().
- template<typename CharT, typename Traits> streamsize
- std::basic_streambuf< CharT, Traits >::xsgetn (char_type * s,
- streamsize n) [protected, virtual, inherited]
- Multiple character extraction.
- Parameters:
s A buffer area.
n Maximum number of characters to assign. - Returns:
The number of characters assigned.
- Fills s[0] through s[n-1] with characters from the input
- sequence, as if by sbumpc(). Stops when either n characters have
- been copied, or when traits::eof() would be copied.
- It is expected that derived classes provide a more effi
- cient implementation by overriding this definition.
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 45 of file streambuf.tcc.
- References std::copy(), std::basic_streambuf< CharT,
- Traits >::egptr(), std::basic_streambuf< CharT, Traits
- >::gbump(), std::basic_streambuf< CharT, Traits >::gptr(),
- std::min(), and std::basic_streambuf< CharT, Traits >::uflow().
- Referenced by std::basic_streambuf< char, Traits
- >::sgetn().
- template<typename CharT, typename Traits> virtual int_type
- std::basic_streambuf< CharT, Traits >::uflow () [inline,
- protected, virtual, inherited]
- Fetches more data from the controlled sequence.
- Returns:
The first character from the pending sequence.
- Informally, this function does the same thing as
- underflow(), and in fact is required to call that function. It
- also returns the new character, like underflow() does. However,
- this function also moves the read position forward by one.
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
Definition at line 670 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits
- >::sbumpc(), and std::basic_streambuf< CharT, Traits >::xsgetn().
- template<typename CharT, typename Traits> virtual int_type
- std::basic_streambuf< CharT, Traits >::pbackfail (int_type =
- traits_type::eof()) [inline, protected, virtual, inherited]
- Tries to back up the input sequence.
- Parameters:
c The character to be inserted back into the sequence.
- Returns:
eof() on failure, 'some other value' on success
- Postcondition:
The constraints of gptr(), eback(), and pptr() are thesame as for underflow().
- Note:
Base class version does nothing, returns eof().
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
std::basic_stringbuf< CharT, Traits, Alloc >, and
std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 694 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits
- >::sungetc().
- template<typename CharT, typename Traits> streamsize
- std::basic_streambuf< CharT, Traits >::xsputn (const char_type *
- s, streamsize n) [protected, virtual, inherited]
- Multiple character insertion.
- Parameters:
s A buffer area.
n Maximum number of characters to write. - Returns:
The number of characters written.
- Writes s[0] through s[n-1] to the output sequence, as if
- by sputc(). Stops when either n characters have been copied, or
- when sputc() would return traits::eof().
- It is expected that derived classes provide a more effi
- cient implementation by overriding this definition.
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 79 of file streambuf.tcc.
- References std::copy(), std::basic_streambuf< CharT,
- Traits >::epptr(), std::min(), std::basic_streambuf< CharT,
- Traits >::overflow(), std::basic_streambuf< CharT, Traits
- >::pbump(), and std::basic_streambuf< CharT, Traits >::pptr().
- Referenced by std::basic_streambuf< char, Traits
- >::sputn().
- template<typename CharT, typename Traits> virtual int_type
- std::basic_streambuf< CharT, Traits >::overflow (int_type =
- traits_type::eof()) [inline, protected, virtual, inherited]
- Consumes data from the buffer; writes to the controlled
- sequence.
- Parameters:
c An additional character to consume.
- Returns:
eof() to indicate failure, something else (usually c,or not_eof())
- Informally, this function is called when the output buffer
- is full (or does not exist, as buffering need not actually be
- done). If a buffer exists, it is 'consumed', with 'some effect'
- on the controlled sequence. (Typically, the buffer is written out
- to the sequence verbatim.) In either case, the character c is al
- so written out, if c is not eof().
- For a formal definiton of this function, see a good text
- such as Langer & Kreft, or [27.5.2.4.5]/3-7.
- A functioning output streambuf can be created by overrid
- ing only this function (no buffer area will be used).
- Note:
Base class version does nothing, returns eof().
- Reimplemented in __gnu_cxx::stdio_sync_filebuf< CharT,
Traits >
std::basic_stringbuf< CharT, Traits, Alloc >, and
std::basic_filebuf< CharT, __gnu_cxx::enc_char_traits< CharT > >.
Definition at line 737 of file streambuf.
- Referenced by std::basic_streambuf< char, Traits
- >::sputc(), and std::basic_streambuf< CharT, Traits >::xsputn().
Member Data Documentation
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_in_beg [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 169 of file streambuf.
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_in_cur [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 170 of file streambuf.
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_in_end [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 171 of file streambuf.
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_out_beg [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 172 of file streambuf.
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_out_cur [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 173 of file streambuf.
- template<typename CharT, typename Traits> char_type*
- std::basic_streambuf< CharT, Traits >::M_out_end [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 174 of file streambuf.
- template<typename CharT, typename Traits> locale
- std::basic_streambuf< CharT, Traits >::M_buf_locale [protected,
- inherited]
- Entry point for imbue().
- Parameters:
loc The new locale.
- Returns:
The previous locale.
- Calls the derived imbue(loc).
- Definition at line 181 of file streambuf.
Author
- Generated automatically by Doxygen for libstdc++-v3 Source
- from the source code.
- libstdc++-v3 Source 1 Jan 2007