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>) |
|
|
[virtual] | пытается заменить управляемую последовательность символов массивом (виртуальная защищенная функция-член std::basic_stringbuf<CharT,Traits,Allocator>) |
|
[virtual] | пытается заменить управляемую последовательность символов массивом (виртуальная защищенная функция-член 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