OSDN Git Service

2003-04-28 Paolo Carlini <pcarlini@unitus.it>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Apr 2003 23:02:46 +0000 (23:02 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Apr 2003 23:02:46 +0000 (23:02 +0000)
* 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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/fstream.tcc
libstdc++-v3/include/std/std_fstream.h
libstdc++-v3/include/std/std_streambuf.h

index 853b8ac..f8fd27b 100644 (file)
@@ -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
index 75bc0c8..c03c0e5 100644 (file)
@@ -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; }
 
index 6a58a4a..8c388bd 100644 (file)
@@ -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;
       }
 
index a5fdc2f..bfb8e3f 100644 (file)
@@ -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())