![]()  | 
![]() ![]() ![]() ![]()  | 
![]()  | 
streambufBoost , Boost.Asio , Reference
  
  
   | 
||||||||||||||||||||||||||||||||||||
| 
                 Имя  | 
                 Описание  | 
|---|---|
| 
                 The type used to represent the input sequence as a list of buffers.  | 
|
| 
                 The type used to represent the output sequence as a list of buffers.  | 
| 
                 Имя  | 
                 Описание  | 
|---|---|
| 
                 Construct a basic_streambuf object.  | 
|
| 
                 Move characters from the output sequence to the input sequence.  | 
|
| 
                 Remove characters from the input sequence.  | 
|
| 
                 Get a list of buffers that represents the input sequence.  | 
|
| 
                 Get the maximum size of the basic_streambuf.  | 
|
| 
                 Get a list of buffers that represents the output sequence, with the given size.  | 
|
| 
                 Get the size of the input sequence.  | 
| 
                 Имя  | 
                 Описание  | 
|---|---|
| 
                 Override std::streambuf behaviour.  | 
|
| 
                 Override std::streambuf behaviour.  | 
Класс basic_streambuf получен из std::streambuf, чтобы связать последовательности ввода и вывода Streambuf с одним или более массивами символов. Эти массивы символов являются внутренними для объекта basic_streambuf, но прямой доступ к элементам массива обеспечивается для их эффективного использования с операциями ввода/вывода. Персонажи, записанные на выходную последовательность объекта basic_streambuf, прилагаются к входной последовательности того же объекта.
Публичный интерфейс класса basic_streambuf предназначен для реализации следующих стратегий:
Конструктор для basic_streambuf принимает аргумент size_t, определяющий максимальную сумму размеров входной и выходной последовательности. В течение жизни объекта basic_streambuf удерживается следующий инвариант:
size() <= max_size()
Любая функция члена, которая в случае успеха приведет к нарушению инварианта, должна включать исключение из класса std::length_error.
Конструктор для basic_streambuf принимает аргумент Аллокатора. Копия этого аргумента используется для любого распределения памяти, выполняемого конструктором и всеми функциями-членами, в течение срока службы каждого объекта basic_streambuf.
Письмо прямо из Streambuf в розетку:
boost::asio::streambuf b; std::ostream os(&b); os << "Hello, World!\n"; // try sending some data in input sequence size_t n = sock.send(b.data()); b.consume(n); // sent data is removed from input sequence
Чтение из розетки прямо в стримбуф:
boost::asio::streambuf b; // reserve 512 bytes in output sequence boost::asio::streambuf::mutable_buffers_type bufs = b.prepare(512); size_t n = sock.receive(bufs); // received data is "committed" from output sequence to input sequence b.commit(n); std::istream is(&b); std::string s; is >> s;
 Руководитель: boost/asio/streambuf.hpp<5
Удобный заголовок: boost/asio.hpp<5
Статья streambuf раздела Boost.Asio Reference может быть полезна для разработчиков на c++ и boost.
реклама  |