30 Input/output library [input.output]

30.10 File systems [filesystems]

30.10.5 Requirements [fs.req]

Throughout this subclause, char, wchar_­t, char16_­t, and char32_­t are collectively called encoded character types.
Functions with template parameters named EcharT shall not participate in overload resolution unless EcharT is one of the encoded character types.
Template parameters named InputIterator shall meet the input iterator requirements and shall have a value type that is one of the encoded character types.
Use of an encoded character type implies an associated character set and encoding.
Since signed char and unsigned char have no implied character set and encoding, they are not included as permitted types.
end note
Template parameters named Allocator shall meet the Allocator requirements. Namespaces and headers [fs.req.namespace]

Unless otherwise specified, references to entities described in this subclause are assumed to be qualified with ​::​std​::​filesystem​::​.