30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.8 Class path [fs.class.path] path conversions [fs.path.cvt] path type and encoding conversions [fs.path.type.cvt]

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 from path​::​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.