diff options
Diffstat (limited to '3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk')
-rw-r--r-- | 3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk b/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk new file mode 100644 index 00000000000..7683a682ec6 --- /dev/null +++ b/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk @@ -0,0 +1,56 @@ +[/ + / Copyright (c) 2003-2016 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]] + [ + [`asio::buffer_sequence_begin(x)`\n + `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( + asio::buffer_sequence_begin(x), + asio::buffer_sequence_end(x), + asio::buffer_sequence_begin(u), + asio::buffer_sequence_end(u), + [](const typename X::value_type& v1, + const typename X::value_type& v2) + { + mutable_buffer b1(v1); + mutable_buffer b2(v2); + return b1.data() == b2.data() + && b1.size() == b2.size(); + }) + ``] + ] +] + +[endsect] |