Namespaces
Variants

std:: output_iterator

From cppreference.net
Iterator library
Iterator concepts
output_iterator
(C++20)

Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
헤더 파일에 정의됨 <iterator>
template < class I, class T >

concept output_iterator =
std:: input_or_output_iterator < I > &&
std:: indirectly_writable < I, T > &&
requires ( I i, T && t ) {
* i ++ = std:: forward < T > ( t ) ; /* 동등성 보존이 요구되지 않음 */

} ;
(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 개념은 반복자 카테고리 태그가 정의될 것을 요구하지 않습니다.

출력 반복자에 대한 알고리즘은 단일 패스여야 합니다.

참고 항목

해당 타입의 객체가 증가 및 역참조될 수 있음을 명시
(concept)