Boost logo

Boost-Commit :

From: technews_at_[hidden]
Date: 2008-02-19 14:34:19


Author: turkanis
Date: 2008-02-19 14:34:19 EST (Tue, 19 Feb 2008)
New Revision: 43326
URL: http://svn.boost.org/trac/boost/changeset/43326

Log:
stringstreams are no longer closable; the semantics of close() for these devices was illconsidered
Text files modified:
   branches/iostreams_dev/boost/iostreams/categories.hpp | 4 ----
   branches/iostreams_dev/boost/iostreams/close.hpp | 17 -----------------
   2 files changed, 0 insertions(+), 21 deletions(-)

Modified: branches/iostreams_dev/boost/iostreams/categories.hpp
==============================================================================
--- branches/iostreams_dev/boost/iostreams/categories.hpp (original)
+++ branches/iostreams_dev/boost/iostreams/categories.hpp 2008-02-19 14:34:19 EST (Tue, 19 Feb 2008)
@@ -139,22 +139,18 @@
     { };
 struct istringstream_tag
     : input_seekable,
- closable_tag,
       istream_tag
     { };
 struct ostringstream_tag
     : output_seekable,
- closable_tag,
       ostream_tag
     { };
 struct stringstream_tag
     : dual_seekable,
- closable_tag,
       iostream_tag
     { };
 struct stringbuf_tag
     : dual_seekable,
- closable_tag,
       streambuf_tag
     { };
 struct generic_istream_tag

Modified: branches/iostreams_dev/boost/iostreams/close.hpp
==============================================================================
--- branches/iostreams_dev/boost/iostreams/close.hpp (original)
+++ branches/iostreams_dev/boost/iostreams/close.hpp 2008-02-19 14:34:19 EST (Tue, 19 Feb 2008)
@@ -136,8 +136,6 @@
             iostreams::select<
                 mpl::not_< is_convertible<category, closable_tag> >,
                 any_tag,
- is_std_string_device<unwrapped>,
- stringstream_tag,
                 mpl::or_<
                     is_boost_stream<unwrapped>,
                     is_boost_stream_buffer<unwrapped>
@@ -187,21 +185,6 @@
 };
 
 template<>
-struct close_impl<stringstream_tag> {
- template<typename T>
- static void close(T& t)
- {
- t.str("");
- }
- template<typename T>
- static void close(T& t, BOOST_IOS::openmode which)
- {
- if (which == BOOST_IOS::out)
- t.str("");
- }
-};
-
-template<>
 struct close_impl<close_boost_stream> {
     template<typename T>
     static void close(T& t)


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk