Subject: [Boost-bugs] [Boost C++ Libraries] #4590: Flushing a filtering_ostream stopped working in Boost 1.44
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-08-25 10:28:24
#4590: Flushing a filtering_ostream stopped working in Boost 1.44
------------------------------+---------------------------------------------
Reporter: t0rt1e@⦠| Owner: turkanis
Type: Bugs | Status: new
Milestone: To Be Determined | Component: iostreams
Version: Boost 1.44.0 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
Since the update to Boost 1.44, flushing an filtering_ostream containing
an output_filter and a sink different from std::cout (tested
boost::iostreams::back_inserter(std::string) and
boost::test_tools::output_test_stream) using the flush() member function
stopped working. The output string stays empty. This used to work until
Boost 1.43.
I tried to replace the call of flush() with the sync() member function
documented in
<http://www.boost.org/doc/libs/1_44_0/libs/iostreams/doc/classes/filtering_stream.html>,
which leads to compiler error that filtering_ostream does not have this
member function. Only using the member function strict_sync() flushes
correctly the filtering_ostream in Boost 1.44.
Attached is a test case based on the back_inserter example in
<http://www.boost.org/doc/libs/1_44_0/libs/iostreams/doc/tutorial/container_sink.html>
augmented by a transparent filter simplified from the code example in
<http://www.boost.org/doc/libs/1_44_0/libs/iostreams/doc/concepts/output_filter.html>.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4590> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:04 UTC