+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
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; }
#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>
__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
~basic_filebuf()
{
this->close();
+ _M_buf_size = 0;
_M_last_overflowed = false;
}
#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>
*/
char_type* _M_buf;
- /**
- * @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
~basic_streambuf()
{
_M_buf_unified = false;
- _M_buf_size = 0;
_M_mode = ios_base::openmode(0);
}
* - 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())