Namespaces
Variants

std:: basic_ispanstream

From cppreference.net
< cpp ‎ | io
헤더에 정의됨 <spanstream>
template <

class CharT,
class Traits = std:: char_traits < CharT >
> class basic_ispanstream

: public basic_istream < CharT, Traits >
(C++23부터)

클래스 템플릿 std::basic_ispanstream 는 고정된 버퍼를 기반으로 하는 스트림에서의 입력 연산을 구현합니다.

저수준에서 이 클래스는 기본적으로 std::basic_spanbuf 의 원시 장치 구현을 std::basic_istream 의 상위 수준 인터페이스로 감싸줍니다. std::basic_spanbuf 의 고유한 멤버들에 대한 완전한 인터페이스가 제공됩니다.

cpp/io/ios base cpp/io/basic ios cpp/io/basic istream std-basic ispanstream-inheritance.svg

상속 다이어그램

일반적인 문자 타입에 대한 여러 typedef가 제공됩니다:

헤더 파일에 정의됨 <spanstream>
타입 정의
std::ispanstream std :: basic_ispanstream < char >
std::wispanstream std :: basic_ispanstream < 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

데이터 멤버

멤버 객체 정의
sb (private) 래핑된 std::basic_spanbuf .
( 설명 전용 멤버 객체* )

멤버 함수

basic_ispanstream 을 생성한다
(public member function)
(destructor)
[virtual]
basic_ispanstream 을 파괴한다
(virtual public member function)
basic_ispanstream 을 이동 할당한다
(public member function)
두 개의 basic_ispanstream 객체를 교환한다
(public member function)
래핑된 원시 span 장치 객체의 주소를 얻는다
(public member function)
기본 버퍼 연산
래핑된 span 장치 객체의 기본 버퍼를 가져오거나 설정한다
(public member function)

비멤버 함수

std::swap 알고리즘을 특수화함
(함수 템플릿)

std:: basic_istream 로부터 상속됨

멤버 함수

형식화된 입력
형식화된 데이터를 추출함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
비형식화된 입력
문자를 추출함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
다음 문자를 추출하지 않고 읽음
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
문자를 되돌림(추출 취소)
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
입력 스트림에 문자를 다시 넣음
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
지정된 문자를 찾을 때까지 문자를 추출함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
지정된 문자를 찾을 때까지 문자를 추출하고 버림
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
문자 블록을 추출함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
이미 사용 가능한 문자 블록을 추출함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
마지막 비형식화 입력 연산으로 추출된 문자 수를 반환함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
위치 지정
입력 위치 표시자를 반환함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
입력 위치 표시자를 설정함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)
기타
기본 저장 장치와 동기화함
( std::basic_istream<CharT,Traits> 의 public 멤버 함수)

멤버 클래스

스트림 입력 연산 준비를 위한 기본 로직을 구현함
( std::basic_istream<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 멤버 함수)
문자를 좁힙니다(narrow)
( std::basic_ios<CharT,Traits> 의 public 멤버 함수)
문자를 넓힙니다(widen)
( 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)
C++과 C I/O 라이브러리 간 상호 운용성 설정
( std::ios_base 의 public static member function)
멤버 클래스
스트림 예외
( std::ios_base 의 public member class)
표준 스트림 객체 초기화
( std::ios_base 의 public member class)

멤버 타입 및 상수

유형 설명
스트림 열기 모드 타입

다음 상수들도 정의되어 있습니다:

상수 설명
app 각 쓰기 전에 스트림의 끝으로 이동
binary 바이너리 모드 로 열기
in 읽기용으로 열기
out 쓰기용으로 열기
trunc 열 때 스트림의 내용을 버림
ate 열자마자 스트림의 끝으로 이동
noreplace (C++23) 배타적 모드로 열기

(typedef)
서식 플래그 타입

다음 상수들도 정의됩니다:

상수 설명
dec 정수 입출력에 10진법 사용: std::dec 참조
oct 정수 입출력에 8진법 사용: std::oct 참조
hex 정수 입출력에 16진법 사용: std::hex 참조
basefield dec | oct | hex . 마스킹 연산에 유용함
left 왼쪽 정렬 (오른쪽에 채움 문자 추가): std::left 참조
right 오른쪽 정렬 (왼쪽에 채움 문자 추가): std::right 참조
internal 내부 정렬 (내부 지정 지점에 채움 문자 추가): std::internal 참조
adjustfield left | right | internal . 마스킹 연산에 유용함
scientific 과학적 표기법을 사용하여 부동 소수점 타입 생성, fixed 와 결합 시 16진법 표기법 사용: std::scientific 참조
fixed 고정 소수점 표기법을 사용하여 부동 소수점 타입 생성, scientific 와 결합 시 16진법 표기법 사용: std::fixed 참조
floatfield scientific | fixed . 마스킹 연산에 유용함
boolalpha 알파벳 숫자 형식으로 bool 타입 삽입 및 추출: std::boolalpha 참조
showbase 정수 출력을 위한 숫자 체계 표시 접두사 생성, 통화 입출력에서 통화 표시자 요구: std::showbase 참조
showpoint 부동 소수점 숫자 출력에서 무조건 소수점 문자 생성: std::showpoint 참조
showpos 음수가 아닌 숫자 출력에 + 문자 생성: std::showpos 참조
skipws 특정 입력 연산 전에 선행 공백 건너뜀: std::skipws 참조
unitbuf 각 출력 연산 후 출력 플러시: std::unitbuf 참조
uppercase 특정 출력 연산에서 일부 소문자를 대문자로 대체: std::uppercase 참조

(typedef)
스트림 상태 타입

다음 상수들도 정의됩니다:

상수 설명
goodbit 오류 없음
badbit 복구 불가능한 스트림 오류
failbit 입출력 연산 실패 (형식화 또는 추출 오류)
eofbit 관련 입력 시퀀스가 파일 끝에 도달함

(typedef)
탐색 방향 타입

다음 상수들도 정의되어 있습니다:

상수 설명
beg 스트림의 시작
end 스트림의 끝
cur 스트림 위치 표시자의 현재 위치

(typedef)
이벤트 타입 지정
(enum)
콜백 함수 타입
(typedef)

참고 사항

기능 테스트 매크로 표준 기능
__cpp_lib_spanstream 202106L (C++23) std::spanbuf , std::spanstream