std::experimental:: ostream_joiner
|
헤더 파일에 정의됨
<experimental/iterator>
|
||
|
template
<
class
DelimT,
|
(라이브러리 fundamentals TS v2) | |
std::experimental::ostream_joiner
는 단일 패스
LegacyOutputIterator
로, 생성된
std::basic_ostream
객체에 연속적인 객체들을
operator<<
를 사용하여 구분자와 함께 기록합니다. 구분자는 기록되는 두 객체 사이마다 출력 스트림에 기록됩니다. 기록 작업은 반복자(역참조 여부와 관계없이)가 할당될 때 수행됩니다.
ostream_joiner
를 증가시키는 것은 아무 작업도 수행하지 않습니다.
일반적인 구현에서
ostream_joiner
의 유일한 데이터 멤버는 연결된
std::basic_ostream
에 대한 포인터, 구분자, 그리고 다음 쓰기 작업이 시퀀스의 첫 번째 요소에 대한 것인지 여부를 나타내는
bool
멤버입니다.
std::ostream_iterator
와 비교했을 때,
ostream_joiner
는 구분자 시퀀스를 한 번 덜 출력하며, 출력할 객체의 타입에 대해 템플릿화되지 않습니다.
목차 |
멤버 타입
| 멤버 타입 | 정의 |
char_type
|
CharT
|
traits_type
|
Traits
|
ostream_type
|
std:: basic_ostream < CharT, Traits > |
value_type
|
void |
difference_type
|
void |
pointer
|
void |
reference
|
void |
iterator_category
|
std:: output_iterator_tag |
멤버 함수
새로운
ostream_joiner
를 생성합니다
(public 멤버 함수) |
|
|
(소멸자)
(암시적으로 선언됨)
|
ostream_joiner
를 소멸시킵니다
(public 멤버 함수) |
|
객체를 연관된 출력 시퀀스에 기록합니다
(public 멤버 함수) |
|
|
아무 작업도 수행하지 않음
(public 멤버 함수) |
|
|
아무 작업도 수행하지 않음
(public 멤버 함수) |
비멤버 함수
함수 인자들로부터 템플릿의 타입 인자들을 추론하여
ostream_joiner
객체를 생성합니다
(함수 템플릿) |
예제
#include <algorithm> #include <experimental/iterator> #include <iostream> #include <iterator> int main() { int i[] = {1, 2, 3, 4, 5}; std::copy(std::begin(i), std::end(i), std::experimental::make_ostream_joiner(std::cout, ", ")); }
출력:
1, 2, 3, 4, 5
참고 항목
|
std::basic_streambuf
에 쓰기를 수행하는 출력 반복자
(클래스 템플릿) |
|
|
std::basic_ostream
에 쓰기를 수행하는 출력 반복자
(클래스 템플릿) |
|
|
std::basic_istream
에서 읽기를 수행하는 입력 반복자
(클래스 템플릿) |