...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A constant buffer sequence represents a set of memory
regions that may be used as input to an operation, such as the send
operation of a socket.
A type X
meets the ConstBufferSequence
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 11. ConstBufferSequence 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 const_buffer& b1, const const_buffer& b2) { return b1.data() == b2.data() && b1.size() == b2.size(); }) |