ghc::filesystem Release v1.4.0

2020-12-31 10:42

Today I released v1.4.0 of ghc::filesystem , my implementation of C++17 std::filesystem for C++11, C++14, C++17 and C++20.

This release brings C++20 enhancements, when compiled with C++20: char8_t/std::u8string support and the spaceship operator <=> for fs::path. Additionally LWG_2936_BEHAVIOUR is now on by default.

The full list of changes in v1.4.0:

  • Enhancements for #71 , when compiled with C++20:
    • char8_t and std::u8string are supported where Source is the parameter type
    • fs::path::u8string() and fs::path::generic_u8string() now return a std::u8string
    • The spaceship operator <=> is now supported for fs::path
    • With the define GHC_FILESYSTEM_ENFORCE_CPP17_API ghc::filesystem will fall back to the old fs::path::u8string() and fs::path::generic_u8string() API if preferred
  • Bugfix for fs::proximate(p, ec) where the internal call to fs::current_path() was not using the error_code variant, throwing possible exceptions instead of setting ec.
  • Enhancement LWG_2936_BEHAVIOUR is now on by default.
  • Some cleanup work to reduce preprocessor directives for better readability and remove unneeded template specializations.

I want to thank all contributors for their support!