It is used set input sequence pointers and the value for the pointers that define the boundaries of the buffered portion of the controlled input sequence (eback and egptr) as well as the get pointer itsel.
Following is the declaration for std::basic_streambuf::setg.
void setg (char_type* new_eback, char_type* new_gptr, char_type* new_egptr);
new_eback − It is a new value for the pointer to the beginning of the accessible part of the controlled input sequence.
new_gptr − It is a new value for the get pointer (gptr), which points to the character in the controlled input sequence to be accessed by the next input operation.
new_egptr − It is a new value for the pointer to the beginning of the accessible part of the controlled input sequence.
Basic guarantee − if an exception is thrown, the stream buffer is in a valid state.
It modifies the stream buffer object.