![]()  | 
![]() ![]() ![]() ![]()  | 
![]()  | 
basic_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/basic_streambuf.hpp>
Удобный заголовок:<boost/asio.hpp>
Статья basic_streambuf раздела Boost.Asio Reference может быть полезна для разработчиков на c++ и boost.
реклама  |