std::basic_spanbuf<CharT,Traits>:: seekoff
|
protected
:
pos_type seekoff
(
off_type off,
std::
ios_base
::
seekdir
dir,
|
(начиная с C++23) | |
Перемещает указатель следующей операции в области получения и/или записи, если возможно, в позицию, соответствующую ровно
off
символам от начала, конца или текущей позиции области получения и/или записи буфера.
Пусть
n
будет количеством элементов
CharT
в базовом буфере, или
0
когда базовый буфер отсутствует, эта функция завершается ошибкой если
-
указатель next для области 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 установлен в режиме открытия * this ,
- иначе off + n .
Эта функция перемещает указатели следующего чтения и/или записи в область
pbuf
+
newoff
при успешном выполнении, если
std::ios_base::in
и/или
std::ios_base::out
соответственно установлены в
which
, где
pbuf
- указатель на начало базового буфера, или нулевое значение указателя если базовый буфер отсутствует.
Содержание |
Параметры
| off | - | относительная позиция для установки следующего указателя(ей) | ||||||||
| dir | - |
определяет базовую позицию для применения относительного смещения. Может быть одной из следующих констант:
|
||||||||
| which | - |
определяет, влияет ли на входную последовательность, выходную последовательность или на обе. Может быть одной или комбинацией следующих констант:
|
Возвращаемое значение
pos_type ( newoff ) при успехе, pos_type ( off_type ( - 1 ) ) при неудаче.
Пример
|
Этот раздел не завершён
Причина: отсутствует пример |
Смотрите также
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя относительную адресацию
(виртуальная защищенная функция-член
std::basic_stringbuf<CharT,Traits,Allocator>
)
|
|
[virtual]
|
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя относительную адресацию
(виртуальная защищенная функция-член
std::strstreambuf
)
|