mirror of git://gcc.gnu.org/git/gcc.git
fstream.tcc (filebuf::_M_init_filebuf): Don't set _M_buf_size based on macro, instead use _M_buf_size_opt.
2000-05-08 Benjamin Kosnik <bkoz@cygnus.com> * bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set _M_buf_size based on macro, instead use _M_buf_size_opt. * bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt. (basic_streambuf()): Set _M_buf_size_opt. * testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt instead of _M_buf_size. From-SVN: r33768
This commit is contained in:
parent
c0916fa0b5
commit
d207c3f7ff
|
@ -1,3 +1,12 @@
|
||||||
|
2000-05-08 Benjamin Kosnik <bkoz@cygnus.com>
|
||||||
|
|
||||||
|
* bits/fstream.tcc (filebuf::_M_init_filebuf): Don't set
|
||||||
|
_M_buf_size based on macro, instead use _M_buf_size_opt.
|
||||||
|
* bits/std_streambuf.h (basic_streambuf): Add _M_buf_size_opt.
|
||||||
|
(basic_streambuf()): Set _M_buf_size_opt.
|
||||||
|
* testsuite/27_io/filebuf.cc (filebuf): Use _M_buf_size_opt
|
||||||
|
instead of _M_buf_size.
|
||||||
|
|
||||||
2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
|
2000-05-03 Phil Edwards <pme@sourceware.cygnus.com>
|
||||||
Felix Natter <fnatter@gmx.net>
|
Felix Natter <fnatter@gmx.net>
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// File based streams -*- C++ -*-
|
// File based streams -*- C++ -*-
|
||||||
|
|
||||||
// Copyright (C) 1997-1999 Free Software Foundation, Inc.
|
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
// software; you can redistribute it and/or modify it under the
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
@ -42,7 +42,7 @@ namespace std
|
||||||
_M_init_filebuf(void)
|
_M_init_filebuf(void)
|
||||||
{
|
{
|
||||||
_M_buf_unified = true; // Tie input to output for basic_filebuf.
|
_M_buf_unified = true; // Tie input to output for basic_filebuf.
|
||||||
_M_buf_size = static_cast<int_type>(BUFSIZ * sizeof(char_type));
|
_M_buf_size = _M_buf_size_opt;
|
||||||
try {
|
try {
|
||||||
_M_file = new __file_type(&_M_lock);
|
_M_file = new __file_type(&_M_lock);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// Stream buffer classes -*- C++ -*-
|
// Stream buffer classes -*- C++ -*-
|
||||||
|
|
||||||
// Copyright (C) 1997-1999 Free Software Foundation, Inc.
|
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
// software; you can redistribute it and/or modify it under the
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
@ -84,9 +84,12 @@ namespace std {
|
||||||
// leave it NULL.
|
// leave it NULL.
|
||||||
char_type* _M_buf;
|
char_type* _M_buf;
|
||||||
|
|
||||||
// Size of internal buffer, in bytes.
|
// Actual size of internal buffer, in bytes.
|
||||||
int_type _M_buf_size;
|
int_type _M_buf_size;
|
||||||
|
|
||||||
|
// Optimal or preferred size of internal buffer, in bytes.
|
||||||
|
int_type _M_buf_size_opt;
|
||||||
|
|
||||||
// True iff _M_in_* and _M_out_* buffers should always point to
|
// True iff _M_in_* and _M_out_* buffers should always point to
|
||||||
// the same place. True for fstreams, false for sstreams.
|
// the same place. True for fstreams, false for sstreams.
|
||||||
bool _M_buf_unified;
|
bool _M_buf_unified;
|
||||||
|
@ -284,10 +287,13 @@ namespace std {
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
basic_streambuf()
|
basic_streambuf()
|
||||||
: _M_buf(NULL), _M_buf_size(0), _M_buf_unified(false),
|
: _M_buf(NULL), _M_buf_size(0),
|
||||||
_M_in_cur(0), _M_in_beg(0), _M_in_end(0), _M_out_cur(0), _M_out_beg(0),
|
_M_buf_size_opt(static_cast<int_type>(BUFSIZ * sizeof(char_type))),
|
||||||
_M_out_end(0), _M_mode(ios_base::openmode(0)),
|
_M_buf_unified(false), _M_in_cur(0), _M_in_beg(0), _M_in_end(0),
|
||||||
_M_locale_buf(locale()), _M_locale_set(false)
|
_M_out_cur(0), _M_out_beg(0), _M_out_end(0),
|
||||||
|
_M_mode(ios_base::openmode(0)), _M_locale_buf(locale()),
|
||||||
|
_M_locale_set(false)
|
||||||
|
|
||||||
{ _M_fctype_buf = &use_facet<__ctype_type>(this->getloc()); }
|
{ _M_fctype_buf = &use_facet<__ctype_type>(this->getloc()); }
|
||||||
|
|
||||||
// Get area:
|
// Get area:
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
// 990117 bkoz test functionality of basic_filebuf for char_type == char
|
// 990117 bkoz test functionality of basic_filebuf for char_type == char
|
||||||
|
|
||||||
// Copyright (C) 1997-1999 Free Software Foundation, Inc.
|
// Copyright (C) 1997-1999, 2000 Free Software Foundation, Inc.
|
||||||
//
|
//
|
||||||
// This file is part of the GNU ISO C++ Library. This library is free
|
// This file is part of the GNU ISO C++ Library. This library is free
|
||||||
// software; you can redistribute it and/or modify it under the
|
// software; you can redistribute it and/or modify it under the
|
||||||
|
@ -37,7 +37,7 @@ class derived_filebuf: public std::filebuf
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
void
|
void
|
||||||
set_size(int_type __size) { _M_buf_size = __size; }
|
set_size(int_type __size) { _M_buf_size_opt = __size; }
|
||||||
};
|
};
|
||||||
|
|
||||||
derived_filebuf fb_01; // in
|
derived_filebuf fb_01; // in
|
||||||
|
|
Loading…
Reference in New Issue