Boost logo

Boost :

Subject: [boost] [iostreams][filesystem] v3 adapter uploaded to ticket #4485
From: Jeff Flinn (TriumphSprint2000_at_[hidden])
Date: 2011-03-03 08:32:53


I've uploaded an adapter allowing filesystem V3 path to be passed to the
iostreams library constructors and methods taking paths. I'm using it
with boost 1.44 on MSVC8 and Xcode3.1.2 with gcc4.0.1. It currently
requires that BOOST_FILESYSTEM_VERSION is defined to be 3, and that
users manually use the adapter like:

   #include <boost/iostreams/device/mapped_file.hpp>
   #include <boost/iostreams/filesystem_v3_path_adapter.hpp>

   ...

   boost::filesystem::path p(...);

   namespace io = boost::iostreams;

   io::mapped_file_source mf_src(io::filesystem_v3_path_adapter(p));

Filesystem V3 is deprecated in the upcoming boost 1.47, and will NOT be
included in boost 1.48. Has anyone started updating iostreams to account
for the removal of filesystem V2? IIRC, Steven Watanabe has been doing
some iostreams maintenance. It looks like Jonathan Turkanis is no longer
around, is there a new iostreams maintainer?

I can take this on if no one else is/has. In my view, and as a few
others have stated as well, filesystem V3 path is the common/portable
path currency in boost today. The iostreams interface/implementation can
be simplified by utilizing path's portability. The windows
implementation would always call CreateFileW passing path.wstring().c_str.

Thoughts?

Thanks, Jeff


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