protected virtual member function
<streambuf> <iostream>

std::basic_streambuf::seekoff

pos_type seekoff (off_type off, ios_base::seekdir way,
                  ios_base::openmode which = ios_base::in | ios_base::out);
Set internal position pointer to relative position
Virtual function called by the public member function pubseekoff to alter the stream positions of one or more of the controlled sequences in a specific way for each derived class.

Its default behavior in basic_streambuf is to do nothing and return -1, but derived classes shall override this behavior to alter the internal pointers appropriately: both basic_filebuf and basic_stringbuf override this virtual member function to set the internal pointer specified by which to a position offset off relative to the direction specified by way.

Parameters

off
Offset value, relative to the way parameter.
Member type off_type is determined by the character traits: generally, it is an alias of the signed integral type streamoff.
way
Object of type ios_base::seekdir. It may take any of the following constant values:
valueoffset is relative to...
ios_base::begbeginning of the stream buffer
ios_base::curcurrent position in the stream buffer
ios_base::endend of the stream buffer
which
Generally used to determine the position on which of the controlled sequences shall be modified: the input sequence, the output sequence, 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:
valueposition pointer affected
ios_base::inModify current position in controlled input sequence
ios_base::outModify current position in controlled output sequence

Return Value

Returns pos_type(off_type(-1)).
Member type pos_type is determined by the character traits: generally, it is an fpos type (such as streampos) that can be converted to/from integral types.

Data races

Introduces no data races, but overriden versions in derived classes may.

Exception safety

No-throw guarantee: this default definition never throws exceptions.

See also