cpp/io/strstreambuf/seekoff

Repositions std and/or std, if possible, to the position that corresponds to exactly characters from beginning, end, or current position of the get and/or put area of the buffer.


 * If includes  and this buffer is open for reading, then repositions the read pointer std inside the get area as described below.
 * If includes  and this buffer is open for writing, then repositions the write pointer std inside the put area as described below.
 * If includes both   and   and the buffer is open for both reading and writing, and  is either  or, then repositions both read and write pointers as described below.
 * Otherwise, this function fails.

If the pointer (either or  or both) is repositioned, it is done as follows: @1@ If the pointer to be repositioned is a null pointer and the new offset would be non-zero, this function fails. @2@ The new pointer offset of type  is determined
 * @a@ if, then is zero
 * @b@ if, then is the current position of the pointer ( or )
 * @c@ if, then is the length of the entire initialized part of the buffer (if overallocation is used, the high watermark pointer minus the beginning pointer)

@3@ If is negative or out of bounds of the initialized part of the buffer, the function fails @4@ Otherwise, the pointer is assigned as if by or

Return value
on success, on failure and if pos_type cannot represent the resulting stream position.