123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- [/
- / Copyright (c) 2003-2019 Christopher M. Kohlhoff (chris at kohlhoff dot com)
- /
- / Distributed under the Boost Software License, Version 1.0. (See accompanying
- / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
- /]
- [section:MutableBufferSequence Mutable buffer sequence requirements]
- 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 MutableBufferSequence requirements
- [[expression] [return type] [assertion/note\npre/post-condition]]
- [
- [`boost::asio::buffer_sequence_begin(x)`\n
- `boost::asio::buffer_sequence_end(x)`]
- [An iterator type meeting the requirements for bidirectional iterators
- (C++Std \[bidirectional.iterators\]) whose value type is convertible to
- `mutable_buffer`.]
- []
- ]
- [
- [``
- X u(x);
- ``]
- []
- [post:\n
- ``
- 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();
- })
- ``]
- ]
- ]
- [endsect]
|