std::experimental::filesystem::u8path

From cppreference.com
< cpp‎ | experimental‎ | fs‎ | path
template< class Source >
path u8path( const Source& source );
(1) (filesystem TS)
template< class InputIt >
path u8path( InputIt first, InputIt last );
(2) (filesystem TS)

Creates an UTF-8 path from the given UTF-8 encoded char-based sources.

If value_type is char and the current native narrow encoding is UTF-8, returns path(source) or path(begin, end).

Otherwise, if value_type is wchar_t and the native wide encoding is UTF-16, or if value_type is char16_t or char32_t, converts source or the range [first, last) to a temporary value of type string_type and returns a path constructed from that value.

Otherwise, converts source or the range [first, last) to a temporary value of type std::u32string and returns a path constructed from that value.

It is unspecified how Unicode encoding conversions are performed.

[edit] Parameters

source - a character sequence to construct the path from.
first, last - a range to construct the path from.
Type requirements
-
InputIt must meet the requirements of InputIterator.
-
The value type of InputIt must be one of the encoded character types (char, wchar_t, char16_t and char32_t)

[edit] Return value

A newly constructed UTF-8 encoded path.

[edit] Exceptions

(none)