Namespaces
Variants

std::basic_spanbuf<CharT,Traits>:: seekoff

From cppreference.net
std::basic_spanbuf
Public member functions
Protected member functions
basic_spanbuf::seekoff
(C++23)
Non-member functions
protected :

pos_type seekoff ( off_type off, std:: ios_base :: seekdir dir,
std:: ios_base :: openmode which =

std:: ios_base :: in | std:: ios_base :: out ) override ;
(C++23부터)

가능한 경우, 버퍼의 get 및/또는 put 영역의 시작, 끝 또는 현재 위치에서 정확히 off 문자만큼 떨어진 위치로 다음 포인터(get 및/또는 put)의 위치를 재조정합니다.

n 을 기본 버퍼에 있는 CharT 요소의 개수라고 하고, 기본 버퍼가 없을 때는 0 이라고 할 때, 이 함수는 다음과 같은 경우에 실패합니다

  • get 및/또는 put 영역을 재배치하기 위한 다음 포인터가 null이고 계산된 newoff (아래 참조)가 0이 아닌 경우. 이는 기본 버퍼가 없거나 * this which 에 필요한 모드로 열려 있지 않은 경우 발생할 수 있습니다. 또는
  • dir std::ios_base::cur 이고 std::ios_base::in std::ios_base::out 이 모두 which 에 설정된 경우. 또는
  • 계산된 newoff off_type 으로 표현 불가능하거나, 0보다 작거나, n 보다 큰 경우.

newoff 는 다음과 같이 계산됩니다:

이 함수는 성공 시 다음 포인터를 가져오기 및/또는 넣기 영역을 pbuf + newoff 로 재위치합니다. 단, std::ios_base::in 및/또는 std::ios_base::out which 에 해당하게 설정된 경우에 한합니다. 여기서 pbuf 는 기반 버퍼의 시작을 가리키는 포인터이며, 기반 버퍼가 없는 경우 null 포인터 값입니다.

목차

매개변수

off - 다음 포인터를 설정할 상대 위치
dir - 상대 오프셋을 적용할 기준 위치를 정의합니다. 다음 상수 중 하나일 수 있습니다:
Constant Explanation
beg 스트림의 시작 지점
end 스트림의 끝 지점
cur 스트림 위치 표시자의 현재 위치
which - 입력 시퀀스, 출력 시퀀스 또는 둘 다에 영향을 미치는지 정의합니다. 다음 상수 중 하나 또는 조합일 수 있습니다:
Constant Explanation
in 입력 시퀀스에 영향
out 출력 시퀀스에 영향

반환값

pos_type ( newoff ) 성공 시, pos_type ( off_type ( - 1 ) ) 실패 시.

예제

참고 항목

[virtual]
입력 시퀀스, 출력 시퀀스 또는 둘 모두에서 다음 포인터를 상대 주소 지정을 사용하여 재위치
( std::basic_stringbuf<CharT,Traits,Allocator> 의 virtual protected 멤버 함수)
[virtual]
입력 시퀀스, 출력 시퀀스 또는 둘 모두에서 다음 포인터를 상대 주소 지정을 사용하여 재위치
( std::strstreambuf 의 virtual protected 멤버 함수)