std::basic_spanbuf<CharT,Traits>::seekoff
| I/O manipulators | ||||
| Print functions (C++23) | ||||
| C-style I/O | ||||
| Buffers | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++20) | ||||
| Streams | ||||
| Abstractions | ||||
| File I/O | ||||
| String I/O | ||||
| Array I/O | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
(C++98/26*) | ||||
| Synchronized Output | ||||
(C++20) | ||||
| Types | ||||
| Error category interface | ||||
(C++11) | ||||
(C++11) |
| Public member functions | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
| Protected member functions | ||||
(C++23) | ||||
basic_spanbuf::seekoff (C++23) | ||||
(C++23) | ||||
| Non-member functions | ||||
(C++23) |
| protected: pos_type seekoff( off_type off, std::ios_base::seekdir dir, |
(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
- the next pointer to the get and/or put area to reposition is null and the computed
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 bywhich, or -
diris std::ios_base::cur and both std::ios_base::in and std::ios_base::out are set inwhich, or - the computed
newoffis not representable inoff_type, less than zero, or greater thann.
newoff is computed as below:
- If
diris std::ios_base::beg,newoffisoff. - If
diris std::ios_base::cur,newoffis- 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.
- pptr() - pbase() + off if std::ios_base::out is set in
- If
diris std::ios_base::end,newoffis- pptr() - pbase() + off if std::ios_base::out but not std::ios_base::in is set in the open mode of *this,
- otherwise, 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.
Contents |
[edit] Parameters
| 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:
|
[edit] Return value
pos_type(newoff) on success, pos_type(off_type(-1) on failure.
[edit] Example
| This section is incomplete Reason: no example |
[edit] See also
| [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>) [edit]
|
| [virtual] |
repositions the next pointer in the input sequence, output sequence, or both, using relative addressing (virtual protected member function of std::strstreambuf) [edit]
|