summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/doc/requirements/CompletionCondition.qbk')
-rw-r--r--3rdparty/asio/src/doc/requirements/CompletionCondition.qbk42
1 files changed, 42 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk b/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk
new file mode 100644
index 00000000000..157561380b5
--- /dev/null
+++ b/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk
@@ -0,0 +1,42 @@
+[/
+ / 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:CompletionCondition Completion condition requirements]
+
+A ['completion condition] is a function object that is used with the algorithms
+[link asio.reference.read `read`], [link asio.reference.async_read
+`async_read`], [link asio.reference.write `write`], and [link
+asio.reference.async_write `async_write`] to determine when the algorithm has
+completed transferring data.
+
+A type `X` meets the `CompletionCondition` 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 value of type `X`, `ec` denotes a (possibly
+const) value of type `error_code`, and `n` denotes a (possibly const) value of
+type `size_t`.
+
+[table CompletionCondition requirements
+ [[expression] [return type] [assertion/note\npre/post-condition]]
+ [
+ [`x(ec, n)`]
+ [`size_t`]
+ [
+ Let `n` be the total number of bytes transferred by the read or write
+ algorithm so far.\n
+ \n
+ Returns the maximum number of bytes to be transferred on the next
+ `read_some`, `async_read_some`, `write_some`, or `async_write_some`
+ operation performed by the algorithm. Returns `0` to indicate that the
+ algorithm is complete.
+ ]
+ ]
+]
+
+[endsect]