Boost logo

Boost :

Subject: [boost] [filesystem] and C++17 std::filesystem
From: Egor Pugin (egor.pugin_at_[hidden])
Date: 2018-05-07 22:23:29


gcc8.1 and VS15.7 (2017) are now shipped with std::filesystem.
I'd like to raise a discussion about pure c++ interoperability with

With boost-1.67 it's not possible to do such things:

#if __has_include(<filesystem>)
#include <filesystem>
namespace fs = std::filesystem;
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;

Because of
boost::filesystem::copy_option::overwrite_if_exists !=
std::fs::path() / boost::fs::unique_path(),
directory iterators etc.

Next, if we take boost::process, for example, we see that it currently
operates only on boost::filesystem. If my application uses c++17 fs, I
have to write something like this:
fs::path f(fs::path in) {

So, mixing pure c++ and boost becomes more complex.

Any ideas how to deal better with such issues on the user side?
What are directions of proper fixing this in boost::process (in case
I'll try to prepare a PR)?
What are boost policies in adopting standard features in general?

Egor Pugin

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