tmp/tmpi4262o1g/{from.md → to.md}
RENAMED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
##### `path` type and encoding conversions <a id="fs.path.type.cvt">[[fs.path.type.cvt]]</a>
|
| 2 |
+
|
| 3 |
+
For member function arguments that take character sequences representing
|
| 4 |
+
paths and for member functions returning strings, value type and
|
| 5 |
+
encoding conversion is performed if the value type of the argument or
|
| 6 |
+
return value differs from `path::value_type`. For the argument or return
|
| 7 |
+
value, the method of conversion and the encoding to be converted to is
|
| 8 |
+
determined by its value type:
|
| 9 |
+
|
| 10 |
+
- `char`: The encoding is the native narrow encoding (
|
| 11 |
+
[[fs.def.native.encode]]). The method of conversion, if any, is
|
| 12 |
+
operating system dependent. \[*Note 6*: For POSIX-based operating
|
| 13 |
+
systems `path::value_type` is `char` so no conversion from `char`
|
| 14 |
+
value type arguments or to `char` value type return values is
|
| 15 |
+
performed. For Windows-based operating systems, the native narrow
|
| 16 |
+
encoding is determined by calling a Windows API
|
| 17 |
+
function. — *end note*] \[*Note 7*: This results in behavior
|
| 18 |
+
identical to other C and C++ standard library functions that perform
|
| 19 |
+
file operations using narrow character strings to identify paths.
|
| 20 |
+
Changing this behavior would be surprising and error
|
| 21 |
+
prone. — *end note*]
|
| 22 |
+
- `wchar_t`: The encoding is the native wide encoding (
|
| 23 |
+
[[fs.def.native.encode]]). The method of conversion is unspecified.
|
| 24 |
+
\[*Note 8*: For Windows-based operating systems `path::value_type` is
|
| 25 |
+
`wchar_t` so no conversion from `wchar_t` value type arguments or to
|
| 26 |
+
`wchar_t` value type return values is performed. — *end note*]
|
| 27 |
+
- `char16_t`: The encoding is UTF-16. The method of conversion is
|
| 28 |
+
unspecified.
|
| 29 |
+
- `char32_t`: The encoding is UTF-32. The method of conversion is
|
| 30 |
+
unspecified.
|
| 31 |
+
|
| 32 |
+
If the encoding being converted to has no representation for source
|
| 33 |
+
characters, the resulting converted characters, if any, are unspecified.
|
| 34 |
+
Implementations should not modify member function arguments if already
|
| 35 |
+
of type `path::value_type`.
|
| 36 |
+
|