The class template basic_filebuf treats a file as a source or
sink of bytes.
In an environment that uses a large character set, the file
typically holds multibyte character sequences and the basic_filebuf
object converts those multibyte sequences into wide character sequences.
In subclause [file.streams], member functions taking arguments of const filesystem::path::value_type*
are only provided on systems where filesystem::path::value_type ([fs.class.path]) is not char.