$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Larry Evans (jcampbell3_at_[hidden])
Date: 2003-06-15 08:31:31
Larry Evans wrote:
> Larry Evans wrote:
>
> [snip]
>
>> Please see the just uploaded marg_ostreambuf.cpp for a
>> little better version.
>
>
> The just uploaded test_ostreambuf_decorator.zip contains
> renamed classes as well as virtual {detach,attach}_ostream
> to avoid using ostream* m_ostream==0 as flag indicating
> the end of the chain of decorators.
The code mentioned MAY be very similar to that of J. Kanze available
at:
http://www.gabi-soft.fr/code/Util/IO/FilteringOutputStream/gb/FilteringOutputStream.hh
I say this because in the comments to the code, in class:
class GB_FilteringOutputStreambufBase : public GB_iostd::streambuf
and after:
private:
// insert :
// --------
there's the following:
// Inserts a character into the destination. This is where
// the actual filtering takes place. The function receives
// the destination streambuf and the character as arguments;
// in case of error, it should return EOF, otherwise,
// anything else. Exactly what it does with the character is
// upto the function in the derived class: it can pass it on
// to the destination, simply drop it, send a dozen or so
// other characters as well, or whatever it wants.
Since this is essentially what marg_ostreambuf does when it sees a
'\n' character( i.e. it outputs the margin before the next output
char) , I thought maybe this would be a better, more general, solution
to the problem solved by marg_ostreambuf and marg_ostream in:
http://groups.yahoo.com/group/boost/files/col_io
What do other's think. Would J. Kanze be interested and have time to
contribute this work to boost?