std::ostream_iterator<T,CharT,Traits>:: ostream_iterator
From cppreference.net
<
cpp
|
iterator
|
ostream iterator
C++
Iterator library
| Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::ostream_iterator
| Member functions | ||||
|
ostream_iterator::ostream_iterator
|
||||
|
ostream_iterator
(
ostream_type
&
stream,
const
CharT
*
delim
)
;
|
(1) | |
|
ostream_iterator
(
ostream_type
&
stream
)
;
|
(2) | |
반복자를 생성하며, stream 을 연관된 스트림으로 설정합니다. 이는 stream 의 주소를 저장함으로써 수행됩니다.
1)
구분자로
delim
을 사용합니다.
2)
구분자로 널 포인터를 사용합니다.
매개변수
| stream | - | 이 반복자가 접근할 출력 스트림 |
| delim | - | 각 출력 후 스트림에 삽입될 널 종료 문자열 |
예제
이 코드 실행
#include <algorithm> #include <iostream> #include <iterator> #include <numeric> int main() { std::ostream_iterator<char> oo{std::cout}; std::ostream_iterator<int> i1{std::cout, ", "}; std::fill_n(i1, 5, -1); *oo++ = '\n'; std::ostream_iterator<double> i2{std::cout, "; "}; *i2++ = 3.14; *i2++ = 2.71; *oo++ = '\n'; std::common_iterator<std::counted_iterator<std::ostream_iterator<float>>, std::default_sentinel_t> first{std::counted_iterator{std::ostream_iterator<float>{std::cout," ~ "}, 5}}, last{std::default_sentinel}; std::iota(first, last, 2.2); *oo++ = '\n'; }
출력:
-1, -1, -1, -1, -1, 3.14; 2.71; 2.2 ~ 3.2 ~ 4.2 ~ 5.2 ~ 6.2 ~
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 1280 | C++98 | stream 이 직접 저장됨 | 대신 해당 주소를 저장함 |
| P2325R3 | C++20 |
기본 생성자가 C++20으로 제공됨
반복자는
default_initializable
이어야 함
|
요구 사항과 함께
제거됨 |