Boost logo

Boost Users :

From: Paul Giaccone (paulg_at_[hidden])
Date: 2005-10-07 03:39:30


Jonathan Turkanis wrote:

>Paul Giaccone wrote:
>
>
>>Paul Giaccone wrote:
>>
>>
>>
>>>How do you close a filtering_ostream object once you have finished
>>>writing to it?
>>>
>>>
>>>
>>>
>>I tried calling out.reset() to the filtering_ostream object. This has
>>the desired effect, as the data is written to file before "out" falls
>>out of scope, but then when the end of the scope is reached, my
>>program crashes in the destructor.
>>
>>
>
>Could you post the program (or a simplified version)? When I add reset() to the
>program in your previous message, it works fine.
>
>
>
>>If this is not the right way to flush the stream, what should I be
>>doing instead? I tried strict_sync() but this returned false because
>>it looks as though the compressor is not flushable (although I could
>>not find anything about this in the documentation).
>>
>>
>
>Right, the compressors are not flushable. The purpose of strict_sync() is to
>allow you to switch filters in the middle of a sequence of i/o operations. With
>compression, switching filters before all the data is compressed will generally
>result in garbage, so there's no point trying to implement flush().
>
>
Thanks for the confirmation, Jonathan. The program I sent in my
original posting is the exact program I am testing.

It's strange though that reset() should crash for me but not for you.

Paul Giaccone


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net