cpp/io/basic spanbuf/seekoff

Repositions the next pointer to get and/or put area, 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.

Let be the number of  elements in underlying buffer, or  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 (see below) is not zero, which may occur if there is no underlying buffer, or the  is not opened in the mode required by, or
 * is std and both std and std are set in, or
 * the computed is not representable in, less than zero, or greater than.

is computed as below:
 * If is std,  is.
 * If is std,  is
 * if std is set in, or
 * if std is set in.
 * If is std,  is
 * if std but not std is set in the open mode of ,
 * otherwise,.

This function repositions the next pointer to get and/or put area to on success if std and/or std is correspondingly set in, where  is the pointer to the beginning of the underlying buffer, or the null pointer value if there is no underlying buffer.

Return value
on success, on failure.