std:: output_iterator
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<iterator>
|
||
|
template
<
class
I,
class
T
>
concept output_iterator
=
|
(начиная с C++20) | |
Концепт
output_iterator
является уточнением
input_or_output_iterator
, добавляя требование, что он может использоваться для записи значений типа и категории значения, кодируемых
T
(через
indirectly_writable
).
equality_comparable
не требуется.
Содержание |
Семантические требования
Пусть
E
будет выражением, таким что
decltype
(
(
E
)
)
является
T
, и
i
будет разыменовываемым объектом типа
I
.
std
::
output_iterator
<
I, T
>
моделируется только если все подразумеваемые им концепты моделируются, и
*
i
++
=
E
;
имеет эффекты, эквивалентные
*
i
=
E
;
++
i
;
.
Сохранение равенства
Выражения, объявленные в requires выражениях концепций стандартной библиотеки, должны быть equality-preserving (если не указано иное).
Примечания
В отличие от требований
LegacyOutputIterator
, концепт
output_iterator
не требует определения тега категории итератора.
Алгоритмы на выходных итераторах должны быть однопроходными.
Смотрите также
|
(C++20)
|
определяет, что объекты типа могут быть инкрементированы и разыменованы
(концепт) |