From: Jonathan Turkanis (technews_at_[hidden])
Date: 2004-06-01 20:39:14
<slavek.f.kuzniar_at_[hidden]> wrote in message
> I downloaded the library from the yahoo link you mentioned in the
> request. When trying to use 'filtered_stream' I ran into some
> issues (RedHat 9, g++ 3.3) and before looking into it I wanted to
> review status. Knowing that the library is in the review pipeline I
> give it another try.
Thanks for trying it out. I'm sorry to hear about the compilation
problems. gcc 3.3 on Linux is defintely one of the supported
platforms. Last I rememeber it passed all the regression tests.
Normally, I would ask you to post your code and error messages, but I
think in this case it doesn't make much sense to patch an old version
of the library. I'd like to put up the new version and have you try it
> Some time ago I developed simple iostream adapter 'library' that
> wrap IO device (sockets, pipes, etc) in std::[i,o,io]stream that is
> similar to your sink/source technique. One difference is that the
> is a template class parameterized by the source/sink types.
This is the approach I take in the latest version (actually its
present in the previous version but sort of hidden). There are two
main streambuf and stream templates -- streambuf_facade and
stream_facade -- both parameterized by a source/sink. (The names are
stolen from Boost.Iterator, of course.) For filtering there are also
two templates, filtering_streambuf and filtering_stream, parameterized
by a 'mode' (input, output, etc.) and by character type.
Basically, everything is simpler to use, and more flexible.
I've also improved the implementation. As an experiment I replaced tag
dispatch with a technique using is_convertible and simulated partial
specialization. To my amazement I found about a 30% speed-up on como
and found that Borland 5.6.4 runs about twice as fast.
> library offers this functionality (plus much more) I am very pleased
> will become part of boost soon.
Thanks for the encouragement. I certainly hope it will become part of
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk