Inheritance diagram for std::basic_filebuf< _CharT, _Traits >:
Public Types | |
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 |
Public Methods | |
basic_filebuf () | |
Does not open any files. | |
virtual | ~basic_filebuf () |
The destructor closes the file first. | |
bool | is_open () const |
Returns true if the external file is open. | |
__filebuf_type * | open (const char *__s, ios_base::openmode __mode) |
Opens an external file. | |
__filebuf_type * | close () |
Closes the currently associated file. | |
Protected Methods | |
virtual streamsize | showmanyc () |
Investigating the data available. | |
virtual int_type | underflow () |
Fetches more data from the controlled sequence. | |
virtual int_type | uflow () |
Fetches more data from the controlled sequence. | |
virtual int_type | pbackfail (int_type __c=_Traits::eof()) |
Tries to back up the input sequence. | |
virtual int_type | overflow (int_type __c=_Traits::eof()) |
Consumes data from the buffer; writes to the controlled sequence. | |
virtual __streambuf_type * | setbuf (char_type *__s, streamsize __n) |
Manipulates the buffer. | |
virtual pos_type | seekoff (off_type __off, ios_base::seekdir __way, ios_base::openmode __mode=ios_base::in|ios_base::out) |
Alters the stream positions. | |
virtual pos_type | seekpos (pos_type __pos, ios_base::openmode __mode=ios_base::in|ios_base::out) |
Alters the stream positions. | |
virtual int | sync () |
Synchronizes the buffer arrays with the controlled sequences. | |
virtual void | imbue (const locale &__loc) |
Changes translations. | |
virtual streamsize | xsgetn (char_type *__s, streamsize __n) |
Multiple character extraction. | |
virtual streamsize | xsputn (const char_type *__s, streamsize __n) |
Multiple character insertion. |
This class associates both its input and output sequence with an external disk file, and maintains a joint file position for both sequences. Many of its sematics are described in terms of similar behavior in the Standard C Library's FILE
streams.
Definition at line 63 of file fstream.
|
These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_streambuf< _CharT, _Traits > . Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits > . Definition at line 67 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::pbackfail() , and std::basic_filebuf< _CharT, enc_char_traits< _CharT > >::uflow() . |
|
These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_streambuf< _CharT, _Traits > . Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits > . Definition at line 69 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::close() , std::basic_filebuf< _CharT, _Traits >::overflow() , std::basic_filebuf< _CharT, _Traits >::pbackfail() , and std::basic_filebuf< _CharT, enc_char_traits< _CharT > >::uflow() . |
|
These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_streambuf< _CharT, _Traits > . Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits > . Definition at line 71 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::seekoff() , std::basic_filebuf< _CharT, _Traits >::seekpos() , and std::basic_filebuf< _CharT, enc_char_traits< _CharT > >::uflow() . |
|
These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_streambuf< _CharT, _Traits > . Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits > . Definition at line 70 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::seekoff() , and std::basic_filebuf< _CharT, enc_char_traits< _CharT > >::uflow() . |
|
These are standard types. They permit a standardized way of referring to names of (or names dependant on) the template parameters, which are specific to the implementation. Reimplemented from std::basic_streambuf< _CharT, _Traits > . Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits > . |
|
Does not open any files. The default constructor initializes the parent class using its own default ctor. Definition at line 75 of file fstream.tcc. |
|
The destructor closes the file first.
|
|
Closes the currently associated file.
If a "put buffer area" exists, If any operations fail, this function also fails. Definition at line 117 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::int_type , and std::basic_filebuf< _CharT, _Traits >::is_open() . Referenced by std::basic_filebuf< _CharT, _Traits >::open() . |
|
Changes translations.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 469 of file fstream.tcc. References std::basic_streambuf< _CharT, _Traits >::eback() , std::basic_streambuf< _CharT, _Traits >::gptr() , std::basic_streambuf< _CharT, _Traits >::pbase() , and std::basic_streambuf< _CharT, _Traits >::pptr() . |
|
Returns true if the external file is open.
Definition at line 168 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::close() , std::basic_filebuf< _CharT, _Traits >::open() , std::basic_filebuf< _CharT, _Traits >::seekoff() , std::basic_filebuf< _CharT, _Traits >::setbuf() , std::basic_filebuf< _CharT, _Traits >::showmanyc() , and __gnu_cxx::stdio_filebuf< _CharT, _Traits >::stdio_filebuf() . |
|
Opens an external file.
[Table 92 gives the relation between openmode combinations and the equivalent fopen() flags, but the table has not been copied yet.] Definition at line 83 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::close() , std::basic_filebuf< _CharT, _Traits >::is_open() , std::basic_filebuf< _CharT, _Traits >::seekoff() , and std::basic_filebuf< _CharT, _Traits >::underflow() . |
|
Consumes data from the buffer; writes to the controlled sequence.
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 overriding only this function (no buffer area will be used).
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 235 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::int_type . |
|
Tries to back up the input sequence.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 167 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::char_type , std::basic_filebuf< _CharT, _Traits >::int_type , std::basic_filebuf< _CharT, _Traits >::seekoff() , and std::basic_filebuf< _CharT, _Traits >::underflow() . |
|
Alters the stream positions. Each derived class provides its own appropriate behavior.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 398 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::is_open() , std::max() , std::basic_filebuf< _CharT, _Traits >::off_type , std::basic_filebuf< _CharT, _Traits >::pos_type , and std::basic_filebuf< _CharT, _Traits >::sync() . Referenced by std::basic_filebuf< _CharT, _Traits >::open() , std::basic_filebuf< _CharT, _Traits >::pbackfail() , and std::basic_filebuf< _CharT, _Traits >::seekpos() . |
|
Alters the stream positions. Each derived class provides its own appropriate behavior.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 452 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::off_type , and std::basic_filebuf< _CharT, _Traits >::seekoff() . |
|
Manipulates the buffer.
s is used as a buffer; see http://gcc.gnu.org/onlinedocs/libstdc++/27_io/howto.html#2 for more.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 373 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::is_open() . |
|
Investigating the data available.
underflow() will not return traits::eof() until at least that number of characters have been supplied. If showmanyc() returns -1, then calls to underflow() or uflow() will fail." [27.5.2.4.3]/1
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 153 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::is_open() . |
|
Synchronizes the buffer arrays with the controlled sequences.
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 323 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::seekoff() . |
|
Fetches more data from the controlled sequence.
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 from std::basic_streambuf< _CharT, _Traits > . |
|
Fetches more data from the controlled sequence.
traits::eof() to indicate 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
Reimplemented from std::basic_streambuf< _CharT, _Traits > . Definition at line 246 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::open() , and std::basic_filebuf< _CharT, _Traits >::pbackfail() . |
|
Multiple character extraction.
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 efficient implementation by overriding this definition. Reimplemented from std::basic_streambuf< _CharT, _Traits > . |
|
Multiple character insertion.
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 efficient implementation by overriding this definition. Reimplemented from std::basic_streambuf< _CharT, _Traits > . |