ghc::filesystem Release v1.3.6

2020-10-10 09:40

Heute habe ich v1.3.6 von ghc::filesystem veröffentlicht, meiner Implementation der C++17-Komponente std::filesystem für C++11, C++14 und C++17.

Dieses Release behebt die Symlink-Auswertung unter Windows, verbessert die Performance der Pfadbehandlung und Verzeichnis-Iteration, und Root-Namen werden unter Windows nun unabhängig von Groß-/Kleinschreibung verglichen, mit dem neuen Schalter LWG_2936_BEHAVIOUR.

Die Änderungen in v1.3.6:

  • Pull request #74 , on Windows symlink evaluation used the wrong reparse struct information and was not handling the case of relative paths well, thanks for the contribution.
  • Refactoring for #73 , enhanced performance in path handling. the changes lead to much fewer path/string creations or copies, speeding up large directory iteration or operations on many path instances.
  • Bugfix for #72 , the TestAllocator in filesystem_test.cpp was completed to fulfill the requirements to build on CentOS 7 with devtoolset-9. CentOS 7 and CentOS 8 are now part of the CI builds.
  • Bugfix for #70 , root names are now case insensitive on Windows. This fix also adds the new behaviour switch LWG_2936_BEHAVIOUR that allows to enable post C++17 fs::path::compare behaviour, where the comparison is as if it was an element wise path comparison as described in LWG 2936 and C++20 [fs.path.compare]. It is default off in v1.3.6 and will be default starting from v1.4.0 as it changes ordering.

Ich danke allen Beteiligten für ihre Unterstützung!