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; | (since C++23) |
Repositions the next pointer to get and/or put area, if possible, to the position that corresponds to exactly off
characters from beginning, end, or current position of the get and/or put area of the buffer.
Let n
be the number of CharT
elements in underlying buffer, or 0
when there is no underlying buffer, this function fails if.
newoff
(see below) is not zero, which may occur if there is no underlying buffer, or the *this
is not opened in the mode required by which
, or dir
is std::ios_base::cur
and both std::ios_base::in
and std::ios_base::out
are set in which
, or newoff
is not representable in off_type
, less than zero, or greater than n
. newoff
is computed as below:
dir
is std::ios_base::beg
, newoff
is off
. dir
is std::ios_base::cur
, newoff
is pptr() - pbase() + off
if std::ios_base::out
is set in which
, or gptr() - eback() + off
if std::ios_base::in
is set in which
. dir
is std::ios_base::end
, newoff
is pptr() - pbase() + off
if std::ios_base::out
but not std::ios_base::in
is set in the open mode of *this
, off + n
. This function repositions the next pointer to get and/or put area to pbuf + newoff
on success if std::ios_base::in
and/or std::ios_base::out
is correspondingly set in which
, where pbuf
is the pointer to the beginning of the underlying buffer, or the null pointer value if there is no underlying buffer.
off | - | relative position to set the next pointer(s) to | ||||||||
dir | - | defines base position to apply the relative offset to. It can be one of the following constants:
|
||||||||
which | - | defines whether the input sequences, the output sequence, or both are affected. It can be one or a combination of the following constants:
|
pos_type(newoff)
on success, pos_type(off_type(-1))
on failure.
[virtual] | repositions the next pointer in the input sequence, output sequence, or both, using relative addressing (virtual protected member function of std::basic_stringbuf<CharT,Traits,Allocator> ) |
[virtual] | repositions the next pointer in the input sequence, output sequence, or both, using relative addressing (virtual protected member function of std::strstreambuf ) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_spanbuf/seekoff