std::basic_spanbuf<CharT,Traits>:: seekoff
|
protected
:
pos_type seekoff
(
off_type off,
std::
ios_base
::
seekdir
dir,
|
(C++23以降) | |
可能であれば、次へのポインタを取得および/または配置領域の先頭、末尾、または現在位置から正確に
off
文字分の位置に再配置します。
n
を基盤バッファ内の
CharT
要素の数(基盤バッファが存在しない場合は
0
とする)とすると、この関数は以下の場合に失敗します:
-
再配置するgetおよび/またはput領域への次のポインタがnullであり、かつ計算された
newoff(下記参照)がゼロではない場合。これは、基盤となるバッファが存在しない場合や、 * this がwhichで要求されるモードで開かれていない場合に発生する可能性があります。または、 -
dirが std::ios_base::cur であり、かつ std::ios_base::in と std::ios_base::out の両方がwhichに設定されている場合。または、 -
計算された
newoffがoff_typeで表現できない場合、ゼロ未満の場合、または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 が設定されていない場合)、
- それ以外の場合、 off + n 。
この関数は、成功時に次ポインタを取得および/または格納領域に再配置し、
pbuf
+
newoff
に設定します。ただし、
std::ios_base::in
および/または
std::ios_base::out
が
which
で対応して設定されている場合に限ります。ここで
pbuf
は基盤となるバッファの先頭へのポインタ、または基盤となるバッファが存在しない場合はヌルポインタ値を示します。
目次 |
パラメータ
| off | - | 次のポインタの相対位置を設定する | ||||||||
| dir | - |
相対オフセットを適用する基準位置を定義します。以下の定数のいずれかを指定できます:
|
||||||||
| which | - |
入力シーケンス、出力シーケンス、またはその両方が影響を受けるかどうかを定義します。以下の定数の1つまたは組み合わせを指定できます:
|
戻り値
pos_type ( newoff ) 成功時、 pos_type ( off_type ( - 1 ) ) 失敗時。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
[virtual]
|
入力シーケンス、出力シーケンス、またはその両方の次のポインタを相対アドレッシングを使用して再配置する
(
std::basic_stringbuf<CharT,Traits,Allocator>
の仮想保護メンバ関数)
|
|
[virtual]
|
入力シーケンス、出力シーケンス、またはその両方の次のポインタを相対アドレッシングを使用して再配置する
(
std::strstreambuf
の仮想保護メンバ関数)
|