На этом шаге мы общие сведения об итераторах потоковых буферов.
Другой механизм неформатированного ввода-вывода основан на использовании классов итераторов потоковых буферов. Эти классы удовлетворяют требованиям к итераторам ввода и вывода, предназначенным для чтения или записи отдельных символов в потоковых буферах, и совместимы со средствами посимвольного ввода-вывода алгоритмов стандартной библиотеки C++.
Шаблоны istreambuf_iterator и ostreambuf_iterator используются для чтения или записи отдельных символов с объектами типа basic_streambuf. Определения этих классов в заголовочном файле <iterator> выглядят примерно так:
namespace std { template <class charT, class traits = char_traits<charT> > istreambuf_iterator; template <class charT, class traits = char_traits<charT> > ostreambuf_iterator; }
Эти итераторы представляют собой специализированные версии потоковых итераторов, описанных на 229 шаге. Единственное отличие заключается в том, что их элементы относятся к символьному типу.
На следующем шаге мы рассмотрим итераторы потоковых буферов вывода.