##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# 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.

| This section is incomplete Reason: argument format conversion

It is unspecified how Unicode encoding conversions are performed.

### [edit] Parameters

source | - | a character sequence to construct the path from.
| This section is incomplete
first, last | - | a range to construct the path from.
| This section is incomplete
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)

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/fs/path/u8path&oldid=68645"
Categories:

- Todo with reason
- Todo without reason