diff options
author | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-28 23:02:46 +0000 |
---|---|---|
committer | paolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-04-28 23:02:46 +0000 |
commit | f28b2a4c309411708b0bedcb08551c5483736de3 (patch) | |
tree | 120c0218b0a24188c850f323a7820c110f919815 /libstdc++-v3 | |
parent | bee5df6a4b5f52d1d5a6eeea906900b9a89eec54 (diff) | |
download | gcc-f28b2a4c309411708b0bedcb08551c5483736de3.tar.gz |
2003-04-28 Paolo Carlini <pcarlini@unitus.it>
* include/std/std_streambuf.h (_M_buf_size): is currently
used only for basic_filebuf, therefore move it there.
(basic_streambuf(), ~basic_streambuf()): Adjust.
* include/std/std_fstream.h (_M_buf_size): Moved here.
* include/bits/fstream.tcc (basic_filebuf()): Adjust.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66191 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 8 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/fstream.tcc | 2 | ||||
-rw-r--r-- | libstdc++-v3/include/std/std_fstream.h | 9 | ||||
-rw-r--r-- | libstdc++-v3/include/std/std_streambuf.h | 12 |
4 files changed, 19 insertions, 12 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 853b8ace7b4..f8fd27b0e03 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,13 @@ 2003-04-28 Paolo Carlini <pcarlini@unitus.it> + * include/std/std_streambuf.h (_M_buf_size): is currently + used only for basic_filebuf, therefore move it there. + (basic_streambuf(), ~basic_streambuf()): Adjust. + * include/std/std_fstream.h (_M_buf_size): Moved here. + * include/bits/fstream.tcc (basic_filebuf()): Adjust. + +2003-04-28 Paolo Carlini <pcarlini@unitus.it> + * include/bits/streambuf.tcc (__copy_streambufs): Don't use _M_buf_size (synced input is now correctly dealt with elsewhere); when the output buffer is full don't fall back diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index 75bc0c8e485..c03c0e5b4fd 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -76,7 +76,7 @@ namespace std basic_filebuf<_CharT, _Traits>:: basic_filebuf() : __streambuf_type(), _M_file(&_M_lock), _M_state_cur(__state_type()), _M_state_beg(__state_type()), - _M_buf_allocated(false), _M_last_overflowed(false), + _M_buf_size(BUFSIZ), _M_buf_allocated(false), _M_last_overflowed(false), _M_pback_cur_save(0), _M_pback_end_save(0), _M_pback_init(false) { this->_M_buf_unified = true; } diff --git a/libstdc++-v3/include/std/std_fstream.h b/libstdc++-v3/include/std/std_fstream.h index 6a58a4a56bb..8c388bdfb3b 100644 --- a/libstdc++-v3/include/std/std_fstream.h +++ b/libstdc++-v3/include/std/std_fstream.h @@ -45,6 +45,7 @@ #include <istream> #include <ostream> #include <locale> // For codecvt +#include <cstdio> // For SEEK_SET, SEEK_CUR, SEEK_END, BUFSIZ #include <bits/basic_file.h> #include <bits/gthr.h> @@ -113,6 +114,13 @@ namespace std __state_type _M_state_cur; __state_type _M_state_beg; + /** + * @if maint + * Actual size of internal buffer. + * @endif + */ + size_t _M_buf_size; + // Set iff _M_buf is allocated memory from _M_allocate_internal_buffer. /** * @if maint @@ -209,6 +217,7 @@ namespace std ~basic_filebuf() { this->close(); + _M_buf_size = 0; _M_last_overflowed = false; } diff --git a/libstdc++-v3/include/std/std_streambuf.h b/libstdc++-v3/include/std/std_streambuf.h index a5fdc2f5a02..bfb8e3fd514 100644 --- a/libstdc++-v3/include/std/std_streambuf.h +++ b/libstdc++-v3/include/std/std_streambuf.h @@ -44,7 +44,6 @@ #include <bits/c++config.h> #include <iosfwd> -#include <cstdio> // For SEEK_SET, SEEK_CUR, SEEK_END #include <bits/localefwd.h> #include <bits/ios_base.h> @@ -172,14 +171,6 @@ namespace std /** * @if maint - * Actual size of allocated internal buffer. Unused for sstreams, - * which have readily available _M_string.capacity(). - * @endif - */ - size_t _M_buf_size; - - /** - * @if maint * True iff _M_in_* and _M_out_* buffers should always point to * the same place. True for fstreams, false for sstreams. * @endif @@ -278,7 +269,6 @@ namespace std ~basic_streambuf() { _M_buf_unified = false; - _M_buf_size = 0; _M_mode = ios_base::openmode(0); } @@ -477,7 +467,7 @@ namespace std * - this is not an error */ basic_streambuf() - : _M_buf(NULL), _M_buf_size(BUFSIZ), _M_buf_unified(false), + : _M_buf(NULL), _M_buf_unified(false), _M_in_beg(0), _M_in_cur(0), _M_in_end(0), _M_out_beg(0), _M_out_cur(0), _M_out_end(0), _M_out_lim(0), _M_mode(ios_base::openmode(0)), _M_buf_locale(locale()) |