tmp/tmpnrwl5ybb/{from.md → to.md}
RENAMED
|
@@ -1,31 +1,38 @@
|
|
| 1 |
-
#####
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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
|
| 11 |
-
|
| 12 |
-
operating
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 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
|
| 20 |
Changing this behavior would be surprising and error
|
| 21 |
prone. — *end note*]
|
| 22 |
-
- `wchar_t`: The encoding is the native wide encoding
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
`wchar_t`
|
| 26 |
-
|
|
|
|
|
|
|
| 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 |
|
|
|
|
| 1 |
+
##### Type and encoding conversions <a id="fs.path.type.cvt">[[fs.path.type.cvt]]</a>
|
| 2 |
+
|
| 3 |
+
The *native encoding* of an ordinary character string is the operating
|
| 4 |
+
system dependent current encoding for pathnames [[fs.class.path]]. The
|
| 5 |
+
*native encoding* for wide character strings is the
|
| 6 |
+
implementation-defined execution wide-character set encoding
|
| 7 |
+
[[lex.charset]].
|
| 8 |
|
| 9 |
For member function arguments that take character sequences representing
|
| 10 |
paths and for member functions returning strings, value type and
|
| 11 |
encoding conversion is performed if the value type of the argument or
|
| 12 |
return value differs from `path::value_type`. For the argument or return
|
| 13 |
value, the method of conversion and the encoding to be converted to is
|
| 14 |
determined by its value type:
|
| 15 |
|
| 16 |
+
- `char`: The encoding is the native ordinary encoding. The method of
|
| 17 |
+
conversion, if any, is operating system dependent. \[*Note 6*: For
|
| 18 |
+
POSIX-based operating systems `path::value_type` is `char` so no
|
| 19 |
+
conversion from `char` value type arguments or to `char` value type
|
| 20 |
+
return values is performed. For Windows-based operating systems, the
|
| 21 |
+
native ordinary encoding is determined by calling a Windows API
|
|
|
|
| 22 |
function. — *end note*] \[*Note 7*: This results in behavior
|
| 23 |
identical to other C and C++ standard library functions that perform
|
| 24 |
+
file operations using ordinary character strings to identify paths.
|
| 25 |
Changing this behavior would be surprising and error
|
| 26 |
prone. — *end note*]
|
| 27 |
+
- `wchar_t`: The encoding is the native wide encoding. The method of
|
| 28 |
+
conversion is unspecified. \[*Note 8*: For Windows-based operating
|
| 29 |
+
systems `path::value_type` is `wchar_t` so no conversion from
|
| 30 |
+
`wchar_t` value type arguments or to `wchar_t` value type return
|
| 31 |
+
values is performed. — *end note*]
|
| 32 |
+
- `char8_t`: The encoding is UTF-8. The method of conversion is
|
| 33 |
+
unspecified.
|
| 34 |
- `char16_t`: The encoding is UTF-16. The method of conversion is
|
| 35 |
unspecified.
|
| 36 |
- `char32_t`: The encoding is UTF-32. The method of conversion is
|
| 37 |
unspecified.
|
| 38 |
|