cpp/filesystem/path/u8path

Constructs a path from a UTF-8 encoded sequence of s, supplied either as an std, or as std, or as a null-terminated multibyte string, or as a [first, last) iterator pair.


 * If is  and native encoding is UTF-8, constructs a path directly as if by  or . Note: this is the typical situation of a POSIX system that uses Unicode, such as Linux.
 * Otherwise, if is  and native encoding is UTF-16 (this is the situation on Windows), or if  is  (native encoding guaranteed UTF-16) or  (native encoding guaranteed UTF-32), then first converts the UTF-8 character sequence to a temporary string  of type  and then the new path is constructed as if by
 * Otherwise (for non-UTF-8 narrow character encodings and for non-UTF-16 ), first converts the UTF-8 character sequence to a temporary UTF-32-encoded string of type, and then the new path is constructed as if by  (this path is taken on a POSIX system with a non-Unicode multibyte or single-byte encoded filesystem)

Return value
The path constructed from the input string after conversion from UTF-8 to the filesystem's native character encoding.

Exceptions
May throw std if memory allocation fails.