.TH "__gnu_cxx::stdio_sync_filebuf< _CharT, _Traits >" 3cxx "Sun Jan 10 2021" "libstdc++" \" -*- nroff -*- .ad l .nh .SH NAME __gnu_cxx::stdio_sync_filebuf< _CharT, _Traits > \- Provides a layer of compatibility for C\&. .SH SYNOPSIS .br .PP .PP Inherits \fBstd::basic_streambuf< _CharT, std::char_traits< _CharT > >\fP\&. .SS "Public Types" .in +1c .ti -1c .RI "typedef _CharT \fBchar_type\fP" .br .ti -1c .RI "typedef traits_type::int_type \fBint_type\fP" .br .ti -1c .RI "typedef traits_type::off_type \fBoff_type\fP" .br .ti -1c .RI "typedef traits_type::pos_type \fBpos_type\fP" .br .ti -1c .RI "typedef _Traits \fBtraits_type\fP" .br .in -1c .SS "Public Member Functions" .in +1c .ti -1c .RI "\fBstdio_sync_filebuf\fP (std::__c_file *__f)" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP (\fBstdio_sync_filebuf\fP &&__fb) noexcept" .br .ti -1c .RI "std::__c_file * \fBfile\fP ()" .br .ti -1c .RI "locale \fBgetloc\fP () const" .br .RI "Locale access\&. " .ti -1c .RI "streamsize \fBin_avail\fP ()" .br .RI "Looking ahead into the stream\&. " .ti -1c .RI "\fBstdio_sync_filebuf\fP & \fBoperator=\fP (\fBstdio_sync_filebuf\fP &&__fb) noexcept" .br .ti -1c .RI "locale \fBpubimbue\fP (const locale &__loc)" .br .RI "Entry point for imbue()\&. " .ti -1c .RI "pos_type \fBpubseekoff\fP (off_type __off, ios_base::seekdir __way, ios_base::openmode __mode=ios_base::in|ios_base::out)" .br .RI "Alters the stream position\&. " .ti -1c .RI "pos_type \fBpubseekpos\fP (pos_type __sp, ios_base::openmode __mode=ios_base::in|ios_base::out)" .br .RI "Alters the stream position\&. " .ti -1c .RI "\fBbasic_streambuf\fP * \fBpubsetbuf\fP (char_type *__s, streamsize __n)" .br .RI "Entry points for derived buffer functions\&. " .ti -1c .RI "int \fBpubsync\fP ()" .br .RI "Calls virtual sync function\&. " .ti -1c .RI "int_type \fBsbumpc\fP ()" .br .RI "Getting the next character\&. " .ti -1c .RI "int_type \fBsgetc\fP ()" .br .RI "Getting the next character\&. " .ti -1c .RI "streamsize \fBsgetn\fP (char_type *__s, streamsize __n)" .br .RI "Entry point for xsgetn\&. " .ti -1c .RI "int_type \fBsnextc\fP ()" .br .RI "Getting the next character\&. " .ti -1c .RI "int_type \fBsputbackc\fP (char_type __c)" .br .RI "Pushing characters back into the input stream\&. " .ti -1c .RI "int_type \fBsputc\fP (char_type __c)" .br .RI "Entry point for all single-character output functions\&. " .ti -1c .RI "streamsize \fBsputn\fP (const char_type *__s, streamsize __n)" .br .RI "Entry point for all single-character output functions\&. " .ti -1c .RI "int_type \fBsungetc\fP ()" .br .RI "Moving backwards in the input stream\&. " .ti -1c .RI "void \fBswap\fP (\fBstdio_sync_filebuf\fP &__fb)" .br .in -1c .SS "Protected Member Functions" .in +1c .ti -1c .RI "void \fB__safe_gbump\fP (streamsize __n)" .br .ti -1c .RI "void \fB__safe_pbump\fP (streamsize __n)" .br .ti -1c .RI "char_type * \fBeback\fP () const" .br .RI "Access to the get area\&. " .ti -1c .RI "char_type * \fBegptr\fP () const" .br .ti -1c .RI "char_type * \fBepptr\fP () const" .br .ti -1c .RI "void \fBgbump\fP (int __n)" .br .RI "Moving the read position\&. " .ti -1c .RI "char_type * \fBgptr\fP () const" .br .ti -1c .RI "virtual void \fBimbue\fP (const locale &__loc)" .br .RI "Changes translations\&. " .ti -1c .RI "virtual int_type \fBoverflow\fP (int_type __c=traits_type::eof())" .br .ti -1c .RI "virtual int_type \fBoverflow\fP (int_type __c=traits_type::eof())" .br .RI "Consumes data from the buffer; writes to the controlled sequence\&. " .ti -1c .RI "virtual int_type \fBpbackfail\fP (int_type __c=traits_type::eof())" .br .ti -1c .RI "virtual int_type \fBpbackfail\fP (int_type __c=traits_type::eof())" .br .RI "Tries to back up the input sequence\&. " .ti -1c .RI "char_type * \fBpbase\fP () const" .br .RI "Access to the put area\&. " .ti -1c .RI "void \fBpbump\fP (int __n)" .br .RI "Moving the write position\&. " .ti -1c .RI "char_type * \fBpptr\fP () const" .br .ti -1c .RI "virtual pos_type \fBseekoff\fP (off_type, ios_base::seekdir, ios_base::openmode=ios_base::in|ios_base::out)" .br .RI "Alters the stream positions\&. " .ti -1c .RI "virtual \fBstd::streampos\fP \fBseekoff\fP (\fBstd::streamoff\fP __off, \fBstd::ios_base::seekdir\fP __dir, \fBstd::ios_base::openmode\fP=\fBstd::ios_base::in\fP|\fBstd::ios_base::out\fP)" .br .ti -1c .RI "virtual \fBstd::streampos\fP \fBseekpos\fP (\fBstd::streampos\fP __pos, \fBstd::ios_base::openmode\fP __mode=\fBstd::ios_base::in\fP|\fBstd::ios_base::out\fP)" .br .RI "Alters the stream positions\&. " .ti -1c .RI "virtual \fBbasic_streambuf\fP< char_type, \fBstd::char_traits\fP< _CharT > > * \fBsetbuf\fP (char_type *, streamsize)" .br .RI "Manipulates the buffer\&. " .ti -1c .RI "void \fBsetg\fP (char_type *__gbeg, char_type *__gnext, char_type *__gend)" .br .RI "Setting the three read area pointers\&. " .ti -1c .RI "void \fBsetp\fP (char_type *__pbeg, char_type *__pend)" .br .RI "Setting the three write area pointers\&. " .ti -1c .RI "virtual streamsize \fBshowmanyc\fP ()" .br .RI "Investigating the data available\&. " .ti -1c .RI "void \fBswap\fP (\fBbasic_streambuf\fP &__sb)" .br .ti -1c .RI "virtual int \fBsync\fP ()" .br .RI "Synchronizes the buffer arrays with the controlled sequences\&. " .ti -1c .RI "int_type \fBsyncgetc\fP ()" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< char >::int_type \fBsyncgetc\fP ()" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< wchar_t >::int_type \fBsyncgetc\fP ()" .br .ti -1c .RI "int_type \fBsyncputc\fP (int_type __c)" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< char >::int_type \fBsyncputc\fP (int_type __c)" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< wchar_t >::int_type \fBsyncputc\fP (int_type __c)" .br .ti -1c .RI "int_type \fBsyncungetc\fP (int_type __c)" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< char >::int_type \fBsyncungetc\fP (int_type __c)" .br .ti -1c .RI "\fBstdio_sync_filebuf\fP< wchar_t >::int_type \fBsyncungetc\fP (int_type __c)" .br .ti -1c .RI "virtual int_type \fBuflow\fP ()" .br .RI "Fetches more data from the controlled sequence\&. " .ti -1c .RI "virtual int_type \fBunderflow\fP ()" .br .RI "Fetches more data from the controlled sequence\&. " .ti -1c .RI "\fBstd::streamsize\fP \fBxsgetn\fP (char *__s, \fBstd::streamsize\fP __n)" .br .ti -1c .RI "virtual \fBstd::streamsize\fP \fBxsgetn\fP (char_type *__s, \fBstd::streamsize\fP __n)" .br .ti -1c .RI "virtual streamsize \fBxsgetn\fP (char_type *__s, streamsize __n)" .br .RI "Multiple character extraction\&. " .ti -1c .RI "\fBstd::streamsize\fP \fBxsgetn\fP (wchar_t *__s, \fBstd::streamsize\fP __n)" .br .ti -1c .RI "\fBstd::streamsize\fP \fBxsputn\fP (const char *__s, \fBstd::streamsize\fP __n)" .br .ti -1c .RI "virtual \fBstd::streamsize\fP \fBxsputn\fP (const char_type *__s, \fBstd::streamsize\fP __n)" .br .ti -1c .RI "virtual streamsize \fBxsputn\fP (const char_type *__s, streamsize __n)" .br .RI "Multiple character insertion\&. " .ti -1c .RI "\fBstd::streamsize\fP \fBxsputn\fP (const wchar_t *__s, \fBstd::streamsize\fP __n)" .br .in -1c .SS "Protected Attributes" .in +1c .ti -1c .RI "locale \fB_M_buf_locale\fP" .br .RI "Current locale setting\&. " .ti -1c .RI "char_type * \fB_M_in_beg\fP" .br .RI "Start of get area\&. " .ti -1c .RI "char_type * \fB_M_in_cur\fP" .br .RI "Current read area\&. " .ti -1c .RI "char_type * \fB_M_in_end\fP" .br .RI "End of get area\&. " .ti -1c .RI "char_type * \fB_M_out_beg\fP" .br .RI "Start of put area\&. " .ti -1c .RI "char_type * \fB_M_out_cur\fP" .br .RI "Current put area\&. " .ti -1c .RI "char_type * \fB_M_out_end\fP" .br .RI "End of put area\&. " .in -1c .SH "Detailed Description" .PP .SS "template> .br class __gnu_cxx::stdio_sync_filebuf< _CharT, _Traits >" Provides a layer of compatibility for C\&. This GNU extension provides extensions for working with standard C FILE*'s\&. It must be instantiated by the user with the type of character used in the file stream, e\&.g\&., stdio_filebuf\&. .PP Definition at line 57 of file stdio_sync_filebuf\&.h\&. .SH "Member Function Documentation" .PP .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::eback () const\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Access to the get area\&. These functions are only available to other protected functions, including derived classes\&. .PP .IP "\(bu" 2 eback() returns the beginning pointer for the input sequence .IP "\(bu" 2 gptr() returns the next pointer for the input sequence .IP "\(bu" 2 egptr() returns the end pointer for the input sequence .PP .PP Definition at line 489 of file streambuf\&. .SS "template> std::__c_file* \fB__gnu_cxx::stdio_sync_filebuf\fP< _CharT, _Traits >::file ()\fC [inline]\fP" .PP \fBReturns\fP .RS 4 The underlying FILE*\&. .RE .PP This function can be used to access the underlying C file pointer\&. Note that there is no way for the library to track what you do with the file, so be careful\&. .PP Definition at line 118 of file stdio_sync_filebuf\&.h\&. .SS "void \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::gbump (int __n)\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Moving the read position\&. .PP \fBParameters\fP .RS 4 \fI__n\fP The delta by which to move\&. .RE .PP This just advances the read position without returning any data\&. .PP Definition at line 505 of file streambuf\&. .SS "locale \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::getloc () const\fC [inline]\fP, \fC [inherited]\fP" .PP Locale access\&. .PP \fBReturns\fP .RS 4 The current locale in effect\&. .RE .PP If pubimbue(loc) has been called, then the most recent \fCloc\fP is returned\&. Otherwise the global locale in effect at the time of construction is returned\&. .PP Definition at line 233 of file streambuf\&. .SS "virtual void \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::imbue (const \fBlocale\fP & __loc)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Changes translations\&. .PP \fBParameters\fP .RS 4 \fI__loc\fP A new locale\&. .RE .PP Translations done during I/O which depend on the current locale are changed by this call\&. The standard adds, \fIBetween invocations of this function a class derived from streambuf can safely cache results of calls to locale functions and to members of facets so obtained\&.\fP .PP \fBNote\fP .RS 4 Base class version does nothing\&. .RE .PP .PP Reimplemented in \fBstd::basic_filebuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 583 of file streambuf\&. .SS "streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::in_avail ()\fC [inline]\fP, \fC [inherited]\fP" .PP Looking ahead into the stream\&. .PP \fBReturns\fP .RS 4 The number of characters available\&. .RE .PP If a read position is available, returns the number of characters available for reading before the buffer must be refilled\&. Otherwise returns the derived \fCshowmanyc()\fP\&. .PP Definition at line 291 of file streambuf\&. .SS "virtual int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::overflow (int_type __c = \fCtraits_type::eof()\fP)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Consumes data from the buffer; writes to the controlled sequence\&. .PP \fBParameters\fP .RS 4 \fI__c\fP An additional character to consume\&. .RE .PP \fBReturns\fP .RS 4 eof() to indicate failure, something else (usually \fI__c\fP, or not_eof()) .RE .PP 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 \fIconsumed\fP, with \fIsome effect\fP on the controlled sequence\&. (Typically, the buffer is written out to the sequence verbatim\&.) In either case, the character \fIc\fP is also written out, if \fI__c\fP is not \fCeof()\fP\&. .PP For a formal definition of this function, see a good text such as Langer & Kreft, or [27\&.5\&.2\&.4\&.5]/3-7\&. .PP A functioning output streambuf can be created by overriding only this function (no buffer area will be used)\&. .PP \fBNote\fP .RS 4 Base class version does nothing, returns eof()\&. .RE .PP .PP Definition at line 775 of file streambuf\&. .SS "virtual int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pbackfail (int_type __c = \fCtraits_type::eof()\fP)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Tries to back up the input sequence\&. .PP \fBParameters\fP .RS 4 \fI__c\fP The character to be inserted back into the sequence\&. .RE .PP \fBReturns\fP .RS 4 eof() on failure, \fIsome other value\fP on success .RE .PP \fBPostcondition\fP .RS 4 The constraints of \fCgptr()\fP, \fCeback()\fP, and \fCpptr()\fP are the same as for \fCunderflow()\fP\&. .RE .PP \fBNote\fP .RS 4 Base class version does nothing, returns eof()\&. .RE .PP .PP Definition at line 731 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pbase () const\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Access to the put area\&. These functions are only available to other protected functions, including derived classes\&. .PP .IP "\(bu" 2 pbase() returns the beginning pointer for the output sequence .IP "\(bu" 2 pptr() returns the next pointer for the output sequence .IP "\(bu" 2 epptr() returns the end pointer for the output sequence .PP .PP Definition at line 536 of file streambuf\&. .SS "void \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pbump (int __n)\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Moving the write position\&. .PP \fBParameters\fP .RS 4 \fI__n\fP The delta by which to move\&. .RE .PP This just advances the write position without returning any data\&. .PP Definition at line 552 of file streambuf\&. .SS "locale \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pubimbue (const \fBlocale\fP & __loc)\fC [inline]\fP, \fC [inherited]\fP" .PP Entry point for imbue()\&. .PP \fBParameters\fP .RS 4 \fI__loc\fP The new locale\&. .RE .PP \fBReturns\fP .RS 4 The previous locale\&. .RE .PP Calls the derived imbue(__loc)\&. .PP Definition at line 216 of file streambuf\&. .SS "pos_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pubseekoff (off_type __off, ios_base::seekdir __way, ios_base::openmode __mode = \fCios_base::in | ios_base::out\fP)\fC [inline]\fP, \fC [inherited]\fP" .PP Alters the stream position\&. .PP \fBParameters\fP .RS 4 \fI__off\fP Offset\&. .br \fI__way\fP Value for ios_base::seekdir\&. .br \fI__mode\fP Value for ios_base::openmode\&. .RE .PP Calls virtual seekoff function\&. .PP Definition at line 258 of file streambuf\&. .SS "pos_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pubseekpos (\fBpos_type\fP __sp, ios_base::openmode __mode = \fCios_base::in | ios_base::out\fP)\fC [inline]\fP, \fC [inherited]\fP" .PP Alters the stream position\&. .PP \fBParameters\fP .RS 4 \fI__sp\fP Position .br \fI__mode\fP Value for ios_base::openmode\&. .RE .PP Calls virtual seekpos function\&. .PP Definition at line 270 of file streambuf\&. .SS "\fBbasic_streambuf\fP* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pubsetbuf (\fBchar_type\fP * __s, \fBstreamsize\fP __n)\fC [inline]\fP, \fC [inherited]\fP" .PP Entry points for derived buffer functions\&. The public versions of \fCpubfoo\fP dispatch to the protected derived \fCfoo\fP member functions, passing the arguments (if any) and returning the result unchanged\&. .PP Definition at line 246 of file streambuf\&. .SS "int \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::pubsync ()\fC [inline]\fP, \fC [inherited]\fP" .PP Calls virtual sync function\&. .PP Definition at line 278 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sbumpc ()\fC [inline]\fP, \fC [inherited]\fP" .PP Getting the next character\&. .PP \fBReturns\fP .RS 4 The next character, or eof\&. .RE .PP If the input read position is available, returns that character and increments the read pointer, otherwise calls and returns \fCuflow()\fP\&. .PP Definition at line 323 of file streambuf\&. .SS "virtual pos_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::seekoff (off_type, ios_base::seekdir, ios_base::openmode = \fCios_base::in | ios_base::out\fP)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Alters the stream positions\&. Each derived class provides its own appropriate behavior\&. .PP \fBNote\fP .RS 4 Base class version does nothing, returns a \fCpos_type\fP that represents an invalid stream position\&. .RE .PP .PP Definition at line 609 of file streambuf\&. .SS "template> virtual \fBstd::streampos\fP \fB__gnu_cxx::stdio_sync_filebuf\fP< _CharT, _Traits >::seekpos (\fBstd::streampos\fP, \fBstd::ios_base::openmode\fP = \fC\fBstd::ios_base::in\fP | \fBstd::ios_base::out\fP\fP)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP" .PP Alters the stream positions\&. Each derived class provides its own appropriate behavior\&. .PP \fBNote\fP .RS 4 Base class version does nothing, returns a \fCpos_type\fP that represents an invalid stream position\&. .RE .PP .PP Reimplemented from \fBstd::basic_streambuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 216 of file stdio_sync_filebuf\&.h\&. .PP References std::ios_base::beg\&. .SS "virtual \fBbasic_streambuf\fP >* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::setbuf (\fBchar_type\fP *, \fBstreamsize\fP)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Manipulates the buffer\&. Each derived class provides its own appropriate behavior\&. See the next-to-last paragraph of https://gcc.gnu.org/onlinedocs/libstdc++/manual/streambufs.html#io.streambuf.buffering for more on this function\&. .PP \fBNote\fP .RS 4 Base class version does nothing, returns \fCthis\fP\&. .RE .PP .PP Reimplemented in \fBstd::basic_filebuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 598 of file streambuf\&. .SS "void \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::setg (\fBchar_type\fP * __gbeg, \fBchar_type\fP * __gnext, \fBchar_type\fP * __gend)\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Setting the three read area pointers\&. .PP \fBParameters\fP .RS 4 \fI__gbeg\fP A pointer\&. .br \fI__gnext\fP A pointer\&. .br \fI__gend\fP A pointer\&. .RE .PP \fBPostcondition\fP .RS 4 \fI__gbeg\fP == \fCeback()\fP, \fI__gnext\fP == \fCgptr()\fP, and \fI__gend\fP == \fCegptr()\fP .RE .PP .PP Definition at line 516 of file streambuf\&. .SS "void \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::setp (\fBchar_type\fP * __pbeg, \fBchar_type\fP * __pend)\fC [inline]\fP, \fC [protected]\fP, \fC [inherited]\fP" .PP Setting the three write area pointers\&. .PP \fBParameters\fP .RS 4 \fI__pbeg\fP A pointer\&. .br \fI__pend\fP A pointer\&. .RE .PP \fBPostcondition\fP .RS 4 \fI__pbeg\fP == \fCpbase()\fP, \fI__pbeg\fP == \fCpptr()\fP, and \fI__pend\fP == \fCepptr()\fP .RE .PP .PP Definition at line 562 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sgetc ()\fC [inline]\fP, \fC [inherited]\fP" .PP Getting the next character\&. .PP \fBReturns\fP .RS 4 The next character, or eof\&. .RE .PP If the input read position is available, returns that character, otherwise calls and returns \fCunderflow()\fP\&. Does not move the read position after fetching the character\&. .PP Definition at line 345 of file streambuf\&. .SS "streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sgetn (\fBchar_type\fP * __s, \fBstreamsize\fP __n)\fC [inline]\fP, \fC [inherited]\fP" .PP Entry point for xsgetn\&. .PP \fBParameters\fP .RS 4 \fI__s\fP A buffer area\&. .br \fI__n\fP A count\&. .RE .PP Returns xsgetn(__s,__n)\&. The effect is to fill \fI__s\fP[0] through \fI__s\fP[__n-1] with characters from the input sequence, if possible\&. .PP Definition at line 364 of file streambuf\&. .SS "virtual streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::showmanyc ()\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Investigating the data available\&. .PP \fBReturns\fP .RS 4 An estimate of the number of characters available in the input sequence, or -1\&. .RE .PP \fIIf it returns a positive value, then successive calls to \fCunderflow()\fP will not return \fCtraits::eof()\fP until at least that number of characters have been supplied\&. If \fCshowmanyc()\fP returns -1, then calls to \fCunderflow()\fP or \fCuflow()\fP will fail\&.\fP [27\&.5\&.2\&.4\&.3]/1 .PP \fBNote\fP .RS 4 Base class version does nothing, returns zero\&. .PP The standard adds that \fIthe intention is not only that the calls [to underflow or uflow] will not return \fCeof()\fP but that they will return immediately\&.\fP .PP The standard adds that \fIthe morphemes of \fCshowmanyc\fP are \fBes-how-many-see\fP, not \fBshow-manic\fP\&.\fP .RE .PP .PP Reimplemented in \fBstd::basic_filebuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 656 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::snextc ()\fC [inline]\fP, \fC [inherited]\fP" .PP Getting the next character\&. .PP \fBReturns\fP .RS 4 The next character, or eof\&. .RE .PP Calls \fCsbumpc()\fP, and if that function returns \fCtraits::eof()\fP, so does this function\&. Otherwise, \fCsgetc()\fP\&. .PP Definition at line 305 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sputbackc (\fBchar_type\fP __c)\fC [inline]\fP, \fC [inherited]\fP" .PP Pushing characters back into the input stream\&. .PP \fBParameters\fP .RS 4 \fI__c\fP The character to push back\&. .RE .PP \fBReturns\fP .RS 4 The previous character, if possible\&. .RE .PP Similar to sungetc(), but \fI__c\fP is pushed onto the stream instead of \fIthe previous character\&.\fP If successful, the next character fetched from the input stream will be \fI__c\fP\&. .PP Definition at line 379 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sputc (\fBchar_type\fP __c)\fC [inline]\fP, \fC [inherited]\fP" .PP Entry point for all single-character output functions\&. .PP \fBParameters\fP .RS 4 \fI__c\fP A character to output\&. .RE .PP \fBReturns\fP .RS 4 \fI__c\fP, if possible\&. .RE .PP One of two public output functions\&. .PP If a write position is available for the output sequence (i\&.e\&., the buffer is not full), stores \fI__c\fP in that position, increments the position, and returns \fCtraits::to_int_type(__c)\fP\&. If a write position is not available, returns \fCoverflow(__c)\fP\&. .PP Definition at line 431 of file streambuf\&. .SS "streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sputn (const \fBchar_type\fP * __s, \fBstreamsize\fP __n)\fC [inline]\fP, \fC [inherited]\fP" .PP Entry point for all single-character output functions\&. .PP \fBParameters\fP .RS 4 \fI__s\fP A buffer read area\&. .br \fI__n\fP A count\&. .RE .PP One of two public output functions\&. .PP Returns xsputn(__s,__n)\&. The effect is to write \fI__s\fP[0] through \fI__s\fP[__n-1] to the output sequence, if possible\&. .PP Definition at line 457 of file streambuf\&. .SS "int_type \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::sungetc ()\fC [inline]\fP, \fC [inherited]\fP" .PP Moving backwards in the input stream\&. .PP \fBReturns\fP .RS 4 The previous character, if possible\&. .RE .PP If a putback position is available, this function decrements the input pointer and returns that character\&. Otherwise, calls and returns pbackfail()\&. The effect is to \fIunget\fP the last character \fIgotten\fP\&. .PP Definition at line 404 of file streambuf\&. .SS "template> virtual int \fB__gnu_cxx::stdio_sync_filebuf\fP< _CharT, _Traits >::sync (void)\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP" .PP Synchronizes the buffer arrays with the controlled sequences\&. .PP \fBReturns\fP .RS 4 -1 on failure\&. .RE .PP Each derived class provides its own appropriate behavior, including the definition of \fIfailure\fP\&. .PP \fBNote\fP .RS 4 Base class version does nothing, returns zero\&. .RE .PP .PP Reimplemented from \fBstd::basic_streambuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 190 of file stdio_sync_filebuf\&.h\&. .SS "template> virtual int_type \fB__gnu_cxx::stdio_sync_filebuf\fP< _CharT, _Traits >::uflow ()\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP" .PP Fetches more data from the controlled sequence\&. .PP \fBReturns\fP .RS 4 The first character from the \fIpending sequence\fP\&. .RE .PP Informally, this function does the same thing as \fCunderflow()\fP, and in fact is required to call that function\&. It also returns the new character, like \fCunderflow()\fP does\&. However, this function also moves the read position forward by one\&. .PP Reimplemented from \fBstd::basic_streambuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 138 of file stdio_sync_filebuf\&.h\&. .SS "template> virtual int_type \fB__gnu_cxx::stdio_sync_filebuf\fP< _CharT, _Traits >::underflow ()\fC [inline]\fP, \fC [protected]\fP, \fC [virtual]\fP" .PP Fetches more data from the controlled sequence\&. .PP \fBReturns\fP .RS 4 The first character from the \fIpending sequence\fP\&. .RE .PP 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 \fIrefilled\fP\&. In either case, the next available character is returned, or \fCtraits::eof()\fP to indicate a null pending sequence\&. .PP For a formal definition of the pending sequence, see a good text such as Langer & Kreft, or [27\&.5\&.2\&.4\&.3]/7-14\&. .PP A functioning input streambuf can be created by overriding only this function (no buffer area will be used)\&. For an example, see https://gcc.gnu.org/onlinedocs/libstdc++/manual/streambufs.html .PP \fBNote\fP .RS 4 Base class version does nothing, returns eof()\&. .RE .PP .PP Reimplemented from \fBstd::basic_streambuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 131 of file stdio_sync_filebuf\&.h\&. .SS "streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::xsgetn (\fBchar_type\fP * __s, \fBstreamsize\fP __n)\fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Multiple character extraction\&. .PP \fBParameters\fP .RS 4 \fI__s\fP A buffer area\&. .br \fI__n\fP Maximum number of characters to assign\&. .RE .PP \fBReturns\fP .RS 4 The number of characters assigned\&. .RE .PP Fills \fI__s\fP[0] through \fI__s\fP[__n-1] with characters from the input sequence, as if by \fCsbumpc()\fP\&. Stops when either \fI__n\fP characters have been copied, or when \fCtraits::eof()\fP would be copied\&. .PP It is expected that derived classes provide a more efficient implementation by overriding this definition\&. .PP Reimplemented in \fBstd::basic_filebuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 672 of file streambuf\&.tcc\&. .SS "streamsize \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::xsputn (const \fBchar_type\fP * __s, \fBstreamsize\fP __n)\fC [protected]\fP, \fC [virtual]\fP, \fC [inherited]\fP" .PP Multiple character insertion\&. .PP \fBParameters\fP .RS 4 \fI__s\fP A buffer area\&. .br \fI__n\fP Maximum number of characters to write\&. .RE .PP \fBReturns\fP .RS 4 The number of characters written\&. .RE .PP Writes \fI__s\fP[0] through \fI__s\fP[__n-1] to the output sequence, as if by \fCsputc()\fP\&. Stops when either \fIn\fP characters have been copied, or when \fCsputc()\fP would return \fCtraits::eof()\fP\&. .PP It is expected that derived classes provide a more efficient implementation by overriding this definition\&. .PP Reimplemented in \fBstd::basic_filebuf< _CharT, std::char_traits< _CharT > >\fP\&. .PP Definition at line 749 of file streambuf\&.tcc\&. .SH "Member Data Documentation" .PP .SS "locale \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_buf_locale\fC [protected]\fP, \fC [inherited]\fP" .PP Current locale setting\&. .PP Definition at line 199 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_in_beg\fC [protected]\fP, \fC [inherited]\fP" .PP Start of get area\&. .PP Definition at line 191 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_in_cur\fC [protected]\fP, \fC [inherited]\fP" .PP Current read area\&. .PP Definition at line 192 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_in_end\fC [protected]\fP, \fC [inherited]\fP" .PP End of get area\&. .PP Definition at line 193 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_out_beg\fC [protected]\fP, \fC [inherited]\fP" .PP Start of put area\&. .PP Definition at line 194 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_out_cur\fC [protected]\fP, \fC [inherited]\fP" .PP Current put area\&. .PP Definition at line 195 of file streambuf\&. .SS "char_type* \fBstd::basic_streambuf\fP< _CharT, \fBstd::char_traits\fP< _CharT > >::_M_out_end\fC [protected]\fP, \fC [inherited]\fP" .PP End of put area\&. .PP Definition at line 196 of file streambuf\&. .SH "Author" .PP Generated automatically by Doxygen for libstdc++ from the source code\&.