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)

Перемещает указатель следующей операции в области получения и/или записи, если возможно, в позицию, соответствующую ровно 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 вычисляется следующим образом:

Эта функция перемещает указатели следующего чтения и/или записи в область pbuf + newoff при успешном выполнении, если std::ios_base::in и/или std::ios_base::out соответственно установлены в which , где pbuf - указатель на начало базового буфера, или нулевое значение указателя если базовый буфер отсутствует.

Содержание

Параметры

off - относительная позиция для установки следующего указателя(ей)
dir - определяет базовую позицию для применения относительного смещения. Может быть одной из следующих констант:
Константа Объяснение
beg начало потока
end конец потока
cur текущая позиция индикатора позиции потока
which - определяет, влияет ли на входную последовательность, выходную последовательность или на обе. Может быть одной или комбинацией следующих констант:
Константа Объяснение
in влияет на входную последовательность
out влияет на выходную последовательность

Возвращаемое значение

pos_type ( newoff ) при успехе, pos_type ( off_type ( - 1 ) ) при неудаче.

Пример

Смотрите также

[virtual]
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя относительную адресацию
(виртуальная защищенная функция-член std::basic_stringbuf<CharT,Traits,Allocator> )
[virtual]
перемещает следующий указатель во входной последовательности, выходной последовательности или в обеих, используя относительную адресацию
(виртуальная защищенная функция-член std::strstreambuf )