summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/doc/requirements/Endpoint.qbk
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/doc/requirements/Endpoint.qbk')
-rw-r--r--3rdparty/asio/src/doc/requirements/Endpoint.qbk94
1 files changed, 94 insertions, 0 deletions
diff --git a/3rdparty/asio/src/doc/requirements/Endpoint.qbk b/3rdparty/asio/src/doc/requirements/Endpoint.qbk
new file mode 100644
index 00000000000..4940dae4833
--- /dev/null
+++ b/3rdparty/asio/src/doc/requirements/Endpoint.qbk
@@ -0,0 +1,94 @@
+[/
+ / 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:Endpoint Endpoint requirements]
+
+A type `X` meets the `Endpoint` requirements if it satisfies the requirements
+of `Destructible` (C++Std [destructible]), `DefaultConstructible` (C++Std
+[defaultconstructible]), `CopyConstructible` (C++Std [copyconstructible]),
+and `CopyAssignable` (C++Std [copyassignable]), as well as the additional
+requirements listed below.
+
+In the table below, `a` denotes a (possibly const) value of type `X`, and `u`
+denotes an identifier.
+
+[table Endpoint requirements
+ [[expression] [type] [assertion/note\npre/post-conditions]]
+ [
+ [`X::protocol_type`]
+ [type meeting [link asio.reference.Protocol `Protocol`] requirements]
+ []
+ ]
+ [
+ [`a.protocol()`]
+ [`protocol_type`]
+ []
+ ]
+]
+
+In the table below, `a` denotes a (possibly const) value of type `X`, `b`
+denotes a value of type `X`, and `s` denotes a (possibly const) value of a type
+that is convertible to `size_t` and denotes a size in bytes.
+
+[table Endpoint requirements for extensible implementations
+ [[expression] [type] [assertion/note\npre/post-conditions]]
+ [
+ [`a.data()`]
+ [`const void*`]
+ [
+ Returns a pointer suitable for passing as the /address/ argument to
+ functions such as __POSIX__ __connect__, or as the /dest_addr/ argument
+ to functions such as __POSIX__ __sendto__. The implementation shall
+ perform a `static_cast` on the pointer to convert it to `const
+ sockaddr*`.
+ ]
+ ]
+ [
+ [`b.data()`]
+ [`void*`]
+ [
+ Returns a pointer suitable for passing as the /address/ argument to
+ functions such as __POSIX__ __accept__, __getpeername__, __getsockname__
+ and __recvfrom__. The implementation shall perform a `static_cast` on the
+ pointer to convert it to `sockaddr*`.
+ ]
+ ]
+ [
+ [`a.size()`]
+ [`size_t`]
+ [
+ Returns a value suitable for passing as the /address_len/ argument
+ to functions such as __POSIX__ __connect__, or as the /dest_len/ argument
+ to functions such as __POSIX__ __sendto__, after appropriate integer
+ conversion has been performed.
+ ]
+ ]
+ [
+ [`b.resize(s)`]
+ []
+ [
+ pre: `s >= 0`\n
+ post: `a.size() == s`\n
+ Passed the value contained in the /address_len/ argument to functions
+ such as __POSIX__ __accept__, __getpeername__, __getsockname__ and
+ __recvfrom__, after successful completion of the function. Permitted to
+ throw an exception if the protocol associated with the endpoint object
+ `a` does not support the specified size.
+ ]
+ ]
+ [
+ [`a.capacity()`]
+ [`size_t`]
+ [
+ Returns a value suitable for passing as the /address_len/ argument to
+ functions such as __POSIX__ __accept__, __getpeername__, __getsockname__
+ and __recvfrom__, after appropriate integer conversion has been performed.
+ ]
+ ]
+]
+
+[endsect]