std::basic_spanbuf<CharT,Traits>:: seekoff
|
protected
:
pos_type seekoff
(
off_type off,
std::
ios_base
::
seekdir
dir,
|
(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
는 다음과 같이 계산됩니다:
-
만약
dir이 std::ios_base::beg 인 경우,newoff는off입니다. -
만약
dir이 std::ios_base::cur 인 경우,newoff는-
pptr
(
)
-
pbase
(
)
+
off
입니다. 단,
std::ios_base::out
이
which에 설정된 경우, 또는 -
gptr
(
)
-
eback
(
)
+
off
입니다. 단,
std::ios_base::in
이
which에 설정된 경우.
-
pptr
(
)
-
pbase
(
)
+
off
입니다. 단,
std::ios_base::out
이
-
만약
dir이 std::ios_base::end 인 경우,newoff는- pptr ( ) - pbase ( ) + off 입니다. 단, std::ios_base::out 이 설정되고 std::ios_base::in 이 설정되지 않은 경우 * this 의 열기 모드에서,
- 그렇지 않으면, off + n 입니다.
이 함수는 성공 시 다음 포인터를 가져오기 및/또는 넣기 영역을
pbuf
+
newoff
로 재위치합니다. 단,
std::ios_base::in
및/또는
std::ios_base::out
이
which
에 해당하게 설정된 경우에 한합니다. 여기서
pbuf
는 기반 버퍼의 시작을 가리키는 포인터이며, 기반 버퍼가 없는 경우 null 포인터 값입니다.
목차 |
매개변수
| off | - | 다음 포인터를 설정할 상대 위치 | ||||||||
| dir | - |
상대 오프셋을 적용할 기준 위치를 정의합니다. 다음 상수 중 하나일 수 있습니다:
|
||||||||
| which | - |
입력 시퀀스, 출력 시퀀스 또는 둘 다에 영향을 미치는지 정의합니다. 다음 상수 중 하나 또는 조합일 수 있습니다:
|
반환값
pos_type ( newoff ) 성공 시, pos_type ( off_type ( - 1 ) ) 실패 시.
예제
|
이 섹션은 불완전합니다
이유: 예제가 없음 |
참고 항목
|
[virtual]
|
입력 시퀀스, 출력 시퀀스 또는 둘 모두에서 다음 포인터를 상대 주소 지정을 사용하여 재위치
(
std::basic_stringbuf<CharT,Traits,Allocator>
의
virtual protected 멤버 함수)
|
|
[virtual]
|
입력 시퀀스, 출력 시퀀스 또는 둘 모두에서 다음 포인터를 상대 주소 지정을 사용하여 재위치
(
std::strstreambuf
의
virtual protected 멤버 함수)
|