...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A mutable buffer sequence represents a set of memory
regions that may be used to receive the output of an operation, such as the
receive
operation of a socket.
A type X
meets the MutableBufferSequence
requirements
if it satisfies the requirements of Destructible
(C++Std [destructible])
and CopyConstructible
(C++Std [copyconstructible]), as well
as the additional requirements listed below.
In the table below, x
denotes a (possibly const) value of type
X
, and u
denotes an identifier.
Table 22. MutableBufferSequence requirements
expression |
return type |
assertion/note |
---|---|---|
|
An iterator type meeting the requirements for bidirectional iterators
(C++Std [bidirectional.iterators]) whose value type is convertible
to |
|
X u(x);
|
post: equal( boost::asio::buffer_sequence_begin(x), boost::asio::buffer_sequence_end(x), boost::asio::buffer_sequence_begin(u), boost::asio::buffer_sequence_end(u), [](const mutable_buffer& b1, const mutable_buffer& b2) { return b1.data() == b2.data() && b1.size() == b2.size(); })
|