It is used to set output sequence pointers and sets the value for the pointers that define the boundaries of the buffered portion of the controlled output sequence.
Following is the declaration for std::basic_streambuf::setp.
void setp (char_type* new_pbase, char_type* new_epptr);
new_pbas − It is a new value for the pointer to the beginning of the accessible part of the controlled output sequence.
new_epptr − It is a new value for the end pointer, just past the end of the accessible part of the controlled output sequence.
Basic guarantee − if an exception is thrown, the stream buffer is in a valid state.
It modifies the stream buffer object.