summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/doc/requirements/IoObjectService.qbk
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/doc/requirements/IoObjectService.qbk')
-rw-r--r--3rdparty/asio/src/doc/requirements/IoObjectService.qbk62
1 files changed, 62 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/IoObjectService.qbk b/3rdparty/asio/src/doc/requirements/IoObjectService.qbk
new file mode 100644
index 00000000000..3d3ccc0fb61
--- /dev/null
+++ b/3rdparty/asio/src/doc/requirements/IoObjectService.qbk
@@ -0,0 +1,62 @@
+[/
+ / Copyright (c) 2003-2015 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:IoObjectService I/O object service requirements]
+
+An I/O object service must meet the requirements for a [link
+asio.reference.Service service], as well as the requirements listed
+below.
+
+In the table below, `X` denotes an I/O object service class, `a` and `ao` denote
+values of type `X`, `b` and `c` denote values of type `X::implementation_type`,
+and `u` denotes an identifier.
+
+[table IoObjectService requirements
+ [[expression] [return type] [assertion/note\npre/post-condition]]
+ [
+ [`X::implementation_type`]
+ []
+ []
+ ]
+ [
+ [`X::implementation_type u;`]
+ []
+ [note: `X::implementation_type` has a public default constructor and
+ destructor.]
+ ]
+ [
+ [``
+ a.construct(b);
+ ``]
+ []
+ []
+ ]
+ [
+ [``
+ a.destroy(b);
+ ``]
+ []
+ [note: `destroy()` will only be called on a value that has previously been
+ initialised with `construct()` or `move_construct()`.]
+ ]
+ [
+ [``
+ a.move_construct(b, c);
+ ``]
+ []
+ [note: only required for I/O objects that support movability.]
+ ]
+ [
+ [``
+ a.move_assign(b, ao, c);
+ ``]
+ []
+ [note: only required for I/O objects that support movability.]
+ ]
+]
+
+[endsect]