mirror of
https://git.mirrors.martin98.com/https://github.com/gulrak/filesystem
synced 2025-07-30 21:02:02 +08:00
Release v1.4.0
This commit is contained in:
parent
fed499b543
commit
8166dd1546
36
README.md
36
README.md
@ -5,7 +5,7 @@
|
|||||||
[](https://cirrus-ci.com/github/gulrak/filesystem)
|
[](https://cirrus-ci.com/github/gulrak/filesystem)
|
||||||
[](https://cloud.drone.io/gulrak/filesystem)
|
[](https://cloud.drone.io/gulrak/filesystem)
|
||||||
[](https://coveralls.io/github/gulrak/filesystem?branch=master)
|
[](https://coveralls.io/github/gulrak/filesystem?branch=master)
|
||||||
[](https://github.com/gulrak/filesystem/tree/v1.3.10)
|
[](https://github.com/gulrak/filesystem/tree/v1.4.0)
|
||||||
|
|
||||||
# Filesystem
|
# Filesystem
|
||||||
|
|
||||||
@ -115,9 +115,13 @@ in the standard, and there might be issues in these implementations too.
|
|||||||
|
|
||||||
### Downloads
|
### Downloads
|
||||||
|
|
||||||
The latest release version is [v1.3.10](https://github.com/gulrak/filesystem/tree/v1.3.10) and
|
The latest release version is [v1.4.0](https://github.com/gulrak/filesystem/tree/v1.4.0) and
|
||||||
|
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.4.0).
|
||||||
|
|
||||||
|
The latest pre-C++20 release version is [v1.3.10](https://github.com/gulrak/filesystem/tree/v1.3.10) and
|
||||||
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.3.10).
|
source archives can be found [here](https://github.com/gulrak/filesystem/releases/tag/v1.3.10).
|
||||||
|
|
||||||
|
|
||||||
### Using it as Single-File-Header
|
### Using it as Single-File-Header
|
||||||
|
|
||||||
As `ghc::filesystem` is at first a header-only library, it should be enough to copy the header
|
As `ghc::filesystem` is at first a header-only library, it should be enough to copy the header
|
||||||
@ -292,6 +296,19 @@ documentation would work, besides the few differences explained in the next
|
|||||||
section. So you might head over to https://en.cppreference.com/w/cpp/filesystem
|
section. So you might head over to https://en.cppreference.com/w/cpp/filesystem
|
||||||
for a description of the components of this library.
|
for a description of the components of this library.
|
||||||
|
|
||||||
|
When compiling with C++11, C++14 or C++17, the API is following the C++17
|
||||||
|
standard, where possible, with the exception that `std::string_view` parameters
|
||||||
|
are only supported on C++17. When Compiling with C++20, `ghc::filesysytem`
|
||||||
|
defaults to the C++20 API, with the `char8_t` and `std::u8string` interfaces
|
||||||
|
and the deprecated `fs::u8path` factory method.
|
||||||
|
|
||||||
|
**Note:** If the C++17 API should be enforced even in C++20 mode, use the define
|
||||||
|
`GHC_FILESYSTEM_ENFORCE_CPP17_API`.
|
||||||
|
Even then it is possible to create `fws::path` from `std::u8string` but
|
||||||
|
`fs::path::u8string()` and `fs::path::generic_u8string()` return normal
|
||||||
|
UTF-8 encoded `std::string` instances, so code written for C++17 could
|
||||||
|
still work with `ghc::filesystem` when compiled with C++20.
|
||||||
|
|
||||||
The only additions to the standard are documented here:
|
The only additions to the standard are documented here:
|
||||||
|
|
||||||
|
|
||||||
@ -434,6 +451,18 @@ This returns a const reference, instead of a value, because it can. This
|
|||||||
implementation uses the generic representation for internal workings, so
|
implementation uses the generic representation for internal workings, so
|
||||||
it's "free" to return that.
|
it's "free" to return that.
|
||||||
|
|
||||||
|
```cpp
|
||||||
|
std::string path::u8string() const;
|
||||||
|
std::string path::generic_u8string() const;
|
||||||
|
vs.
|
||||||
|
std::u8string path::u8string() const;
|
||||||
|
std::u8string path::generic_u8string() const;
|
||||||
|
```
|
||||||
|
|
||||||
|
The return type of these two methods is depending on the used C++ standard
|
||||||
|
and if `GHC_FILESYSTEM_ENFORCE_CPP17_API` is defined. On C++11, C++14 and
|
||||||
|
C++17 or when `GHC_FILESYSTEM_ENFORCE_CPP17_API` is defined, the return
|
||||||
|
type is `std::string`, and on C++20 without the define it is `std::u8string`.
|
||||||
|
|
||||||
### Differences in Behavior
|
### Differences in Behavior
|
||||||
|
|
||||||
@ -523,7 +552,7 @@ to the expected behavior.
|
|||||||
|
|
||||||
## Release Notes
|
## Release Notes
|
||||||
|
|
||||||
### v1.4.0 (WIP)
|
### [v1.4.0](https://github.com/gulrak/filesystem/releases/tag/v1.4.0)
|
||||||
|
|
||||||
* Enhancements for [#71](https://github.com/gulrak/filesystem/issues/71), when compiled with C++20:
|
* Enhancements for [#71](https://github.com/gulrak/filesystem/issues/71), when compiled with C++20:
|
||||||
* `char8_t` and `std::u8string` are supported where `Source` is the parameter type
|
* `char8_t` and `std::u8string` are supported where `Source` is the parameter type
|
||||||
@ -533,6 +562,7 @@ to the expected behavior.
|
|||||||
to the old `fs::path::u8string()` and `fs::path::generic_u8string()` API if preferred
|
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
|
* 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`.
|
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
|
* Some cleanup work to reduce preprocessor directives for better readability and remove unneeded
|
||||||
template specializations.
|
template specializations.
|
||||||
|
|
||||||
|
@ -236,7 +236,7 @@
|
|||||||
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
//- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
||||||
// ghc::filesystem version in decimal (major * 10000 + minor * 100 + patch)
|
// ghc::filesystem version in decimal (major * 10000 + minor * 100 + patch)
|
||||||
#define GHC_FILESYSTEM_VERSION 10399L
|
#define GHC_FILESYSTEM_VERSION 10400L
|
||||||
|
|
||||||
#if !defined(GHC_WITH_EXCEPTIONS) && (defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND))
|
#if !defined(GHC_WITH_EXCEPTIONS) && (defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND))
|
||||||
#define GHC_WITH_EXCEPTIONS
|
#define GHC_WITH_EXCEPTIONS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user