...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Adds buffering to the read-related operations of a stream.
template< typename Stream> class buffered_read_stream : noncopyable
Name |
Description |
---|---|
The type of the executor associated with the object. |
|
The type of the lowest layer. |
|
The type of the next layer. |
Name |
Description |
---|---|
Start an asynchronous fill. |
|
Start an asynchronous read. The buffer into which the data will be read must be valid for the lifetime of the asynchronous operation. |
|
Start an asynchronous write. The data being written must be valid for the lifetime of the asynchronous operation. |
|
buffered_read_stream [constructor] |
Construct, passing the specified argument to initialise the next layer. |
Close the stream. |
|
Fill the buffer with some data. Returns the number of bytes placed
in the buffer as a result of the operation. Throws an exception
on failure. |
|
Get the executor associated with the object. |
|
Determine the amount of data that may be read without blocking. |
|
Get a reference to the lowest layer. |
|
Get a reference to the next layer. |
|
Peek at the incoming data on the stream. Returns the number of
bytes read. Throws an exception on failure. |
|
Read some data from the stream. Returns the number of bytes read.
Throws an exception on failure. |
|
Write the given data to the stream. Returns the number of bytes
written. Throws an exception on failure. |
Name |
Description |
---|---|
default_buffer_size [static] |
The default buffer size. |
The buffered_read_stream
class template
can be used to add buffering to the synchronous and asynchronous read operations
of a stream.
Distinct objects: Safe.
Shared objects: Unsafe.
Header: boost/asio/buffered_read_stream.hpp
Convenience header: boost/asio.hpp