std::basic_streambuf::pubseekoff, std::basic_streambuf::seekoff

< cpp‎ | io‎ | basic streambuf
pos_type pubseekoff( off_type off, ios_base::seekdir dir,
                     ios_base::openmode which = ios_base::in | ios_base::out );

virtual pos_type seekoff( off_type off, ios_base::seekdir dir,

                          ios_base::openmode which = ios_base::in | ios_base::out );

Sets the position indicator of the input and/or output sequence relative to some other position.

1) Calls seekoff(off, dir, which) of the most derived class

2) The base class version of this function has no effect. The derived classes may override this function to allow relative positioning of the position indicator.


[edit] Parameters

off - relative position to set the position indicator to.
dir - defines base position to apply the relative offset to. It can be one of the following constants:
Constant Explanation
beg the beginning of a stream
end the ending of a stream
cur the current position of stream position indicator
which - defines which of the input and/or output sequences to affect. It can be one or a combination of the following constants:
Constant Explanation
in affect the input sequence
out affect the output sequence

[edit] Note

Not all combinations of parameters are valid. All the sequences denoted by which must match the sequences denoted by the instantiation of the basic_streambuf. When modifying both the input and output sequences together, dir may only be beg or end. Otherwise, the positioning operation fails, and pos_type(off_type(-1)) is returned.

[edit] Return value

1) The return value of seekoff(off, dir, which)

2) The resulting absolute position as defined by the position indicator. The base class version returns pos_type(off_type(-1)).

[edit] Example

[edit] See also

invokes seekpos()
(public member function)