Boost logo

Boost :

From: scleary_at_[hidden]
Date: 2000-05-30 11:28:33


> I did not understand exactly what your classes do. Are you putting
> standard interfaces around some machine specific code? Like, putting
> a basic_streambuf wrapper around Win32 file handles? If this is the
> case, I am very interested to look at your work.

Yes. All the "glue" classes do is take one published interface (i.e.,
HANDLE + ReadFile + WriteFile) and transform it into another (i.e., stream
objects + operator>> + operator<<).

As Dietmar pointed out, these may be considered a subset of general I/O
adapters. In fact, his collection sounds much more complete. :)

Also, my "glue" classes have only been used in a handful of situations, and
I really didn't know what I was doing when I wrote them. In other words,
they should probably be reviewed by someone who knows more about extending
the I/O stream classes.

My "glue" classes are just that -- glue. By that I mean that my FILEstream
does *not* provide facilities for opening/closing files. These classes were
written expecting that you already had a FILE * (from legacy code) that you
wanted to treat as a stream. That is to say that my glue classes are not
complete, but just provide what is necessary to "make it work".

That said, I've put what I have in the files, under "IO glue". Of these, I
expect:
  . FILEStream to be replaced with what Dietmar has, which is probably more
complete
  . error_errno to go into another library or possibly disappear (not I/O
related)
  . HANDLEStream and VCLStream to possibly be enhanced, then merged with
what Dietmar has
  . FILEiter I don't know -- possibly disappear. I only wrote it in the
first place because I was writing a *very* small program that just
transformed a character stream, and the overhead of the C++ stream libraries
doubled the executable size.

        -Steve


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk