Никакая функция, описанная в Пункте, не описана, [input.output] за исключением ios_base::imbue и basic_filebuf::pubimbue вызывает любой экземпляр basic_ios::imbue или basic_streambuf::imbue для вызова. Если какая-либо пользовательская функция вызывается из функции, объявленной в Clause, [input.output] или как замещающая виртуальная функция любого класса, объявленного в Clause, [input.output]вызывается imbue, поведение не определено.
Классы Clause [input.output] с аргументами шаблона charT и traits ведут себя, как описано, если traits::pos_type и traits::off_type есть streampos и streamoff соответственно. За исключением случаев, явно указанных ниже, их поведение, когда traits::pos_type и traits::off_type являются другими типами, определяется реализацией.
В классах пункта [input.output], параметр шаблона с именем charT представляет собой элемент из набора типов , содержащих char, wchar_tи любых других реализации определенных типов символов , которые удовлетворяют требования , предъявляемые к характеру , на которых любые из компонентов iostream может быть реализованным.
Одновременный доступ к объекту потока ([string.streams], [file.streams]), объекту буфера потока ([stream.buffers]) или потоку библиотеки C ([c.files]) несколькими потоками может привести к гонке данных ([intro.multithread]), если не указано иное ([iostream.objects]). [ Note: Гонки данных приводят к неопределенному поведению ([intro.multithread]). ] — end note