std::basic_streambuf<CharT,Traits>:: pbackfail
|
protected
:
virtual int_type pbackfail ( int_type c = Traits :: eof ( ) ) ; |
||
이 함수는 다음 조건 중 하나라도 충족될 때만 호출할 수 있습니다:
- gptr ( ) 가 null 이거나,
- gptr ( ) == eback ( ) 이거나,
- traits :: eq ( traits :: to_char_type ( c ) , gptr ( ) [ - 1 ] ) 가 false 를 반환하는 경우.
이 함수는 공개 함수들인 sungetc() 와 sputbackc() 에 의해 호출됩니다(이들은 차례로 basic_istream::unget 와 basic_istream::putback 에 의해 호출됨). 다음 두 경우 중 하나에 해당할 때 호출됩니다:
pbackfail()
가 인자 없이 호출됨). 이 상황에서
pbackfail()
의 목적은 관련 문자 시퀀스가 이를 허용하는 경우(예: 파일 기반 streambuf가 파일에서 버퍼를 한 문자 앞에서 시작하여 재로드할 수 있음) get 영역을 한 문자만큼 되돌리는 것입니다.
pbackfail()
는 되돌려야 할 문자와 함께 호출됨). 이 상황에서
pbackfail()
의 목적은 문자
c
를 get 영역 내
basic_streambuf::gptr()
바로 앞 위치에 배치하고, 가능하다면 이 변경을 반영하도록 관련 문자 시퀀스를 수정하는 것입니다. 이는 첫 번째 변형에서와 같이 get 영역을 백업하는 것을 포함할 수 있습니다.
이 함수의 기본 기본 클래스 버전은 아무 작업도 수행하지 않고 모든 상황에서 Traits :: eof ( ) 를 반환합니다. 이 함수는 파생 클래스들인 basic_stringbuf::pbackfail , basic_filebuf::pbackfail , strstreambuf::pbackfail 에 의해 재정의되며, 사용자 정의 및 서드파티 라이브러리 스트림 클래스에서도 재정의될 것으로 예상됩니다.
목차 |
매개변수
| ch | - | 되돌릴 문자 또는 Traits :: eof ( ) 단순히 되돌리기만 요청된 경우 |
반환값
Traits
::
eof
(
)
실패 시
Traits::eof()
를 반환하고, 성공 시 다른 값을 반환합니다. 기본 클래스 버전은 항상 실패합니다.
예제
|
이 섹션은 불완전합니다
이유: 예제 없음 |
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 올바른 동작 |
|---|---|---|---|
| LWG 32 | C++98 |
호출 조건 '
traits
::
eq
(
*
gptr
(
)
,traits
::
to_char_type
(
c
)
)
가 false 를 반환한다'는 설명이 sputbackc() 의 설명과 일치하지 않음 |
설명과 일치하도록
수정됨 |
참고 항목
|
[virtual]
|
입력 시퀀스를 되돌려 문자를 되돌리며, 연관된 파일에는 영향을 주지 않음
(
std::basic_filebuf<CharT,Traits>
의
virtual protected 멤버 함수)
|
|
[virtual]
|
입력 시퀀스에 문자를 다시 넣음
(
std::basic_stringbuf<CharT,Traits,Allocator>
의
virtual protected 멤버 함수)
|
|
[virtual]
|
입력 시퀀스를 되돌려 문자를 되돌림
(
std::strstreambuf
의
virtual protected 멤버 함수)
|
|
입력 시퀀스의 다음 포인터를 하나 뒤로 이동
(public 멤버 함수) |
|
|
입력 시퀀스에 문자 하나를 다시 넣음
(public 멤버 함수) |