std:: ostream_iterator
|
Определено в заголовочном файле
<iterator>
|
||
|
template
<
class
T,
class
CharT
=
char
,
|
(до C++17) | |
|
template
<
class
T,
class
CharT
=
char
,
|
(начиная с C++17) | |
std::ostream_iterator
— это однонаправленный
LegacyOutputIterator
, который записывает последовательные объекты типа
T
в объект
std::basic_ostream
, для которого он был создан, используя
operator<<
. Необязательная строка-разделитель записывается в выходной поток после каждой операции записи. Операция записи выполняется при присваивании итератору (независимо от того, разыменован он или нет). Инкремент
std::ostream_iterator
не производит никаких действий.
В типичной реализации единственными членами данных
std::ostream_iterator
являются указатель на ассоциированный
std::basic_ostream
и указатель на первый символ в строке-разделителе.
При записи символов std::ostreambuf_iterator является более эффективным, поскольку избегает накладных расходов на создание и уничтожение сторожевого объекта для каждого символа.
Содержание |
Типы членов
| Тип члена | Определение | ||||
iterator_category
|
std:: output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
char_type
|
CharT
|
||||
traits_type
|
Traits
|
||||
ostream_type
|
std:: basic_ostream < CharT, Traits > |
|
Типы членов
|
(до C++17) |
Функции-члены
|
создает новый ostream_iterator
(публичная функция-член) |
|
уничтожает
ostream_iterator
(публичная функция-член) |
|
|
записывает объект в связанную выходную последовательность
(публичная функция-член) |
|
|
пустая операция
(публичная функция-член) |
|
|
пустая операция
(публичная функция-член) |
Пример
#include <iostream> #include <iterator> #include <numeric> #include <sstream> int main() { std::istringstream str("0.11 0.22 0.33 0.44"); std::partial_sum(std::istream_iterator<double>(str), std::istream_iterator<double>(), std::ostream_iterator<double>(std::cout, ", ")); std::cout << '\n'; }
Вывод:
0.11, 0.33, 0.66, 1.1,
Смотрите также
|
выходной итератор, который записывает в
std::basic_streambuf
(шаблон класса) |
|
|
входной итератор, который читает из
std::basic_istream
(шаблон класса) |
|
|
(library fundamentals TS v2)
|
выходной итератор, который записывает последовательные элементы в выходной поток, разделяя смежные элементы разделителем
(шаблон класса) |