std:: basic_osyncstream
|
헤더에 정의됨
<syncstream>
|
||
|
template
<
class
CharT,
|
(C++20부터) | |
클래스 템플릿
std::basic_osyncstream
는
std::basic_syncbuf
를 위한 편의성 래퍼입니다. 동일한 스트림에 쓰기를 수행하는 스레드들의 동기화 메커니즘을 제공합니다.
명명된 변수와 함께 사용할 수 있습니다:
그리고 임시 객체와 함께:
std::osyncstream(std::cout) << "Hello, " << "World!" << '\n';
동일한 최종 대상 버퍼(위 예제에서의
std::cout
)에 대한 모든 출력이 데이터 경쟁으로부터 자유롭고, 어떤 방식으로도 인터리빙되거나 손상되지 않을 것이라는 보장을 제공합니다. 단, 해당 최종 대상 버퍼에 대한 모든 쓰기 작업이 (서로 다른)
std::basic_osyncstream
인스턴스를 통해 수행되는 경우에 한합니다.
std::basic_osyncstream
의 일반적인 구현은
단 하나의 멤버만 보유합니다: 래핑된
std::basic_syncbuf
.
상속 다이어그램
일반적인 문자 타입에 대한 여러 typedef가 제공됩니다:
|
헤더에 정의됨
<syncstream>
|
|
| 유형 | 정의 |
std::osyncstream
|
std :: basic_osyncstream < char > |
std::wosyncstream
|
std :: basic_osyncstream < wchar_t > |
목차 |
멤버 타입
| 멤버 타입 | 정의 |
char_type
|
CharT
|
traits_type
|
Traits
;
Traits::char_type
가
CharT
가 아닐 경우 프로그램은 ill-formed입니다.
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
allocator_type
|
Allocator
|
streambuf_type
|
std:: basic_streambuf < CharT, Traits > |
syncbuf_type
|
std:: basic_syncbuf < CharT, Traits, Allocator > |
멤버 함수
basic_osyncstream
객체를 생성합니다
(public member function) |
|
basic_osyncstream
객체를 할당합니다
(public member function) |
|
basic_osyncstream
을 파괴하고 내부 버퍼를 방출합니다
(public member function) |
|
내부
basic_syncbuf
에 대한 포인터를 얻습니다
(public member function) |
|
|
최종 대상 스트림 버퍼에 대한 포인터를 얻습니다
(public member function) |
|
내부 데이터를 최종 대상으로 전송하기 위해 내부
basic_syncbuf
에서
emit()
를 호출합니다
(public member function) |
std:: basic_ostream 로부터 상속됨
멤버 함수
형식화된 출력 |
|
|
형식화된 데이터를 삽입함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
비형식화된 출력 |
|
|
문자를 삽입함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
|
문자 블록을 삽입함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
위치 지정 |
|
|
출력 위치 표시자를 반환함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
|
출력 위치 표시자를 설정함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
기타 |
|
|
기본 저장 장치와 동기화함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 함수)
|
|
멤버 클래스
|
출력 연산을 위한 스트림 준비의 기본 로직을 구현함
(
std::basic_ostream<CharT,Traits>
의 public 멤버 클래스)
|
std:: basic_ios 로부터 상속됨
멤버 타입
| 멤버 타입 | 정의 |
char_type
|
CharT
|
traits_type
|
Traits
|
int_type
|
Traits::int_type
|
pos_type
|
Traits::pos_type
|
off_type
|
Traits::off_type
|
멤버 함수
상태 함수 |
|
|
오류가 발생하지 않았는지 확인합니다 (즉, I/O 작업이 가능한 상태인지)
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
파일 끝에 도달했는지 확인합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
오류가 발생했는지 확인합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
복구 불가능한 오류가 발생했는지 확인합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
오류가 발생했는지 확인합니다 (
fail()
의 동의어)
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
오류가 발생하지 않았는지 확인합니다 (
!
fail()
의 동의어)
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
상태 플래그를 반환합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
상태 플래그를 설정합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
상태 플래그를 수정합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
서식 지정 |
|
|
서식 정보를 복사합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
채움 문자를 관리합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
기타 |
|
|
예외 마스크를 관리합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
로케일을 설정합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
연결된 스트림 버퍼를 관리합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
연결된 스트림을 관리합니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
문자를 좁힙니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
|
문자를 넓힙니다
(
std::basic_ios<CharT,Traits>
의 public 멤버 함수)
|
|
std:: ios_base 에서 상속됨
멤버 함수
서식 지정 |
|
|
형식 플래그 관리
(
std::ios_base
의 public member function)
|
|
|
특정 형식 플래그 설정
(
std::ios_base
의 public member function)
|
|
|
특정 형식 플래그 해제
(
std::ios_base
의 public member function)
|
|
|
부동 소수점 연산의 소수점 정밀도 관리
(
std::ios_base
의 public member function)
|
|
|
필드 너비 관리
(
std::ios_base
의 public member function)
|
|
로캘 |
|
|
로캘 설정
(
std::ios_base
의 public member function)
|
|
|
현재 로캘 반환
(
std::ios_base
의 public member function)
|
|
내부 확장 가능 배열 |
|
|
[static]
|
pword()
및
iword()
의 인덱스로 사용하기 안전한 프로그램 전체 고유 정수 반환
(
std::ios_base
의 public static member function)
|
|
필요한 경우 전용 저장소 크기 조정 및 지정된 인덱스의
long
요소 접근
(
std::ios_base
의 public member function)
|
|
|
필요한 경우 전용 저장소 크기 조정 및 지정된 인덱스의
void
*
요소 접근
(
std::ios_base
의 public member function)
|
|
기타 |
|
|
이벤트 콜백 함수 등록
(
std::ios_base
의 public member function)
|
|
|
[static]
|
C++과 C I/O 라이브러리 상호 운용성 설정
(
std::ios_base
의 public static member function)
|
멤버 클래스 |
|
|
스트림 예외
(
std::ios_base
의 public member class)
|
|
|
표준 스트림 객체 초기화
(
std::ios_base
의 public member class)
|
|
멤버 타입 및 상수 |
|||||||||||||||||||||||||||||||||||||||
| 유형 | 설명 | ||||||||||||||||||||||||||||||||||||||
|
스트림 열기 모드 타입
다음 상수들도 정의되어 있습니다:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
서식 플래그 타입
다음 상수들도 정의됩니다:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
스트림 상태 타입
다음 상수들도 정의됩니다:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
탐색 방향 타입
다음 상수들도 정의되어 있습니다:
(typedef) |
|||||||||||||||||||||||||||||||||||||||
|
이벤트 타입 지정
(enum) |
|||||||||||||||||||||||||||||||||||||||
|
콜백 함수 타입
(typedef) |
|||||||||||||||||||||||||||||||||||||||
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_syncbuf
|
201803L
|
(C++20) |
동기화된 버퍼 출력 스트림 (
std::osyncstream
,
std::syncbuf
) 및 조작자
|