mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-08 14:17:36 +08:00
std_streambuf.h (_M_buf): is currently used only for basic_filebuf, therefore move it there.
2003-04-28 Paolo Carlini <pcarlini@unitus.it> * include/std/std_streambuf.h (_M_buf): is currently used only for basic_filebuf, therefore move it there. (basic_streambuf(), ~basic_streambuf()): Adjust. * include/std/std_fstream.h (_M_buf): Moved here. * include/std/std_sstream.h (setbuf): Don't set _M_buf, is actually redundant for basic_stringbuf. (_M_really_sync): Likewise. * include/bits/fstream.tcc (basic_filebuf()): Adjust. * include/bits/sstream.tcc (seekoff): Adjust. From-SVN: r66193
This commit is contained in:
parent
988ad90d00
commit
479a181108
@ -1,3 +1,15 @@
|
||||
2003-04-28 Paolo Carlini <pcarlini@unitus.it>
|
||||
|
||||
* include/std/std_streambuf.h (_M_buf): is currently
|
||||
used only for basic_filebuf, therefore move it there.
|
||||
(basic_streambuf(), ~basic_streambuf()): Adjust.
|
||||
* include/std/std_fstream.h (_M_buf): Moved here.
|
||||
* include/std/std_sstream.h (setbuf): Don't set _M_buf,
|
||||
is actually redundant for basic_stringbuf.
|
||||
(_M_really_sync): Likewise.
|
||||
* include/bits/fstream.tcc (basic_filebuf()): Adjust.
|
||||
* include/bits/sstream.tcc (seekoff): Adjust.
|
||||
|
||||
2003-04-28 Benjamin Kosnik <bkoz@redhat.com>
|
||||
|
||||
* src/localename.cc: Standardize exception strings.
|
||||
|
@ -76,8 +76,9 @@ 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_size(BUFSIZ), _M_buf_allocated(false), _M_last_overflowed(false),
|
||||
_M_pback_cur_save(0), _M_pback_end_save(0), _M_pback_init(false)
|
||||
_M_buf(NULL), _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; }
|
||||
|
||||
template<typename _CharT, typename _Traits>
|
||||
|
@ -127,7 +127,7 @@ namespace std
|
||||
|
||||
if (_M_string.capacity() && (__testin || __testout || __testboth))
|
||||
{
|
||||
char_type* __beg = this->_M_buf;
|
||||
char_type* __beg = __testin ? this->_M_in_beg : this->_M_out_beg;
|
||||
char_type* __curi = NULL;
|
||||
char_type* __curo = NULL;
|
||||
char_type* __endi = NULL;
|
||||
|
@ -114,6 +114,13 @@ namespace std
|
||||
__state_type _M_state_cur;
|
||||
__state_type _M_state_beg;
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Pointer to the beginning of internally-allocated space.
|
||||
* @endif
|
||||
*/
|
||||
char_type* _M_buf;
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* Actual size of internal buffer.
|
||||
|
@ -229,7 +229,6 @@ namespace std
|
||||
_M_string = __string_type(__s, __n);
|
||||
|
||||
// Step 2: Use the external array.
|
||||
this->_M_buf = __s;
|
||||
_M_really_sync(__s, 0, 0);
|
||||
}
|
||||
return this;
|
||||
@ -263,9 +262,8 @@ namespace std
|
||||
const bool __testout = this->_M_mode & ios_base::out;
|
||||
__size_type __len = _M_string.size();
|
||||
|
||||
this->_M_buf = __base;
|
||||
if (__testin)
|
||||
this->setg(__base, __base + __i, __base + __len);
|
||||
this->setg(__base, __base + __i, __base + __len);
|
||||
if (__testout)
|
||||
{
|
||||
this->setp(__base, __base + _M_string.capacity());
|
||||
|
@ -159,16 +159,6 @@ namespace std
|
||||
__streambuf_type* __sbin,__streambuf_type* __sbout);
|
||||
|
||||
protected:
|
||||
/**
|
||||
* @if maint
|
||||
* Pointer to the beginning of internally-allocated space. Filebuf
|
||||
* manually allocates/deallocates this, whereas stringstreams attempt
|
||||
* to use the built-in intelligence of the string class. If you are
|
||||
* managing memory, set this. If not, leave it NULL.
|
||||
* @endif
|
||||
*/
|
||||
char_type* _M_buf;
|
||||
|
||||
/**
|
||||
* @if maint
|
||||
* True iff _M_in_* and _M_out_* buffers should always point to
|
||||
@ -245,7 +235,7 @@ namespace std
|
||||
// __n + _M_out_[cur, lim] <= _M_out_end
|
||||
// Assuming all _M_out_[beg, cur, lim] pointers are operating on
|
||||
// the same range:
|
||||
// _M_buf <= _M_*_ <= _M_out_end
|
||||
// _M_out_beg <= _M_*_ <= _M_out_end
|
||||
void
|
||||
_M_move_out_cur(off_type __n) // argument needs to be +-
|
||||
{
|
||||
@ -467,10 +457,10 @@ namespace std
|
||||
* - this is not an error
|
||||
*/
|
||||
basic_streambuf()
|
||||
: _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())
|
||||
: _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())
|
||||
{ }
|
||||
|
||||
// [27.5.2.3.1] get area access
|
||||
|
Loading…
Reference in New Issue
Block a user