No <filesystem>
LordAro opened this issue · 4 comments
It'd be good if we could get that as well
Can <filesystem>
be a header-only library?
Boost's seems to be, so don't see why not
This says "Boost.Filesystem is implemented as a separately compiled library, so you must install binaries in a location that can be found by your linker."
Filesystem is complicated because
-
There is no standalone implementation I know of other than Boost
-
Boost.Filesystem and the
std::experimental::filesystem
implementation included with recent GCCs require linking tolibboost_filesystem
orlibstdc++fs
respectively. As such, it's not possible to "transparently upgrade" to a standard version in the way we can with other headers, as the user needs to control which version is used, so they can link to the right library. -
Given that one needs to link to an external library (and thus add a dependency), most of the arguments for avoiding Boost disappear.
Given these factors, I think the best thing to do with <filesystem>
is to recommend the Boost version rather than attempting to provide it ourselves.