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
에 의해 인코딩된 타입 및 값 범주의 값을 기록하는 데 사용될 수 있어야 한다는 요구사항을 추가합니다
(via
indirectly_writable
).
equality_comparable
는 필수 요구사항이 아닙니다.
목차 |
의미론적 요구사항
E
를
decltype
(
(
E
)
)
가
T
인 표현식이라고 하고,
i
를
I
타입의 역참조 가능한 객체라고 하자.
std
::
output_iterator
<
I, T
>
는 이것이 포함하는 모든 개념이 충족될 때만 모델되고,
*
i
++
=
E
;
는
*
i
=
E
;
++
i
;
와 동등한 효과를 가진다.
동등성 보존
표준 라이브러리 개념의 requires expressions 에 선언된 표현식들은 equality-preserving 해야 합니다(다르게 명시된 경우를 제외하고).
참고 사항
LegacyOutputIterator
요구사항과 달리,
output_iterator
개념은 반복자 카테고리 태그가 정의될 것을 요구하지 않습니다.
출력 반복자에 대한 알고리즘은 단일 패스여야 합니다.
참고 항목
|
(C++20)
|
해당 타입의 객체가 증가 및 역참조될 수 있음을 명시
(concept) |