protected virtual member function
<sstream>
streampos seekpos (streampos sp, ios_base::openmode which = ios_base::in | ios_base::out);
Set position pointer to absolute position
Sets the absolute new position pos for the position pointers specified by parameter which.
If which includes ios_base::in, the get pointer (gptr) is affected, and if which includes ios_base::out, the put pointer (pptr). Both position pointers can be affected by a single call.
This virtual function is called by the public member streambuf::pubseekpos.
Parameters
- pos
- New absolute position for the position pointer.
streampos is a positioning type that can be converted to/from integral types (an fpos type).
- which
- Determines which of the position pointers is affected: the get pointer, the put pointer, or both. It is an object of type ios_base::openmode that, for this function, may take any combination of the following significant constant values:
value | position pointer affected |
ios_base::in | Modifies the get pointer (gptr) |
ios_base::out | Modifies the put pointer (pptr) |
Both pointers may be selected simultaneously.
Return Value
On success, it returns pos.
On failure, the function returns streampos(streamoff(-1))
.
streampos is a positioning type that can be converted to/from integral types (an fpos type).
Data races
Modifies the stringbuf object.
Concurrent access to the same object may cause data races.
Exception safety
Basic guarantee: if an exception is thrown, the object is in a valid state.
See also
- stringbuf::seekoff
- Set position pointer to relative position (protected virtual member function)
- streambuf::pubseekpos
- Set internal position pointer to absolute position (public member function)