Deprecate I/O interface using boost::filesystem::path #222
Labels
cat/deprecation
Deprecate a feature or functionality
ext/io
boost/gil/extension/io/
good-first-issue
Opportunity for new contributors to help improving GIL
TL;TR: We are planning to deprecate functions accepting
boost::filesystem::path
and replace with C++17std::filesystem
What
Currently, Boost.Filesystem support is optional, guarded with macro BOOST_GIL_IO_ADD_FS_PATH_SUPPORT checked in number of the I/O extension headers.
It is reasonable to replace the
boost::filesystem
withstd::filesystem
whenever GIL code is compiled using C++17,unless user explicitly desires to use Boost.Filesystem via an appropriate
#define
.Why
We, @stefanseefeld & @mloskot, don't see any added value in function overloads such as
make_dynamic_image_reader
that usefilesystem::path
over just passingstd::string
orchar const*
and leaving the conversion from thepath
tostring
to the converting constructors or user.Avoid Boost.Filesystem as direct and mandatory dependency.
Briefly, we considered automatically replacing
boost::filesystem
withstd::filesystem
, depending on compiler and target C++ version, but we quickly landed at the point 1. Plus, the<filesystem>
detection heuristics would not be as straightforward as one may expect.When
As soon as possible - along with complete C++11 switch
The text was updated successfully, but these errors were encountered: