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 |
typedef basic_streambuf< char_type, traits_type > | __streambuf_type |
typedef basic_filebuf< char_type, traits_type > | __filebuf_type |
typedef __basic_file< char > | __file_type |
typedef traits_type::state_type | __state_type |
typedef codecvt< char_type, char, __state_type > | __codecvt_type |
Public Member Functions | |
basic_filebuf () | |
Does not open any files. | |
virtual | ~basic_filebuf () |
The destructor closes the file first. | |
bool | is_open () const throw () |
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 () throw () |
Closes the currently associated file. | |
Protected Member Functions | |
void | _M_create_pback () |
void | _M_destroy_pback () throw () |
void | _M_allocate_internal_buffer () |
void | _M_destroy_internal_buffer () throw () |
virtual streamsize | showmanyc () |
Investigating the data available. | |
virtual int_type | underflow () |
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. | |
bool | _M_convert_to_external (char_type *, streamsize) |
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. | |
pos_type | _M_seek (off_type __off, ios_base::seekdir __way, __state_type __state) |
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. | |
bool | _M_terminate_output () |
void | _M_set_buffer (streamsize __off) |
Protected Attributes | |
__c_lock | _M_lock |
__file_type | _M_file |
ios_base::openmode | _M_mode |
__state_type | _M_state_beg |
__state_type | _M_state_cur |
__state_type | _M_state_last |
char_type * | _M_buf |
size_t | _M_buf_size |
bool | _M_buf_allocated |
bool | _M_reading |
bool | _M_writing |
const __codecvt_type * | _M_codecvt |
char * | _M_ext_buf |
streamsize | _M_ext_buf_size |
const char * | _M_ext_next |
char * | _M_ext_end |
char_type | _M_pback |
char_type * | _M_pback_cur_save |
char_type * | _M_pback_end_save |
bool | _M_pback_init |
Friends | |
class | ios_base |
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 69 of file fstream.
|
Definition at line 89 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::imbue(). |
|
|
|
Definition at line 86 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::close(), and std::basic_filebuf< _CharT, _Traits >::open(). |
|
Definition at line 88 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), and std::basic_filebuf< _CharT, _Traits >::seekoff(). |
|
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Definition at line 85 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::basic_filebuf(). |
|
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 >. |
|
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits >. |
|
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Reimplemented in __gnu_cxx::stdio_filebuf< _CharT, _Traits >. Definition at line 77 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::pbackfail(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::seekpos(). |
|
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Reimplemented in __gnu_cxx::enc_filebuf< _CharT >, and __gnu_cxx::stdio_filebuf< _CharT, _Traits >. Definition at line 76 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::pbackfail(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::seekpos(). |
|
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Reimplemented in __gnu_cxx::enc_filebuf< _CharT >, and __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 76 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::__streambuf_type, and std::basic_filebuf< _CharT, _Traits >::_M_codecvt. |
|
The destructor closes the file first.
|
|
Definition at line 45 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::_M_buf_allocated, and std::basic_filebuf< _CharT, _Traits >::_M_buf_size. Referenced by std::basic_filebuf< _CharT, _Traits >::open(), and __gnu_cxx::stdio_filebuf< _CharT, _Traits >::stdio_filebuf(). |
|
Referenced by std::basic_filebuf< _CharT, _Traits >::overflow(). |
|
Definition at line 233 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::pbackfail(). |
|
Definition at line 59 of file fstream.tcc. |
|
Definition at line 252 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::seekoff(), std::basic_filebuf< _CharT, _Traits >::seekpos(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
|
|
|
Closes the currently associated file.
If a "put buffer area" exists, If any operations fail, this function also fails. Definition at line 125 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::__filebuf_type, and std::ios_base::openmode. Referenced by std::basic_filebuf< _CharT, _Traits >::open(), and std::basic_filebuf< _CharT, enc_char_traits< _CharT > >::~basic_filebuf(). |
|
|
Returns true if the external file is open.
Definition at line 285 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::seekoff(), std::basic_filebuf< _CharT, _Traits >::seekpos(), 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 91 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::__filebuf_type, std::basic_filebuf< _CharT, _Traits >::_M_allocate_internal_buffer(), std::basic_filebuf< _CharT, _Traits >::_M_mode, std::basic_filebuf< _CharT, _Traits >::_M_reading, std::basic_filebuf< _CharT, _Traits >::_M_set_buffer(), std::basic_filebuf< _CharT, _Traits >::_M_state_beg, std::basic_filebuf< _CharT, _Traits >::_M_state_cur, std::basic_filebuf< _CharT, _Traits >::_M_state_last, std::basic_filebuf< _CharT, _Traits >::_M_writing, std::basic_filebuf< _CharT, _Traits >::close(), std::basic_filebuf< _CharT, _Traits >::is_open(), std::basic_filebuf< _CharT, _Traits >::off_type, std::__basic_file< char >::open(), std::ios_base::openmode, std::basic_filebuf< _CharT, _Traits >::pos_type, and std::basic_filebuf< _CharT, _Traits >::seekoff(). |
|
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 380 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::_M_buf_size, std::basic_filebuf< _CharT, _Traits >::_M_convert_to_external(), std::basic_filebuf< _CharT, _Traits >::_M_mode, std::basic_filebuf< _CharT, _Traits >::_M_reading, std::basic_filebuf< _CharT, _Traits >::_M_set_buffer(), std::basic_filebuf< _CharT, _Traits >::_M_writing, std::basic_streambuf< _CharT, _Traits >::pbase(), std::basic_streambuf< _CharT, _Traits >::pbump(), and std::basic_streambuf< _CharT, _Traits >::pptr(). Referenced by std::basic_filebuf< _CharT, _Traits >::_M_terminate_output(), and std::basic_filebuf< _CharT, _Traits >::sync(). |
|
Tries to back up the input sequence.
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Definition at line 328 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::_M_create_pback(), std::basic_filebuf< _CharT, _Traits >::_M_mode, std::basic_filebuf< _CharT, _Traits >::_M_pback_init, std::basic_filebuf< _CharT, _Traits >::_M_reading, std::basic_filebuf< _CharT, _Traits >::_M_writing, std::basic_streambuf< _CharT, _Traits >::eback(), std::basic_streambuf< _CharT, _Traits >::gbump(), std::basic_streambuf< _CharT, _Traits >::gptr(), std::basic_filebuf< _CharT, _Traits >::off_type, std::basic_filebuf< _CharT, _Traits >::pos_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 656 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::__state_type, std::basic_filebuf< _CharT, _Traits >::_M_codecvt, std::basic_filebuf< _CharT, _Traits >::_M_destroy_pback(), std::basic_filebuf< _CharT, _Traits >::_M_ext_buf, std::basic_filebuf< _CharT, _Traits >::_M_ext_end, std::basic_filebuf< _CharT, _Traits >::_M_ext_next, std::basic_filebuf< _CharT, _Traits >::_M_reading, std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::_M_state_beg, std::basic_filebuf< _CharT, _Traits >::_M_state_last, std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::always_noconv(), std::basic_streambuf< _CharT, _Traits >::eback(), std::basic_streambuf< _CharT, _Traits >::egptr(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::encoding(), std::basic_streambuf< _CharT, _Traits >::gptr(), std::basic_filebuf< _CharT, _Traits >::is_open(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::length(), std::basic_filebuf< _CharT, _Traits >::off_type, std::ios_base::openmode, std::basic_filebuf< _CharT, _Traits >::pos_type, and std::ios_base::seekdir. Referenced by std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), and std::basic_filebuf< _CharT, _Traits >::pbackfail(). |
|
Alters the stream positions. Each derived class provides its own appropriate behavior.
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Definition at line 709 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::_M_destroy_pback(), std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::is_open(), std::basic_filebuf< _CharT, _Traits >::off_type, std::ios_base::openmode, and std::basic_filebuf< _CharT, _Traits >::pos_type. |
|
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 629 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::_M_buf_size, std::basic_filebuf< _CharT, _Traits >::is_open(), and std::streamsize. |
|
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 160 of file fstream.tcc. References std::__check_facet(), std::basic_filebuf< _CharT, _Traits >::_M_codecvt, std::basic_filebuf< _CharT, _Traits >::_M_mode, std::basic_streambuf< _CharT, _Traits >::egptr(), std::basic_streambuf< _CharT, _Traits >::gptr(), std::basic_filebuf< _CharT, _Traits >::is_open(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::max_length(), std::__basic_file< char >::showmanyc(), and std::streamsize. |
|
Synchronizes the buffer arrays with the controlled sequences.
Reimplemented from std::basic_streambuf< _CharT, _Traits >. Definition at line 805 of file fstream.tcc. References std::basic_filebuf< _CharT, _Traits >::overflow(), std::basic_streambuf< _CharT, _Traits >::pbase(), and std::basic_streambuf< _CharT, _Traits >::pptr(). |
|
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 178 of file fstream.tcc. References std::__check_facet(), __N, std::__throw_ios_failure(), std::basic_filebuf< _CharT, _Traits >::_M_buf_size, std::basic_filebuf< _CharT, _Traits >::_M_codecvt, std::basic_filebuf< _CharT, _Traits >::_M_destroy_pback(), std::basic_filebuf< _CharT, _Traits >::_M_ext_buf, std::basic_filebuf< _CharT, _Traits >::_M_ext_buf_size, std::basic_filebuf< _CharT, _Traits >::_M_ext_end, std::basic_filebuf< _CharT, _Traits >::_M_ext_next, std::basic_filebuf< _CharT, _Traits >::_M_mode, std::basic_filebuf< _CharT, _Traits >::_M_reading, std::basic_filebuf< _CharT, _Traits >::_M_set_buffer(), std::basic_filebuf< _CharT, _Traits >::_M_state_cur, std::basic_filebuf< _CharT, _Traits >::_M_state_last, std::basic_filebuf< _CharT, _Traits >::_M_writing, std::basic_streambuf< _CharT, _Traits >::eback(), std::basic_streambuf< _CharT, _Traits >::egptr(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::encoding(), std::basic_streambuf< _CharT, _Traits >::gptr(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::in(), std::__codecvt_abstract_base< _InternT, _ExternT, _StateT >::max_length(), std::min(), std::streamsize, and std::__basic_file< char >::xsgetn(). Referenced by 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 >. |
|
|
|
|
|
Definition at line 168 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_allocate_internal_buffer(). |
|
Definition at line 160 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_allocate_internal_buffer(), std::basic_filebuf< _CharT, _Traits >::overflow(), std::basic_filebuf< _CharT, _Traits >::setbuf(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 197 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_terminate_output(), std::basic_filebuf< _CharT, _Traits >::basic_filebuf(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::seekoff(), std::basic_filebuf< _CharT, _Traits >::showmanyc(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 206 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 213 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 223 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 222 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
|
|
|
|
Definition at line 117 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::overflow(), std::basic_filebuf< _CharT, _Traits >::pbackfail(), std::basic_filebuf< _CharT, _Traits >::showmanyc(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
|
|
|
|
|
|
Definition at line 193 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::pbackfail(). |
|
Definition at line 179 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::overflow(), std::basic_filebuf< _CharT, _Traits >::pbackfail(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 125 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), and std::basic_filebuf< _CharT, _Traits >::seekoff(). |
|
Definition at line 135 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::_M_terminate_output(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 144 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::seekoff(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |
|
Definition at line 180 of file fstream. Referenced by std::basic_filebuf< _CharT, _Traits >::_M_seek(), std::basic_filebuf< _CharT, _Traits >::_M_terminate_output(), std::basic_filebuf< _CharT, _Traits >::imbue(), std::basic_filebuf< _CharT, _Traits >::open(), std::basic_filebuf< _CharT, _Traits >::overflow(), std::basic_filebuf< _CharT, _Traits >::pbackfail(), and std::basic_filebuf< _CharT, _Traits >::underflow(). |