cpp / latest / io / basic_spanbuf / setbuf.html /

std::basic_spanbuf<CharT,Traits>::setbuf

protected:
std::basic_streambuf<CharT, Traits>* setbuf( CharT *s, std::streamsize n ) override;
(since C++23)

Makes the basic_spanbuf perform I/O on the buffer [s, s + n). Equivalently calls this->span(std::span<CharT>(s, n)) and then returns this.

Set bits in open mode
(affecting pointers to get area)
Return value after setting
eback() gptr() egptr()
std::ios_base::in s s s + n
Set bits in open mode
(affecting pointers to put area)
Return value after setting
pbase() pptr() epptr()
std::ios_base::out && !std::ios_base::ate s s s + n
std::ios_base::out && std::ios_base::ate s s + n s + n

This function is protected virtual, it may only be called through pubsetbuf() or from member functions of a user-defined class derived from std::basic_spanbuf.

Parameters

s - pointer to the first CharT in the user-provided buffer
n - the number of CharT elements in the user-provided buffer

Return value

this.

Notes

The deprecated stream buffer std::strstreambuf or the boost.IOStreams device boost::basic_array can also implement I/O buffering over a user-provided char array.

Example

See also

invokes setbuf()
(public member function of std::basic_streambuf<CharT,Traits>)
[virtual]
attempts to replace the controlled character sequence with an array
(virtual protected member function of std::basic_stringbuf<CharT,Traits,Allocator>)
[virtual]
attempts to replace the controlled character sequence with an array
(virtual protected member function of std::strstreambuf)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/io/basic_spanbuf/setbuf