[fs.path.type.cvt] (original) (raw)

31 Input/output library [input.output]

31.12 File systems [filesystems]

31.12.6 Class path [fs.class.path]

31.12.6.3 Conversions [fs.path.cvt]

31.12.6.3.2 Type and encoding conversions [fs.path.type.cvt]

The native encoding of an ordinary character string is the operating system dependent current encoding for pathnames ([fs.class.path]).

The native encoding for wide character strings is the implementation-defined execution wide-character set encoding ([character.seq]).

For member function arguments that take character sequences representing paths and for member functions returning strings, value type and encoding conversion is performed if the value type of the argument or return value differs frompath​::​value_type.

For the argument or return value, the method of conversion and the encoding to be converted to is determined by its value type:

If the encoding being converted to has no representation for source characters, the resulting converted characters, if any, are unspecified.

Implementations should not modify member function arguments if already of type path​::​value_type.