Для каждого из трех аспектов преобразования кода codecvt_utf8, codecvt_utf16и codecvt_utf8_utf16:
Elem тип широких символов, например wchar_t, char16_tили char32_t.
Maxcode - это самый большой код с широкими символами, который фасет будет читать или писать без сообщения об ошибке преобразования.
Если (Mode & consume_header), то при чтении многобайтовой последовательности фасет должен использовать начальную последовательность заголовка, если она присутствует, для определения порядка следования байтов последующей многобайтовой последовательности, которая должна быть прочитана.
Если (Mode & generate_header), фасет должен генерировать начальную последовательность заголовка при записи многобайтовой последовательности, чтобы объявить о порядке следования записываемой последующей многобайтовой последовательности.
Если (Mode & little_endian), фасет должен генерировать многобайтовую последовательность в обратном порядке, в отличие от стандартного обратного порядка байтов.
Фасет должен преобразовывать многобайтовые последовательности UTF-8 в UCS2 или UCS4 (в зависимости от размера Elem) в программе.
Порядок байтов не влияет на то, как читаются или записываются многобайтовые последовательности.
Многобайтовые последовательности могут быть записаны в виде текстового или двоичного файла.
Фасет должен преобразовывать многобайтовые последовательности UTF-16 в UCS2 или UCS4 (в зависимости от размера Elem) в программе.
Многобайтовые последовательности должны читаться или записываться в соответствии с указанным выше Mode флагом.
Многобайтовые последовательности могут быть записаны только как двоичный файл. Попытка записи в текстовый файл приводит к неопределенному поведению.
Для грани : codecvt_utf8_utf16
Фасет должен преобразовывать многобайтовые последовательности UTF-8 в UTF-16 (один или два 16-битных кода) в программе.
Порядок байтов не влияет на то, как читаются или записываются многобайтовые последовательности.
Многобайтовые последовательности могут быть записаны в виде текстового или двоичного файла.
См. Также: ISO / IEC 10646-1: 1993.