std::basic_spanbuf<CharT,Traits>::setbuf
protected: std::basic_streambuf<CharT, Traits>* setbuf( CharT *s, std::streamsize n ) override; | (начиная с C++23) |
Заставляет basic_spanbuf выполнять ввод-вывод в буфере [s, s + n). Эквивалентно вызывает this->span(std::span<CharT>(s, n)), а затем возвращает this.
| Установленные биты режима открытия (влияющие на указатели области чтения) | Возвращаемое значение после установки | ||
|---|---|---|---|
eback() |
gptr() |
egptr() |
|
std::ios_base::in |
s |
s |
s + n |
| Установленные биты режима открытия (влияющие на указатели области записи) | Возвращаемое значение после установки | ||
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 |
Эта функция является защищённой виртуальной функцией; её можно вызвать только через pubsetbuf() или из функций-членов пользовательского класса, производного от std::basic_spanbuf.
Параметры
| s | - | указатель на первый CharT в предоставленном пользователем буфере |
| n | - | количество элементов CharT в предоставленном пользователем буфере |
Возвращаемое значение
this
Примечания
Устаревший буфер потока std::strstreambuf или устройство boost.IOStreams boost::basic_array также могут обеспечивать буферизацию ввода-вывода с использованием предоставленного пользователем массива char.
Пример
Смотрите также
вызывает setbuf() (открытая функция-член std::basic_streambuf<CharT,Traits>) |
|
|
[виртуальная] | пытается заменить управляемую последовательность символов массивом (виртуальная защищённая функция-член std::basic_stringbuf<CharT,Traits,Allocator>) |
|
[виртуальная] | пытается заменить управляемую последовательность символов массивом (виртуальная защищённая функция-член std::strstreambuf) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/basic_spanbuf/setbuf