Boost logo

Boost :

From: parksie ;-) (mike_at_[hidden])
Date: 2002-09-15 18:10:19

Hash: SHA1

On Saturday 14 September 2002 10:32 pm, you wrote:
> > > > It would be nice to implement access to a zip or tar file, for
> > > > example, as a read-only filesystem. (Or maybe even read-write!)
> >
> > Yeah, that was my original idea. That is the main advantage of using
> > packages. However, compression is beyond the scope of the FileSystem
> > library, so imho it should be written on top of it.
> >
> > > A tar file shouldn't be too difficult, not sure about a gzipped tar
> > > file.
> >
> > I
> >
> > > have two weeks with not much to do coming up so I might be able to try
> > > and get something that can read from a .tar file in the same interface
> > > as the B::FS classes.
> >
> > Sounds great. I would definitely be using that.
> I think this would be a really valueable challenge to test the filesystem
> interfaces and evaluate the extesibility of the current implementation.
> I have had a note to try out this exact scenario with the FS lib, but
> just haven't had time.
> As for the compression that is is separate issue. I posted a compressing
> stream buffer (using zlib) some time ago:

The way I'm doing it at the moment, I have a class that will map out the .tar
file on loading, so it might end up decompressing the entire stream anyway --
any comments on this? The alternative I can see is reading through the .tar
file as you iterate through the files.

I've got something preliminary that can read in a .tar file into a tree class
of my own devising that I already had, that's just an implementation detail
though. I'm currently trying to fix up a replacement directory_iterator, but
I'm not totally sure how this should be created, I was thinking something
along having an adaptor that can convert an input file stream (the tar file)
into a slightly smarter directory_iterator.

I'm still getting to grips with the FS lib internals, and definitely need to
look more carefully at some of the filesystem::path code.

Version: GnuPG v1.0.6 (GNU/Linux)
Comment: For info see


Boost list run by bdawes at, gregod at, cpdaniel at, john at