diff options
Diffstat (limited to '3rdparty/asio/src/doc/requirements')
49 files changed, 0 insertions, 3038 deletions
diff --git a/3rdparty/asio/src/doc/requirements/AcceptHandler.qbk b/3rdparty/asio/src/doc/requirements/AcceptHandler.qbk deleted file mode 100644 index ae5ea3f0388..00000000000 --- a/3rdparty/asio/src/doc/requirements/AcceptHandler.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:AcceptHandler Accept handler requirements] - -An accept handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of an accept handler -class should work correctly in the expression `h(ec)`, where `ec` is an lvalue -of type `const error_code`. - -[heading Examples] - -A free function as an accept handler: - - void accept_handler( - const asio::error_code& ec) - { - ... - } - -An accept handler function object: - - struct accept_handler - { - ... - void operator()( - const asio::error_code& ec) - { - ... - } - ... - }; - -A lambda as an accept handler: - - acceptor.async_accept(..., - [](const asio::error_code& ec) - { - ... - }); - -A non-static class member function adapted to an accept handler using -`std::bind()`: - - void my_class::accept_handler( - const asio::error_code& ec) - { - ... - } - ... - acceptor.async_accept(..., - std::bind(&my_class::accept_handler, - this, std::placeholders::_1)); - -A non-static class member function adapted to an accept handler using -`boost::bind()`: - - void my_class::accept_handler( - const asio::error_code& ec) - { - ... - } - ... - acceptor.async_accept(..., - boost::bind(&my_class::accept_handler, - this, asio::placeholders::error)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/AcceptableProtocol.qbk b/3rdparty/asio/src/doc/requirements/AcceptableProtocol.qbk deleted file mode 100644 index 37683879adf..00000000000 --- a/3rdparty/asio/src/doc/requirements/AcceptableProtocol.qbk +++ /dev/null @@ -1,25 +0,0 @@ -[/ - / 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:AcceptableProtocol Acceptable protocol requirements] - -A type `X` meets the `AcceptableProtocol` requirements if it satisfies the -requirements of [link asio.reference.Protocol `Protocol`] as well as the -additional requirements listed below. - -[table AcceptableProtocol requirements - [[expression] [return type] [assertion/note\npre/post-conditions]] - [ - [`X::socket`] - [A type that satisfies the requirements of `Destructible` (C++Std - \[destructible\]) and `MoveConstructible` (C++Std \[moveconstructible\]), - and that is publicly and unambiguously derived from `basic_socket<X>`.] - [] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk b/3rdparty/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk deleted file mode 100644 index 4109c0157dc..00000000000 --- a/3rdparty/asio/src/doc/requirements/AsyncRandomAccessReadDevice.qbk +++ /dev/null @@ -1,56 +0,0 @@ -[/ - / 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:AsyncRandomAccessReadDevice Buffer-oriented asynchronous random-access -read device requirements] - -In the table below, `a` denotes an asynchronous random access read device -object, `o` denotes an offset of type `boost::uint64_t`, `mb` denotes an object -satisfying [link asio.reference.MutableBufferSequence mutable buffer sequence] -requirements, and `h` denotes an object satisfying [link -asio.reference.ReadHandler read handler] requirements. - -[table Buffer-oriented asynchronous random-access read device requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.get_executor()`] - [A type satisfying the [link asio.reference.Executor1 Executor requirements].] - [Returns the associated I/O executor.] - ] - [ - [`a.async_read_some_at(o, mb, h);`] - [`void`] - [ - Initiates an asynchronous operation to read one or more bytes of data - from the device `a` at the offset `o`. The operation is performed via the - `io_service` object `a.get_io_service()` and behaves according to [link - asio.reference.asynchronous_operations asynchronous operation] - requirements.\n - \n - The mutable buffer sequence `mb` specifies memory where the data should - be placed. The `async_read_some_at` operation shall always fill a buffer - in the sequence completely before proceeding to the next.\n - \n - The implementation shall maintain one or more copies of `mb` until such - time as the read operation no longer requires access to the memory - specified by the buffers in the sequence. The program must ensure the - memory is valid until:\n - \n - [mdash] the last copy of `mb` is destroyed, or\n - \n - [mdash] the handler for the asynchronous read operation is invoked,\n - \n - whichever comes first.\n - \n - If the total size of all buffers in the sequence `mb` is `0`, the - asynchronous read operation shall complete immediately and pass `0` as - the argument to the handler that specifies the number of bytes read. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk b/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk deleted file mode 100644 index bd9ecbd834b..00000000000 --- a/3rdparty/asio/src/doc/requirements/AsyncRandomAccessWriteDevice.qbk +++ /dev/null @@ -1,57 +0,0 @@ -[/ - / 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:AsyncRandomAccessWriteDevice Buffer-oriented asynchronous -random-access write device requirements] - -In the table below, `a` denotes an asynchronous write stream object, `o` -denotes an offset of type `boost::uint64_t`, `cb` denotes an object satisfying -[link asio.reference.ConstBufferSequence constant buffer sequence] -requirements, and `h` denotes an object satisfying [link -asio.reference.WriteHandler write handler] requirements. - -[table Buffer-oriented asynchronous random-access write device requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.get_executor()`] - [A type satisfying the [link asio.reference.Executor1 Executor requirements].] - [Returns the associated I/O executor.] - ] - [ - [`a.async_write_some_at(o, cb, h);`] - [`void`] - [ - Initiates an asynchronous operation to write one or more bytes of data to - the device `a` at offset `o`. The operation is performed via the - `io_service` object `a.get_io_service()` and behaves according to [link - asio.reference.asynchronous_operations asynchronous operation] - requirements.\n - \n - The constant buffer sequence `cb` specifies memory where the data to be - written is located. The `async_write_some_at` operation shall always - write a buffer in the sequence completely before proceeding to the - next.\n - \n - The implementation shall maintain one or more copies of `cb` until such - time as the write operation no longer requires access to the memory - specified by the buffers in the sequence. The program must ensure the - memory is valid until:\n - \n - [mdash] the last copy of `cb` is destroyed, or\n - \n - [mdash] the handler for the asynchronous write operation is invoked,\n - \n - whichever comes first.\n - \n - If the total size of all buffers in the sequence `cb` is `0`, the - asynchronous write operation shall complete immediately and pass `0` as - the argument to the handler that specifies the number of bytes written. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/AsyncReadStream.qbk b/3rdparty/asio/src/doc/requirements/AsyncReadStream.qbk deleted file mode 100644 index 0fcd42f9c14..00000000000 --- a/3rdparty/asio/src/doc/requirements/AsyncReadStream.qbk +++ /dev/null @@ -1,50 +0,0 @@ -[/ - / 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:AsyncReadStream Buffer-oriented asynchronous read stream requirements] - -A type `X` meets the `AsyncReadStream` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a value of type `X`, `mb` denotes a (possibly -const) value satisfying the [link asio.reference.MutableBufferSequence -`MutableBufferSequence`] requirements, and `t` is a completion token. - -[table AsyncReadStream requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.get_executor()`] - [A type satisfying the [link asio.reference.Executor1 Executor requirements].] - [Returns the associated I/O executor.] - ] - [ - [`a.async_read_some(mb,t)`] - [ - The return type is determined according to the requirements for an - [link asio.reference.asynchronous_operations asynchronous operation]. - ] - [ - Meets the requirements for a [link asio.reference.read_write_operations - read operation] and an [link asio.reference.asynchronous_operations - asynchronous operation] with completion signature `void(error_code ec, - size_t n)`.\n - \n - If `buffer_size(mb) > 0`, initiates an asynchronous operation to read one - or more bytes of data from the stream `a` into the buffer sequence `mb`. - If successful, `ec` is set such that `!ec` is `true`, and `n` is the - number of bytes read. If an error occurred, `ec` is set such that `!!ec` - is `true`, and `n` is 0. If all data has been read from the stream, and - the stream performed an orderly shutdown, `ec` is - `stream_errc::eof` and `n` is 0.\n - \n - If `buffer_size(mb) == 0`, the operation completes immediately. `ec` is - set such that `!ec` is `true`, and `n` is 0. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/AsyncWriteStream.qbk b/3rdparty/asio/src/doc/requirements/AsyncWriteStream.qbk deleted file mode 100644 index ee53b238c11..00000000000 --- a/3rdparty/asio/src/doc/requirements/AsyncWriteStream.qbk +++ /dev/null @@ -1,48 +0,0 @@ -[/ - / 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:AsyncWriteStream Buffer-oriented asynchronous write stream requirements] - -A type `X` meets the `AsyncWriteStream` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a value of type `X`, `cb` denotes a (possibly -const) value satisfying the [link asio.reference.ConstBufferSequence -`ConstBufferSequence`] requirements, and `t` is a completion token. - -[table AsyncWriteStream requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.get_executor()`] - [A type satisfying the [link asio.reference.Executor1 Executor requirements].] - [Returns the associated I/O executor.] - ] - [ - [`a.async_write_some(cb,t)`] - [ - The return type is determined according to the requirements for an - [link asio.reference.asynchronous_operations asynchronous operation]. - ] - [ - Meets the requirements for a [link asio.reference.read_write_operations - write operation] and an [link asio.reference.asynchronous_operations - asynchronous operation] with completion signature `void(error_code ec, - size_t n)`.\n - \n - If `buffer_size(cb) > 0`, initiates an asynchronous operation to write - one or more bytes of data to the stream `a` from the buffer sequence - `cb`. If successful, `ec` is set such that `!ec` is `true`, and `n` is - the number of bytes written. If an error occurred, `ec` is set such that - `!!ec` is `true`, and `n` is 0.\n - \n - If `buffer_size(cb) == 0`, the operation completes immediately. `ec` is - set such that `!ec` is `true`, and `n` is 0. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/BufferedHandshakeHandler.qbk b/3rdparty/asio/src/doc/requirements/BufferedHandshakeHandler.qbk deleted file mode 100644 index 6e6bbf231c3..00000000000 --- a/3rdparty/asio/src/doc/requirements/BufferedHandshakeHandler.qbk +++ /dev/null @@ -1,55 +0,0 @@ -[/ - / 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:BufferedHandshakeHandler Buffered handshake handler requirements] - -A buffered handshake handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a buffered handshake handler -class should work correctly in the expression `h(ec, s)`, where `ec` is an -lvalue of type `const error_code` and `s` is an lvalue of type `const size_t`. - -[heading Examples] - -A free function as a buffered handshake handler: - - void handshake_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - -A buffered handshake handler function object: - - struct handshake_handler - { - ... - void operator()( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - }; - -A non-static class member function adapted to a buffered handshake handler -using `boost::bind()`: - - void my_class::handshake_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - socket.async_handshake(..., - boost::bind(&my_class::handshake_handler, - this, asio::placeholders::error, - asio::placeholders::bytes_transferred)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk b/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk deleted file mode 100644 index 157561380b5..00000000000 --- a/3rdparty/asio/src/doc/requirements/CompletionCondition.qbk +++ /dev/null @@ -1,42 +0,0 @@ -[/ - / 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] diff --git a/3rdparty/asio/src/doc/requirements/CompletionHandler.qbk b/3rdparty/asio/src/doc/requirements/CompletionHandler.qbk deleted file mode 100644 index 28d158b6cdd..00000000000 --- a/3rdparty/asio/src/doc/requirements/CompletionHandler.qbk +++ /dev/null @@ -1,63 +0,0 @@ -[/ - / 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:CompletionHandler Completion handler requirements] - -A completion handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a completion handler -class should work correctly in the expression `h()`. - -[heading Examples] - -A free function as a completion handler: - - void completion_handler() - { - ... - } - -A completion handler function object: - - struct completion_handler - { - ... - void operator()() - { - ... - } - ... - }; - -A lambda as a completion handler: - - my_io_service.post( - []() - { - ... - }); - -A non-static class member function adapted to a completion handler using -`std::bind()`: - - void my_class::completion_handler() - { - ... - } - ... - my_io_service.post(std::bind(&my_class::completion_handler, this)); - -A non-static class member function adapted to a completion handler using -`boost::bind()`: - - void my_class::completion_handler() - { - ... - } - ... - my_io_service.post(boost::bind(&my_class::completion_handler, this)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ConnectCondition.qbk b/3rdparty/asio/src/doc/requirements/ConnectCondition.qbk deleted file mode 100644 index 995398c31d2..00000000000 --- a/3rdparty/asio/src/doc/requirements/ConnectCondition.qbk +++ /dev/null @@ -1,34 +0,0 @@ -[/ - / 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:ConnectCondition Connect condition requirements] - -A type `X` meets the `ConnectCondition` 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 `ep` denotes a (possibly const) value of -some type satisfying the [link asio.reference.Endpoint endpoint] requirements. - -[table ConnectCondition requirements - [[expression] [return type] [assertion/note\npre/post-condition]] - [ - [`x(ec, ep)`] - [`bool`] - [ - Returns `true` to indicate that the `connect` or `async_connect` - algorithm should attempt a connection to the endpoint `ep`. Otherwise, - returns `false` to indicate that the algorithm should not attempt - connection to the endpoint `ep`, and should instead skip to the next - endpoint in the sequence. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ConnectHandler.qbk b/3rdparty/asio/src/doc/requirements/ConnectHandler.qbk deleted file mode 100644 index 14b57d251d6..00000000000 --- a/3rdparty/asio/src/doc/requirements/ConnectHandler.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:ConnectHandler Connect handler requirements] - -A connect handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a connect handler -class should work correctly in the expression `h(ec)`, where `ec` is an lvalue -of type `const error_code`. - -[heading Examples] - -A free function as a connect handler: - - void connect_handler( - const asio::error_code& ec) - { - ... - } - -A connect handler function object: - - struct connect_handler - { - ... - void operator()( - const asio::error_code& ec) - { - ... - } - ... - }; - -A lambda as a connect handler: - - socket.async_connect(..., - [](const asio::error_code& ec) - { - ... - }); - -A non-static class member function adapted to a connect handler using -`std::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec) - { - ... - } - ... - socket.async_connect(..., - std::bind(&my_class::connect_handler, - this, std::placeholders::_1)); - -A non-static class member function adapted to a connect handler using -`boost::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec) - { - ... - } - ... - socket.async_connect(..., - boost::bind(&my_class::connect_handler, - this, asio::placeholders::error)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ConstBufferSequence.qbk b/3rdparty/asio/src/doc/requirements/ConstBufferSequence.qbk deleted file mode 100644 index 1ff91ebf32a..00000000000 --- a/3rdparty/asio/src/doc/requirements/ConstBufferSequence.qbk +++ /dev/null @@ -1,55 +0,0 @@ -[/ - / 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:ConstBufferSequence Constant buffer sequence requirements] - -A ['constant buffer sequence] represents a set of memory regions that may be -used as input to an operation, such as the `send` operation of a socket. - -A type `X` meets the `ConstBufferSequence` 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 ConstBufferSequence 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 - `const_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) - { - const_buffer b1(v1); - const_buffer b2(v2); - return b1.data() == b2.data() - && b1.size() == b2.size(); - }) - ``] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/DynamicBuffer.qbk b/3rdparty/asio/src/doc/requirements/DynamicBuffer.qbk deleted file mode 100644 index 4e0cd880d51..00000000000 --- a/3rdparty/asio/src/doc/requirements/DynamicBuffer.qbk +++ /dev/null @@ -1,93 +0,0 @@ -[/ - / 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:DynamicBuffer Dynamic buffer requirements] - -A dynamic buffer encapsulates memory storage that may be automatically resized -as required, where the memory is divided into an input sequence followed by an -output sequence. These memory regions are internal to the dynamic buffer -sequence, but direct access to the elements is provided to permit them to be -efficiently used with I/O operations, such as the `send` or `receive` -operations of a socket. Data written to the output sequence of a dynamic buffer -sequence object is appended to the input sequence of the same object. - -A dynamic buffer type `X` shall satisfy the requirements of `MoveConstructible` -(C++ Std, [moveconstructible]) types in addition to those listed below. - -In the table below, `X` denotes a dynamic buffer class, `x` denotes a -value of type `X&`, `x1` denotes values of type `const X&`, and `n` denotes a -value of type `size_t`, and `u` denotes an identifier. - -[table DynamicBuffer requirements - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [`X::const_buffers_type`] - [type meeting [link asio.reference.ConstBufferSequence ConstBufferSequence] - requirements.] - [This type represents the memory associated with the input sequence.] - ] - [ - [`X::mutable_buffers_type`] - [type meeting [link asio.reference.MutableBufferSequence MutableBufferSequence] - requirements.] - [This type represents the memory associated with the output sequence.] - ] - [ - [`x1.size()`] - [`size_t`] - [Returns the size, in bytes, of the input sequence.] - ] - [ - [`x1.max_size()`] - [`size_t`] - [Returns the permitted maximum of the sum of the sizes of the input - sequence and output sequence.] - ] - [ - [`x1.capacity()`] - [`size_t`] - [Returns the maximum sum of the sizes of the input sequence and output - sequence that the dynamic buffer can hold without requiring reallocation.] - ] - [ - [`x1.data()`] - [`X::const_buffers_type`] - [Returns a constant buffer sequence `u` that represents the memory - associated with the input sequence, and where `buffer_size(u) == size()`.] - ] - [ - [`x.prepare(n)`] - [`X::mutable_buffers_type`] - [Requires: `size() + n <= max_size()`.\n - \n - Returns a mutable buffer sequence `u` representing the output sequence, and - where `buffer_size(u) == n`. The dynamic buffer reallocates memory as - required. All constant or mutable buffer sequences previously obtained - using `data()` or `prepare()` are invalidated.\n - \n - Throws: `length_error` if `size() + n > max_size()`.] - ] - [ - [`x.commit(n)`] - [] - [Appends `n` bytes from the start of the output sequence to the end of the - input sequence. The remainder of the output sequence is discarded. If `n` - is greater than the size of the output sequence, the entire output sequence - is appended to the input sequence. All constant or mutable buffer sequences - previously obtained using `data()` or `prepare()` are invalidated.] - ] - [ - [`x.consume(n)`] - [] - [Removes `n` bytes from beginning of the input sequence. If `n` is greater - than the size of the input sequence, the entire input sequence is removed. - All constant or mutable buffer sequences previously obtained using `data()` - or `prepare()` are invalidated.] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/Endpoint.qbk b/3rdparty/asio/src/doc/requirements/Endpoint.qbk deleted file mode 100644 index 4940dae4833..00000000000 --- a/3rdparty/asio/src/doc/requirements/Endpoint.qbk +++ /dev/null @@ -1,94 +0,0 @@ -[/ - / 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] diff --git a/3rdparty/asio/src/doc/requirements/EndpointSequence.qbk b/3rdparty/asio/src/doc/requirements/EndpointSequence.qbk deleted file mode 100644 index 1e1648eb7a7..00000000000 --- a/3rdparty/asio/src/doc/requirements/EndpointSequence.qbk +++ /dev/null @@ -1,30 +0,0 @@ -[/ - / 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:EndpointSequence Endpoint sequence requirements] - -A type `X` meets the `EndpointSequence` 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`. - -[table EndpointSequence requirements - [[expression] [return type] [assertion/note\npre/post-condition]] - [ - [`x.begin()`\n - `x.end()`] - [A type meeting the requirements for forward iterators - (C++Std \[forward.iterators\]) whose value type is convertible to - a type satisfying the [link asio.reference.Endpoint `Endpoint`] - requirements.] - [[half_open_range `x.begin()`,`x.end()`] is a valid range.] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ExecutionContext.qbk b/3rdparty/asio/src/doc/requirements/ExecutionContext.qbk deleted file mode 100644 index 94d1cd141da..00000000000 --- a/3rdparty/asio/src/doc/requirements/ExecutionContext.qbk +++ /dev/null @@ -1,36 +0,0 @@ -[/ - / 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:ExecutionContext Execution context requirements] - -A type `X` meets the `ExecutionContext` requirements if it is publicly and -unambiguously derived from `execution_context`, and satisfies the additional -requirements listed below. - -In the table below, `x` denotes a value of type `X`. - -[table ExecutionContext requirements - [[expression] [return type] [assertion/note\npre/post-condition]] - [ - [`X::executor_type`] - [type meeting [link asio.reference.Executor1 `Executor`] requirements] - [] - ] - [ - [`x.~X()`] - [] - [Destroys all unexecuted function objects that were submitted via an - executor object that is associated with the execution context.] - ] - [ - [`x.get_executor()`] - [`X::executor_type`] - [Returns an executor object that is associated with the execution context.] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/Executor.qbk b/3rdparty/asio/src/doc/requirements/Executor.qbk deleted file mode 100644 index 07548605730..00000000000 --- a/3rdparty/asio/src/doc/requirements/Executor.qbk +++ /dev/null @@ -1,141 +0,0 @@ -[/ - / 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:Executor1 Executor requirements] - -The library describes a standard set of requirements for ['executors]. A type -meeting the `Executor` requirements embodies a set of rules for determining how -submitted function objects are to be executed. - -A type `X` meets the `Executor` requirements if it satisfies the requirements of -`CopyConstructible` (C++Std [copyconstructible]) and `Destructible` (C++Std -[destructible]), as well as the additional requirements listed below. - -No constructor, comparison operator, copy operation, move operation, swap -operation, or member functions `context`, `on_work_started`, and -`on_work_finished` on these types shall exit via an exception. - -The executor copy constructor, comparison operators, and other member functions -defined in these requirements shall not introduce data races as a result of -concurrent calls to those functions from different threads. - -Let `ctx` be the execution context returned by the executor's `context()` -member function. An executor becomes ['invalid] when the first call to -`ctx.shutdown()` returns. The effect of calling `on_work_started`, -`on_work_finished`, `dispatch`, `post`, or `defer` on an invalid executor is -undefined. [inline_note The copy constructor, comparison operators, and -`context()` member function continue to remain valid until `ctx` is destroyed.] - -In the table below, `x1` and `x2` denote (possibly const) values of type `X`, -`mx1` denotes an xvalue of type `X`, `f` denotes a `MoveConstructible` (C++Std -[moveconstructible]) function object callable with zero arguments, `a` denotes -a (possibly const) value of type `A` meeting the `Allocator` requirements -(C++Std [allocator.requirements]), and `u` denotes an identifier. - -[table Executor requirements - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [`X u(x1);`] - [] - [Shall not exit via an exception.\n - \n - post: `u == x1` and - `std::addressof(u.context()) == std::addressof(x1.context()).`] - ] - [ - [`X u(mx1);`] - [] - [Shall not exit via an exception.\n - \n - post: `u` equals the prior value of `mx1` and - `std::addressof(u.context())` equals the prior value of - `std::addressof(mx1.context())`.] - ] - [ - [`x1 == x2`] - [`bool`] - [ Returns `true` only if `x1` and `x2` can be interchanged with identical - effects in any of the expressions defined in these type requirements. - [inline_note Returning `false` does not necessarily imply that the effects - are not identical.]\n - \n - `operator==` shall be reflexive, symmetric, and transitive, and shall not - exit via an exception.] - ] - [ - [`x1 != x2`] - [`bool`] - [Same as `!(x1 == x2)`.] - ] - [ - [`x1.context()`] - [`execution_context&`, or `E&` where `E` is a type that satifisfies the - [link asio.reference.ExecutionContext `ExecutionContext`] requirements.] - [Shall not exit via an exception.\n - \n - The comparison operators and member functions defined in these - requirements shall not alter the reference returned by this function.] - ] - [ - [`x1.on_work_started()`] - [] - [Shall not exit via an exception.] - ] - [ - [`x1.on_work_finished()`] - [] - [Shall not exit via an exception.\n - \n - Precondition: A preceding call `x2.on_work_started()` where `x1 == x2`.] - ] - [ - [`x1.dispatch(std::move(f),a)`] - [] - [Effects: Creates an object `f1` initialized with - [^['DECAY_COPY]]`(forward<Func>(f))` (C++Std \[thread.decaycopy\]) in the - current thread of execution . Calls `f1()` at most once. The executor may - block forward progress of the caller until `f1()` finishes execution.\n - \n - Executor implementations should use the supplied allocator to allocate any - memory required to store the function object. Prior to invoking the - function object, the executor shall deallocate any memory allocated. - [inline_note Executors defined in this Technical Specification always use - the supplied allocator unless otherwise specified.]\n - \n - Synchronization: The invocation of `dispatch` synchronizes with (C++Std - \[intro.multithread\]) the invocation of `f1`.] - ] - [ - [`x1.post(std::move(f),a)`\n - `x1.defer(std::move(f),a)`] - [] - [Effects: Creates an object `f1` initialized with - [^['DECAY_COPY]]`(forward<Func>(f))` in the current thread of execution. - Calls `f1()` at most once. The executor shall not block forward progress - of the caller pending completion of `f1()`.\n - \n - Executor implementations should use the supplied allocator to allocate any - memory required to store the function object. Prior to invoking the - function object, the executor shall deallocate any memory allocated. - [inline_note Executors defined in this Technical Specification always use - the supplied allocator unless otherwise specified.]\n - \n - Synchronization: The invocation of `post` or `defer` synchronizes with - (C++Std \[intro.multithread\]) the invocation of `f1`.\n - \n - [inline_note Although the requirements placed on `defer` are identical to - `post`, the use of `post` conveys a preference that the caller ['does not] - block the first step of [^f1]'s progress, whereas `defer` conveys a - preference that the caller ['does] block the first step of [^f1]. One use - of `defer` is to convey the intention of the caller that [^f1] is a - continuation of the current call context. The executor may use this - information to optimize or otherwise adjust the way in which `f1` is - invoked.]] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/GettableSerialPortOption.qbk b/3rdparty/asio/src/doc/requirements/GettableSerialPortOption.qbk deleted file mode 100644 index 8da158da1a4..00000000000 --- a/3rdparty/asio/src/doc/requirements/GettableSerialPortOption.qbk +++ /dev/null @@ -1,33 +0,0 @@ -[/ - / 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:GettableSerialPortOption Gettable serial port option requirements] - -In the table below, `X` denotes a serial port option class, `a` denotes a value -of `X`, `ec` denotes a value of type `error_code`, and `s` denotes a value of -implementation-defined type ['[^storage]] (where ['[^storage]] is the type -`DCB` on Windows and `termios` on __POSIX__ platforms), and `u` denotes an -identifier. - -[table GettableSerialPortOption requirements - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [ - `const `['[^storage]]`& u = s;`\n - `a.load(u, ec);` - ] - [`error_code`] - [ - Retrieves the value of the serial port option from the storage.\n - \n - If successful, sets `ec` such that `!ec` is true. If an error occurred, - sets `ec` such that `!!ec` is true. Returns `ec`. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/GettableSocketOption.qbk b/3rdparty/asio/src/doc/requirements/GettableSocketOption.qbk deleted file mode 100644 index e859a54e599..00000000000 --- a/3rdparty/asio/src/doc/requirements/GettableSocketOption.qbk +++ /dev/null @@ -1,67 +0,0 @@ -[/ - / 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:GettableSocketOption Gettable socket option requirements] - -A type `X` meets the `GettableSocketOption` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a (possibly const) value of type `X`, `b` -denotes a value of type `X`, `p` denotes a (possibly const) value that meets -the [link asio.reference.Protocol `Protocol`] requirements, and `s` denotes a -(possibly const) value of a type that is convertible to `size_t` and denotes a -size in bytes. - -[table GettableSocketOption requirements for extensible implementations - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [`a.level(p)`] - [`int`] - [ - Returns a value suitable for passing as the /level/ argument to __POSIX__ - __getsockopt__ (or equivalent). - ] - ] - [ - [`a.name(p)`] - [`int`] - [ - Returns a value suitable for passing as the /option_name/ argument to - __POSIX__ __getsockopt__ (or equivalent). - ] - ] - [ - [`b.data(p)`] - [`void*`] - [ - Returns a pointer suitable for passing as the /option_value/ argument to - __POSIX__ __getsockopt__ (or equivalent). - ] - ] - [ - [`a.size(p)`] - [`size_t`] - [ - Returns a value suitable for passing as the /option_len/ argument to - __POSIX__ __getsockopt__ (or equivalent), after appropriate - integer conversion has been performed. - ] - ] - [ - [`b.resize(p,s)`] - [] - [ - post: `b.size(p) == s`.\n - Passed the value contained in the /option_len/ argument to __POSIX__ - __getsockopt__ (or equivalent) after successful completion of the - function. Permitted to throw an exception if the socket option object `b` - does not support the specified size. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/Handler.qbk b/3rdparty/asio/src/doc/requirements/Handler.qbk deleted file mode 100644 index 74dcd05494b..00000000000 --- a/3rdparty/asio/src/doc/requirements/Handler.qbk +++ /dev/null @@ -1,64 +0,0 @@ -[/ - / 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:Handler Handlers] - -A handler must meet the requirements of `CopyConstructible` types (C++ Std, -20.1.3). - -In the table below, `X` denotes a handler class, `h` denotes a value of `X`, -`p` denotes a pointer to a block of allocated memory of type `void*`, `s` -denotes the size for a block of allocated memory, and `f` denotes a function -object taking no arguments. - -[table Handler requirements - [[expression] [return type] [assertion/note\npre/post-conditions]] - [ - [`` - using asio::asio_handler_allocate; - asio_handler_allocate(s, &h); - ``] - [`void*`] - [ - Returns a pointer to a block of memory of size `s`. The pointer must - satisfy the same alignment requirements as a pointer returned by - `::operator new()`. Throws `bad_alloc` on failure.\n\n The - `asio_handler_allocate()` function is located using argument-dependent - lookup. The function `asio::asio_handler_allocate()` serves as a - default if no user-supplied function is available. - ] - ] - [ - [`` - using asio::asio_handler_deallocate; - asio_handler_deallocate(p, s, &h); - ``] - [] - [ - Frees a block of memory associated with a pointer `p`, of at least size - `s`, that was previously allocated using `asio_handler_allocate()`.\n\n The - `asio_handler_deallocate()` function is located using argument-dependent - lookup. The function `asio::asio_handler_deallocate()` serves as a - default if no user-supplied function is available. - ] - ] - [ - [`` - using asio::asio_handler_invoke; - asio_handler_invoke(f, &h); - ``] - [] - [ - Causes the function object `f` to be executed as if by calling `f()`.\n\n - The `asio_handler_invoke()` function is located using argument-dependent - lookup. The function `asio::asio_handler_invoke()` serves as a - default if no user-supplied function is available. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/HandshakeHandler.qbk b/3rdparty/asio/src/doc/requirements/HandshakeHandler.qbk deleted file mode 100644 index 98891bfd87d..00000000000 --- a/3rdparty/asio/src/doc/requirements/HandshakeHandler.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:HandshakeHandler SSL handshake handler requirements] - -A handshake handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a handshake handler -class should work correctly in the expression `h(ec)`, where `ec` is an lvalue -of type `const error_code`. - -[heading Examples] - -A free function as a handshake handler: - - void handshake_handler( - const asio::error_code& ec) - { - ... - } - -A handshake handler function object: - - struct handshake_handler - { - ... - void operator()( - const asio::error_code& ec) - { - ... - } - ... - }; - -A lambda as a handshake handler: - - ssl_stream.async_handshake(..., - [](const asio::error_code& ec) - { - ... - }); - -A non-static class member function adapted to a handshake handler using -`std::bind()`: - - void my_class::handshake_handler( - const asio::error_code& ec) - { - ... - } - ... - ssl_stream.async_handshake(..., - std::bind(&my_class::handshake_handler, - this, std::placeholders::_1)); - -A non-static class member function adapted to a handshake handler using -`boost::bind()`: - - void my_class::handshake_handler( - const asio::error_code& ec) - { - ... - } - ... - ssl_stream.async_handshake(..., - boost::bind(&my_class::handshake_handler, - this, asio::placeholders::error)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/InternetProtocol.qbk b/3rdparty/asio/src/doc/requirements/InternetProtocol.qbk deleted file mode 100644 index 70ab668e8b2..00000000000 --- a/3rdparty/asio/src/doc/requirements/InternetProtocol.qbk +++ /dev/null @@ -1,47 +0,0 @@ -[/ - / 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:InternetProtocol Internet protocol requirements] - -A type `X` meets the `InternetProtocol` requirements if it satisfies the -requirements of [link asio.reference.AcceptableProtocol `AcceptableProtocol`], -as well as the additional requirements listed below. - -In the table below, `a` denotes a (possibly const) value of type `X`, and `b` -denotes a (possibly const) value of type `X`. - -[table InternetProtocol requirements - [[expression] [return type] [assertion/note\npre/post-conditions]] - [ - [`X::resolver`] - [`ip::basic_resolver<X>`] - [The type of a resolver for the protocol.] - ] - [ - [`X::v4()`] - [`X`] - [Returns an object representing the IP version 4 protocol.] - ] - [ - [`X::v6()`] - [`X`] - [Returns an object representing the IP version 6 protocol.] - ] - [ - [`a == b`] - [convertible to `bool`] - [Returns `true` if `a` and `b` represent the same IP protocol version, - otherwise `false`.] - ] - [ - [`a != b`] - [convertible to `bool`] - [Returns `!(a == b)`.] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/IoControlCommand.qbk b/3rdparty/asio/src/doc/requirements/IoControlCommand.qbk deleted file mode 100644 index 8809335a4ee..00000000000 --- a/3rdparty/asio/src/doc/requirements/IoControlCommand.qbk +++ /dev/null @@ -1,34 +0,0 @@ -[/ - / 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:IoControlCommand I/O control command requirements] - -A type `X` meets the `IoControlCommand` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a (possibly const) value of type `X`, and `b` -denotes a value of type `X`. - -[table IoControlCommand requirements for extensible implementations - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [`a.name()`] - [`int`] - [ - Returns a value suitable for passing as the /request/ argument to - __POSIX__ __ioctl__ (or equivalent). - ] - ] - [ - [`b.data()`] - [`void*`] - [ - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/IoObjectService.qbk b/3rdparty/asio/src/doc/requirements/IoObjectService.qbk deleted file mode 100644 index 3d3ccc0fb61..00000000000 --- a/3rdparty/asio/src/doc/requirements/IoObjectService.qbk +++ /dev/null @@ -1,62 +0,0 @@ -[/ - / 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] diff --git a/3rdparty/asio/src/doc/requirements/IteratorConnectHandler.qbk b/3rdparty/asio/src/doc/requirements/IteratorConnectHandler.qbk deleted file mode 100644 index db2aee42c28..00000000000 --- a/3rdparty/asio/src/doc/requirements/IteratorConnectHandler.qbk +++ /dev/null @@ -1,81 +0,0 @@ -[/ - / 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:IteratorConnectHandler Iterator connect handler requirements] - -An iterator connect handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of an iterator connect handler -class should work correctly in the expression `h(ec, i)`, where `ec` is an -lvalue of type `const error_code` and `i` is an lvalue of the type `Iterator` -used in the corresponding `connect()` or async_connect()` function. - -[heading Examples] - -A free function as an iterator connect handler: - - void connect_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::iterator iterator) - { - ... - } - -An iterator connect handler function object: - - struct connect_handler - { - ... - template <typename Iterator> - void operator()( - const asio::error_code& ec, - Iterator iterator) - { - ... - } - ... - }; - -A lambda as an iterator connect handler: - - asio::async_connect(..., - [](const asio::error_code& ec, - asio::ip::tcp::resolver::iterator iterator) - { - ... - }); - -A non-static class member function adapted to an iterator connect handler using -`std::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::iterator iterator) - { - ... - } - ... - asio::async_connect(..., - std::bind(&my_class::connect_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to an iterator connect handler using -`boost::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::iterator iterator) - { - ... - } - ... - asio::async_connect(..., - boost::bind(&my_class::connect_handler, - this, asio::placeholders::error, - asio::placeholders::iterator)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/MoveAcceptHandler.qbk b/3rdparty/asio/src/doc/requirements/MoveAcceptHandler.qbk deleted file mode 100644 index d545497fde6..00000000000 --- a/3rdparty/asio/src/doc/requirements/MoveAcceptHandler.qbk +++ /dev/null @@ -1,61 +0,0 @@ -[/ - / 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:MoveAcceptHandler Move accept handler requirements] - -A move accept handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a move accept handler class -should work correctly in the expression `h(ec, s)`, where `ec` is an lvalue of -type `const error_code` and `s` is an lvalue of the nested type -`Protocol::socket` for the type `Protocol` of the socket class template. - -[heading Examples] - -A free function as a move accept handler: - - void accept_handler( - const asio::error_code& ec, asio::ip::tcp::socket s) - { - ... - } - -A move accept handler function object: - - struct accept_handler - { - ... - void operator()( - const asio::error_code& ec, asio::ip::tcp::socket s) - { - ... - } - ... - }; - -A lambda as a move accept handler: - - acceptor.async_accept(..., - [](const asio::error_code& ec, asio::ip::tcp::socket s) - { - ... - }); - -A non-static class member function adapted to a move accept handler using -`std::bind()`: - - void my_class::accept_handler( - const asio::error_code& ec, asio::ip::tcp::socket socket) - { - ... - } - ... - asio::async_accept(..., - std::bind(&my_class::accept_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk b/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk deleted file mode 100644 index 7683a682ec6..00000000000 --- a/3rdparty/asio/src/doc/requirements/MutableBufferSequence.qbk +++ /dev/null @@ -1,56 +0,0 @@ -[/ - / 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] diff --git a/3rdparty/asio/src/doc/requirements/ProtoAllocator.qbk b/3rdparty/asio/src/doc/requirements/ProtoAllocator.qbk deleted file mode 100644 index 2d318f2565f..00000000000 --- a/3rdparty/asio/src/doc/requirements/ProtoAllocator.qbk +++ /dev/null @@ -1,19 +0,0 @@ -[/ - / 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:ProtoAllocator Proto-allocator requirements] - -A type `A` meets the proto-allocator requirements if `A` is `CopyConstructible` -(C++Std [copyconstructible]), `Destructible` (C++Std [destructible]), and -`allocator_traits<A>::rebind_alloc<U>` meets the allocator requirements (C++Std -[allocator.requirements]), where `U` is an object type. [inline_note For -example, `std::allocator<void>` meets the proto-allocator requirements but not -the allocator requirements.] No constructor, comparison operator, copy -operation, move operation, or swap operation on these types shall exit via an -exception. - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/Protocol.qbk b/3rdparty/asio/src/doc/requirements/Protocol.qbk deleted file mode 100644 index 7a55d147fc1..00000000000 --- a/3rdparty/asio/src/doc/requirements/Protocol.qbk +++ /dev/null @@ -1,54 +0,0 @@ -[/ - / 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:Protocol Protocol requirements] - -A type `X` meets the `Protocol` requirements if it satisfies the requirements -of `Destructible` (C++Std [destructible]), `CopyConstructible` (C++Std -[copyconstructible]), and `CopyAssignable` (C++Std [copyassignable]), as well -as the additional requirements listed below. - -[table Protocol requirements - [[expression] [return type] [assertion/note\npre/post-conditions]] - [ - [`X::endpoint`] - [type meeting [link asio.reference.Endpoint endpoint] requirements] - [] - ] -] - -In the table below, `a` denotes a (possibly const) value of type `X`. - -[table Protocol requirements for extensible implementations - [[expression] [return type] [assertion/note\npre/post-conditions]] - [ - [`a.family()`] - [`int`] - [ - Returns a value suitable for passing as the /domain/ argument to - __POSIX__ __socket__ (or equivalent). - ] - ] - [ - [`a.type()`] - [`int`] - [ - Returns a value suitable for passing as the /type/ argument to __POSIX__ - __socket__ (or equivalent). - ] - ] - [ - [`a.protocol()`] - [`int`] - [ - Returns a value suitable for passing as the /protocol/ argument to - __POSIX__ __socket__ (or equivalent). - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/RangeConnectHandler.qbk b/3rdparty/asio/src/doc/requirements/RangeConnectHandler.qbk deleted file mode 100644 index 4300af1003b..00000000000 --- a/3rdparty/asio/src/doc/requirements/RangeConnectHandler.qbk +++ /dev/null @@ -1,82 +0,0 @@ -[/ - / 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:RangeConnectHandler Range connect handler requirements] - -A range connect handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a range connect handler class -should work correctly in the expression `h(ec, ep)`, where `ec` is an lvalue of -type `const error_code` and `ep` is an lvalue of the type `Protocol::endpoint` -for the `Protocol` type in the corresponding `connect()` or async_connect()` -function. - -[heading Examples] - -A free function as a range connect handler: - - void connect_handler( - const asio::error_code& ec, - const asio::ip::tcp::endpoint& endpoint) - { - ... - } - -A range connect handler function object: - - struct connect_handler - { - ... - template <typename Range> - void operator()( - const asio::error_code& ec, - const asio::ip::tcp::endpoint& endpoint) - { - ... - } - ... - }; - -A lambda as a range connect handler: - - asio::async_connect(..., - [](const asio::error_code& ec, - const asio::ip::tcp::endpoint& endpoint) - { - ... - }); - -A non-static class member function adapted to a range connect handler using -`std::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec, - const asio::ip::tcp::endpoint& endpoint) - { - ... - } - ... - asio::async_connect(..., - std::bind(&my_class::connect_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to a range connect handler using -`boost::bind()`: - - void my_class::connect_handler( - const asio::error_code& ec, - const asio::ip::tcp::endpoint& endpoint) - { - ... - } - ... - asio::async_connect(..., - boost::bind(&my_class::connect_handler, - this, asio::placeholders::error, - asio::placeholders::endpoint)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ReadHandler.qbk b/3rdparty/asio/src/doc/requirements/ReadHandler.qbk deleted file mode 100644 index 373af8720e0..00000000000 --- a/3rdparty/asio/src/doc/requirements/ReadHandler.qbk +++ /dev/null @@ -1,79 +0,0 @@ -[/ - / 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:ReadHandler Read handler requirements] - -A read handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a read handler class -should work correctly in the expression `h(ec, s)`, where `ec` is an lvalue of -type `const error_code` and `s` is an lvalue of type `const size_t`. - -[heading Examples] - -A free function as a read handler: - - void read_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - -A read handler function object: - - struct read_handler - { - ... - void operator()( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - }; - -A lambda as a read handler: - - socket.async_read(... - [](const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - }); - -A non-static class member function adapted to a read handler using -`std::bind()`: - - void my_class::read_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - socket.async_read(..., - std::bind(&my_class::read_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to a read handler using -`boost::bind()`: - - void my_class::read_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - socket.async_read(..., - boost::bind(&my_class::read_handler, - this, asio::placeholders::error, - asio::placeholders::bytes_transferred)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ResolveHandler.qbk b/3rdparty/asio/src/doc/requirements/ResolveHandler.qbk deleted file mode 100644 index 0ba93855a75..00000000000 --- a/3rdparty/asio/src/doc/requirements/ResolveHandler.qbk +++ /dev/null @@ -1,82 +0,0 @@ -[/ - / 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:ResolveHandler Resolve handler requirements] - -A resolve handler must meet the requirements for a [link asio.reference.Handler -handler]. A value `h` of a resolve handler class should work correctly in the -expression `h(ec, r)`, where `ec` is an lvalue of type `const error_code` and -`r` is an lvalue of type `const ip::basic_resolver_results<InternetProtocol>`. -`InternetProtocol` is the template parameter of the [link -asio.reference.ip__basic_resolver `ip::basic_resolver<>`] which is used to -initiate the asynchronous operation. - -[heading Examples] - -A free function as a resolve handler: - - void resolve_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::results_type results) - { - ... - } - -A resolve handler function object: - - struct resolve_handler - { - ... - void operator()( - const asio::error_code& ec, - asio::ip::tcp::resolver::results_type results) - { - ... - } - ... - }; - -A lambda as a resolve handler: - - resolver.async_resolve(..., - [](const asio::error_code& ec, - asio::ip::tcp::resolver::results_type results) - { - ... - }); - -A non-static class member function adapted to a resolve handler using -`std::bind()`: - - void my_class::resolve_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::results_type results) - { - ... - } - ... - resolver.async_resolve(..., - std::bind(&my_class::resolve_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to a resolve handler using -`boost::bind()`: - - void my_class::resolve_handler( - const asio::error_code& ec, - asio::ip::tcp::resolver::results_type results) - { - ... - } - ... - resolver.async_resolve(..., - boost::bind(&my_class::resolve_handler, - this, asio::placeholders::error, - asio::placeholders::results)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/Service.qbk b/3rdparty/asio/src/doc/requirements/Service.qbk deleted file mode 100644 index 24a1ae584e4..00000000000 --- a/3rdparty/asio/src/doc/requirements/Service.qbk +++ /dev/null @@ -1,40 +0,0 @@ -[/ - / 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:Service Service requirements] - -A class is a ['service] if it is publicly and unambiguously derived from -`execution_context::service`, or if it is publicly and unambiguously derived -from another service. For a service `S`, `S::key_type` shall be valid and -denote a type (C++Std [temp.deduct]), `is_base_of_v<typename S::key_type, S>` -shall be `true`, and `S` shall satisfy the `Destructible` requirements (C++Std -[destructible]). - -The first parameter of all service constructors shall be an lvalue reference to -`execution_context`. This parameter denotes the `execution_context` object that -represents a set of services, of which the service object will be a member. -[inline_note These constructors may be called by the `make_service` function.] - -A service shall provide an explicit constructor with a single parameter of -lvalue reference to `execution_context`. [inline_note This constructor may be -called by the `use_service` function.] - - class my_service : public execution_context::service - { - public: - typedef my_service key_type; - explicit my_service(execution_context& ctx); - my_service(execution_context& ctx, int some_value); - private: - virtual void shutdown() noexcept override; - ... - }; - -A service's `shutdown` member function shall destroy all copies of user-defined -function objects that are held by the service. - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SettableSerialPortOption.qbk b/3rdparty/asio/src/doc/requirements/SettableSerialPortOption.qbk deleted file mode 100644 index 5cbe5f13e5c..00000000000 --- a/3rdparty/asio/src/doc/requirements/SettableSerialPortOption.qbk +++ /dev/null @@ -1,33 +0,0 @@ -[/ - / 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:SettableSerialPortOption Settable serial port option requirements] - -In the table below, `X` denotes a serial port option class, `a` denotes a value -of `X`, `ec` denotes a value of type `error_code`, and `s` denotes a value of -implementation-defined type ['[^storage]] (where ['[^storage]] is the type -`DCB` on Windows and `termios` on __POSIX__ platforms), and `u` denotes an -identifier. - -[table SettableSerialPortOption requirements - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [ - `const X& u = a;`\n - `u.store(s, ec);` - ] - [`error_code`] - [ - Saves the value of the serial port option to the storage.\n - \n - If successful, sets `ec` such that `!ec` is true. If an error occurred, - sets `ec` such that `!!ec` is true. Returns `ec`. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SettableSocketOption.qbk b/3rdparty/asio/src/doc/requirements/SettableSocketOption.qbk deleted file mode 100644 index 162c0a96325..00000000000 --- a/3rdparty/asio/src/doc/requirements/SettableSocketOption.qbk +++ /dev/null @@ -1,54 +0,0 @@ -[/ - / 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:SettableSocketOption Settable socket option requirements] - -A type `X` meets the `SettableSocketOption` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a (possibly const) value of type `X`, `p` -denotes a (possibly const) value that meets the [link asio.reference.Protocol -`Protocol`] requirements, and `u` denotes an identifier. - -[table SettableSocketOption requirements for extensible implementations - [[expression] [type] [assertion/note\npre/post-conditions]] - [ - [`a.level(p)`] - [`int`] - [ - Returns a value suitable for passing as the /level/ argument to __POSIX__ - __setsockopt__ (or equivalent). - ] - ] - [ - [`a.name(p)`] - [`int`] - [ - Returns a value suitable for passing as the /option_name/ argument to - __POSIX__ __setsockopt__ (or equivalent). - ] - ] - [ - [`a.data(p)`] - [`const void*`] - [ - Returns a pointer suitable for passing as the /option_value/ argument to - __POSIX__ __setsockopt__ (or equivalent). - ] - ] - [ - [`a.size(p)`] - [`size_t`] - [ - Returns a value suitable for passing as the /option_len/ argument to - __POSIX__ __setsockopt__ (or equivalent), after appropriate integer - conversion has been performed. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/ShutdownHandler.qbk b/3rdparty/asio/src/doc/requirements/ShutdownHandler.qbk deleted file mode 100644 index 601c625cb11..00000000000 --- a/3rdparty/asio/src/doc/requirements/ShutdownHandler.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:ShutdownHandler SSL shutdown handler requirements] - -A shutdown handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a shutdown handler -class should work correctly in the expression `h(ec)`, where `ec` is an lvalue -of type `const error_code`. - -[heading Examples] - -A free function as a shutdown handler: - - void shutdown_handler( - const asio::error_code& ec) - { - ... - } - -A shutdown handler function object: - - struct shutdown_handler - { - ... - void operator()( - const asio::error_code& ec) - { - ... - } - ... - }; - -A lambda as a shutdown handler: - - ssl_stream.async_shutdown(..., - [](const asio::error_code& ec) - { - ... - }); - -A non-static class member function adapted to a shutdown handler using -`std::bind()`: - - void my_class::shutdown_handler( - const asio::error_code& ec) - { - ... - } - ... - ssl_stream.async_shutdown( - std::bind(&my_class::shutdown_handler, - this, std::placeholders::_1)); - -A non-static class member function adapted to a shutdown handler using -`boost::bind()`: - - void my_class::shutdown_handler( - const asio::error_code& ec) - { - ... - } - ... - ssl_stream.async_shutdown( - boost::bind(&my_class::shutdown_handler, - this, asio::placeholders::error)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SignalHandler.qbk b/3rdparty/asio/src/doc/requirements/SignalHandler.qbk deleted file mode 100644 index cfd806a8448..00000000000 --- a/3rdparty/asio/src/doc/requirements/SignalHandler.qbk +++ /dev/null @@ -1,79 +0,0 @@ -[/ - / 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:SignalHandler Signal handler requirements] - -A signal handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a signal handler class -should work correctly in the expression `h(ec, n)`, where `ec` is an lvalue of -type `const error_code` and `n` is an lvalue of type `const int`. - -[heading Examples] - -A free function as a signal handler: - - void signal_handler( - const asio::error_code& ec, - int signal_number) - { - ... - } - -A signal handler function object: - - struct signal_handler - { - ... - void operator()( - const asio::error_code& ec, - int signal_number) - { - ... - } - ... - }; - -A lambda as a signal handler: - - my_signal_set.async_wait( - [](const asio::error_code& ec, - int signal_number) - { - ... - }); - -A non-static class member function adapted to a signal handler using -`std::bind()`: - - void my_class::signal_handler( - const asio::error_code& ec, - int signal_number) - { - ... - } - ... - my_signal_set.async_wait( - std::bind(&my_class::signal_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to a signal handler using -`boost::bind()`: - - void my_class::signal_handler( - const asio::error_code& ec, - int signal_number) - { - ... - } - ... - my_signal_set.async_wait( - boost::bind(&my_class::signal_handler, - this, asio::placeholders::error, - asio::placeholders::signal_number)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk b/3rdparty/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk deleted file mode 100644 index 4e960b0a55e..00000000000 --- a/3rdparty/asio/src/doc/requirements/SyncRandomAccessReadDevice.qbk +++ /dev/null @@ -1,49 +0,0 @@ -[/ - / 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:SyncRandomAccessReadDevice Buffer-oriented synchronous random-access -read device requirements] - -In the table below, `a` denotes a synchronous random-access read device object, -`o` denotes an offset of type `boost::uint64_t`, `mb` denotes an object -satisfying [link asio.reference.MutableBufferSequence mutable buffer sequence] -requirements, and `ec` denotes an object of type `error_code`. - -[table Buffer-oriented synchronous random-access read device requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.read_some_at(o, mb);`] - [`size_t`] - [Equivalent to: - `` - error_code ec; - size_t s = a.read_some_at(o, mb, ec); - if (ec) throw system_error(ec); - return s; - ``] - ] - [ - [`a.read_some_at(o, mb, ec);`] - [`size_t`] - [ - Reads one or more bytes of data from the device `a` at offset `o`.\n - \n - The mutable buffer sequence `mb` specifies memory where the data should - be placed. The `read_some_at` operation shall always fill a buffer in the - sequence completely before proceeding to the next.\n - \n - If successful, returns the number of bytes read and sets `ec` such that - `!ec` is true. If an error occurred, returns `0` and sets `ec` such that - `!!ec` is true.\n - \n - If the total size of all buffers in the sequence `mb` is `0`, the - function shall return `0` immediately. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk b/3rdparty/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk deleted file mode 100644 index c7a2686f17b..00000000000 --- a/3rdparty/asio/src/doc/requirements/SyncRandomAccessWriteDevice.qbk +++ /dev/null @@ -1,49 +0,0 @@ -[/ - / 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:SyncRandomAccessWriteDevice Buffer-oriented synchronous random-access -write device requirements] - -In the table below, `a` denotes a synchronous random-access write device -object, `o` denotes an offset of type `boost::uint64_t`, `cb` denotes an object -satisfying [link asio.reference.ConstBufferSequence constant buffer sequence] -requirements, and `ec` denotes an object of type `error_code`. - -[table Buffer-oriented synchronous random-access write device requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.write_some_at(o, cb);`] - [`size_t`] - [Equivalent to: - `` - error_code ec; - size_t s = a.write_some(o, cb, ec); - if (ec) throw system_error(ec); - return s; - ``] - ] - [ - [`a.write_some_at(o, cb, ec);`] - [`size_t`] - [ - Writes one or more bytes of data to the device `a` at offset `o`.\n - \n - The constant buffer sequence `cb` specifies memory where the data to be - written is located. The `write_some_at` operation shall always write a - buffer in the sequence completely before proceeding to the next.\n - \n - If successful, returns the number of bytes written and sets `ec` such - that `!ec` is true. If an error occurred, returns `0` and sets `ec` such - that `!!ec` is true.\n - \n - If the total size of all buffers in the sequence `cb` is `0`, the - function shall return `0` immediately. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SyncReadStream.qbk b/3rdparty/asio/src/doc/requirements/SyncReadStream.qbk deleted file mode 100644 index 48d3c23816d..00000000000 --- a/3rdparty/asio/src/doc/requirements/SyncReadStream.qbk +++ /dev/null @@ -1,41 +0,0 @@ -[/ - / 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:SyncReadStream Buffer-oriented synchronous read stream requirements] - -A type `X` meets the `SyncReadStream` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a value of type `X`, `mb` denotes a (possibly -const) value satisfying the [link asio.reference.MutableBufferSequence -`MutableBufferSequence`] requirements, and `ec` denotes an object of type -`error_code`. - -[table SyncReadStream requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.read_some(mb)`\n - `a.read_some(mb,ec)`] - [`size_t`] - [ - Meets the requirements for a [link asio.reference.read_write_operations - read operation].\n - \n - If `buffer_size(mb) > 0`, reads one or more bytes of data from the stream - `a` into the buffer sequence `mb`. If successful, sets `ec` such that - `!ec` is `true`, and returns the number of bytes read. If an error - occurred, sets `ec` such that `!!ec` is `true`, and returns 0. If all - data has been read from the stream, and the stream performed an orderly - shutdown, sets `ec` to `stream_errc::eof` and returns 0.\n - \n - If `buffer_size(mb) == 0`, the operation shall not block. Sets `ec` such - that `!ec` is `true`, and returns 0. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/SyncWriteStream.qbk b/3rdparty/asio/src/doc/requirements/SyncWriteStream.qbk deleted file mode 100644 index 713050c7552..00000000000 --- a/3rdparty/asio/src/doc/requirements/SyncWriteStream.qbk +++ /dev/null @@ -1,39 +0,0 @@ -[/ - / 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:SyncWriteStream Buffer-oriented synchronous write stream requirements] - -A type `X` meets the `SyncWriteStream` requirements if it satisfies the -requirements listed below. - -In the table below, `a` denotes a value of type `X`, `cb` denotes a (possibly -const) value satisfying the [link asio.reference.ConstBufferSequence -`ConstBufferSequence`] requirements, and `ec` denotes an object of type -`error_code`. - -[table SyncWriteStream requirements - [[operation] [type] [semantics, pre/post-conditions]] - [ - [`a.write_some(cb)`\n - `a.write_some(cb,ec)`] - [`size_t`] - [ - Meets the requirements for a [link asio.reference.read_write_operations - write operation].\n - \n - If `buffer_size(cb) > 0`, writes one or more bytes of data to the stream - `a` from the buffer sequence `cb`. If successful, sets `ec` such that - `!ec` is `true`, and returns the number of bytes written. If an error - occurred, sets `ec` such that `!!ec` is `true`, and returns 0.\n - \n - If `buffer_size(cb) == 0`, the operation shall not block. Sets `ec` such - that `!ec` is `true`, and returns 0. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/TimeTraits.qbk b/3rdparty/asio/src/doc/requirements/TimeTraits.qbk deleted file mode 100644 index edd01b8fd30..00000000000 --- a/3rdparty/asio/src/doc/requirements/TimeTraits.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:TimeTraits Time traits requirements] - -In the table below, `X` denotes a time traits class for time type `Time`, `t`, -`t1`, and `t2` denote values of type `Time`, and `d` denotes a value of type -`X::duration_type`. - -[table TimeTraits requirements - [[expression] [return type] [assertion/note\npre/post-condition]] - [ - [`X::time_type`] - [`Time`] - [ - Represents an absolute time. Must support default construction, and meet - the requirements for `CopyConstructible` and `Assignable`. - ] - ] - [ - [`X::duration_type`] - [] - [ - Represents the difference between two absolute times. Must support - default construction, and meet the requirements for `CopyConstructible` - and `Assignable`. A duration can be positive, negative, or zero. - ] - ] - [ - [`X::now();`] - [`time_type`] - [ - Returns the current time. - ] - ] - [ - [`X::add(t, d);`] - [`time_type`] - [ - Returns a new absolute time resulting from adding the duration `d` to the - absolute time `t`. - ] - ] - [ - [`X::subtract(t1, t2);`] - [`duration_type`] - [ - Returns the duration resulting from subtracting `t2` from `t1`. - ] - ] - [ - [`X::less_than(t1, t2);`] - [`bool`] - [ - Returns whether `t1` is to be treated as less than `t2`. - ] - ] - [ - [`X::to_posix_duration(d);`] - [`date_time::time_duration_type`] - [ - Returns the `date_time::time_duration_type` value that most closely - represents the duration `d`. - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/WaitHandler.qbk b/3rdparty/asio/src/doc/requirements/WaitHandler.qbk deleted file mode 100644 index a7135f07369..00000000000 --- a/3rdparty/asio/src/doc/requirements/WaitHandler.qbk +++ /dev/null @@ -1,72 +0,0 @@ -[/ - / 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:WaitHandler Wait handler requirements] - -A wait handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a wait handler class -should work correctly in the expression `h(ec)`, where `ec` is an lvalue of -type `const error_code`. - -[heading Examples] - -A free function as a wait handler: - - void wait_handler( - const asio::error_code& ec) - { - ... - } - -A wait handler function object: - - struct wait_handler - { - ... - void operator()( - const asio::error_code& ec) - { - ... - } - ... - }; - -A lambda as a wait handler: - - socket.async_wait(..., - [](const asio::error_code& ec) - { - ... - }); - -A non-static class member function adapted to a wait handler using -`std::bind()`: - - void my_class::wait_handler( - const asio::error_code& ec) - { - ... - } - ... - socket.async_wait(..., - std::bind(&my_class::wait_handler, - this, std::placeholders::_1)); - -A non-static class member function adapted to a wait handler using -`boost::bind()`: - - void my_class::wait_handler( - const asio::error_code& ec) - { - ... - } - ... - socket.async_wait(..., - boost::bind(&my_class::wait_handler, - this, asio::placeholders::error)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/WaitTraits.qbk b/3rdparty/asio/src/doc/requirements/WaitTraits.qbk deleted file mode 100644 index 13eb7482879..00000000000 --- a/3rdparty/asio/src/doc/requirements/WaitTraits.qbk +++ /dev/null @@ -1,52 +0,0 @@ -[/ - / 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:WaitTraits Wait traits requirements] - -The `basic_waitable_timer` template uses wait traits to allow programs to -customize `wait` and `async_wait` behavior. -[inline_note Possible uses of wait traits include:\n -[mdash] To enable timers based on non-realtime clocks.\n -[mdash] Determining how quickly wallclock-based timers respond to system time -changes.\n -[mdash] Correcting for errors or rounding timeouts to boundaries.\n -[mdash] Preventing duration overflow. That is, a program may set a timer's -expiry `e` to be `Clock::max()` (meaning never reached) or `Clock::min()` -(meaning always in the past). As a result, computing the duration until timer -expiry as `e - Clock::now()` may cause overflow.] - -For a type `Clock` meeting the `Clock` requirements (C++Std -[time.clock.req]), a type `X` meets the `WaitTraits` requirements if it -satisfies the requirements listed below. - -In the table below, `t` denotes a (possibly const) value of type -`Clock::time_point`; and `d` denotes a (possibly const) value of type -`Clock::duration`. - -[table WaitTraits requirements - [[expression] [return type] [assertion/note\npre/post-condition]] - [ - [`X::to_wait_duration(d)`] - [`Clock::duration`] - [ - Returns a `Clock::duration` value to be used in a `wait` or `async_wait` - operation. [inline_note The return value is typically representative of - the duration `d`.] - ] - ] - [ - [`X::to_wait_duration(t)`] - [`Clock::duration`] - [ - Returns a `Clock::duration` value to be used in a `wait` or `async_wait` - operation. [inline_note The return value is typically representative of - the duration from `Clock::now()` until the time point `t`.] - ] - ] -] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/WriteHandler.qbk b/3rdparty/asio/src/doc/requirements/WriteHandler.qbk deleted file mode 100644 index 29987ad8dd6..00000000000 --- a/3rdparty/asio/src/doc/requirements/WriteHandler.qbk +++ /dev/null @@ -1,79 +0,0 @@ -[/ - / 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:WriteHandler Write handler requirements] - -A write handler must meet the requirements for a [link -asio.reference.Handler handler]. A value `h` of a write handler class -should work correctly in the expression `h(ec, s)`, where `ec` is an lvalue of -type `const error_code` and `s` is an lvalue of type `const size_t`. - -[heading Examples] - -A free function as a write handler: - - void write_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - -A write handler function object: - - struct write_handler - { - ... - void operator()( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - }; - -A lambda as a write handler: - - socket.async_write(... - [](const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - }); - -A non-static class member function adapted to a write handler using -`std::bind()`: - - void my_class::write_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - socket.async_write(..., - std::bind(&my_class::write_handler, - this, std::placeholders::_1, - std::placeholders::_2)); - -A non-static class member function adapted to a write handler using -`boost::bind()`: - - void my_class::write_handler( - const asio::error_code& ec, - std::size_t bytes_transferred) - { - ... - } - ... - socket.async_write(..., - boost::bind(&my_class::write_handler, - this, asio::placeholders::error, - asio::placeholders::bytes_transferred)); - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/asynchronous_operations.qbk b/3rdparty/asio/src/doc/requirements/asynchronous_operations.qbk deleted file mode 100644 index 40ccccf4c55..00000000000 --- a/3rdparty/asio/src/doc/requirements/asynchronous_operations.qbk +++ /dev/null @@ -1,281 +0,0 @@ -[/ - / 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:asynchronous_operations Requirements on asynchronous operations] - -This section uses the names `Alloc1`, `Alloc2`, `alloc1`, `alloc2`, `Args`, -`CompletionHandler`, `completion_handler`, `Executor1`, `Executor2`, `ex1`, -`ex2`, `f`, [^['i]], [^['N]], `Signature`, `token`, [^T[sub ['i]]], [^t[sub -['i]]], `work1`, and `work2` as placeholders for specifying the requirements -below. - -[section General asynchronous operation concepts] - -An ['initiating function] is a function which may be called to start an -asynchronous operation. A ['completion handler] is a function object that will -be invoked, at most once, with the result of the asynchronous operation. - -The lifecycle of an asynchronous operation is comprised of the following events -and phases: - -[mdash] Event 1: The asynchronous operation is started by a call to the -initiating function. - -[mdash] Phase 1: The asynchronous operation is now ['outstanding]. - -[mdash] Event 2: The externally observable side effects of the asynchronous -operation, if any, are fully established. The completion handler is submitted -to an executor. - -[mdash] Phase 2: The asynchronous operation is now ['completed]. - -[mdash] Event 3: The completion handler is called with the result of the -asynchronous operation. - -In this library, all functions with the prefix `async_` are initiating -functions. - -[endsect] - -[section:completion_token Completion tokens and handlers] - -Initiating functions: - -[mdash] are function templates with template parameter `CompletionToken`; - -[mdash] accept, as the final parameter, a ['completion token] object `token` -of type `CompletionToken`; - -[mdash] specify a ['completion signature], which is a call signature (C++Std -[func.def]) `Signature` that determines the arguments to the completion -handler. - -An initiating function determines the type `CompletionHandler` of its -completion handler function object by performing `typename -async_result<decay_t<CompletionToken>, Signature>::completion_handler_type`. -The completion handler object `completion_handler` is initialized with -`forward<CompletionToken>(token)`. [inline_note No other requirements are -placed on the type `CompletionToken`.] - -The type `CompletionHandler` must satisfy the requirements of `Destructible` -(C++Std [destructible]) and `MoveConstructible` (C++Std -[moveconstructible]), and be callable with the specified call signature. - -In this library, all initiating functions specify a ['Completion signature] -element that defines the call signature `Signature`. The ['Completion -signature] elements in this Technical Specification have named parameters, and -the results of an asynchronous operation are specified in terms of these names. - -[endsect] - -[section Automatic deduction of initiating function return type] - -The return type of an initiating function is `typename -async_result<decay_t<CompletionToken>, Signature>::return_type`. - -For the sake of exposition, this library sometimes annotates functions with a -return type ['[^DEDUCED]]. For every function declaration that returns -['[^DEDUCED]], the meaning is equivalent to specifying the return type as -`typename async_result<decay_t<CompletionToken>, Signature>::return_type`. - -[endsect] - -[section Production of initiating function return value] - -An initiating function produces its return type as follows: - -[mdash] constructing an object `result` of type -`async_result<decay_t<CompletionToken>, Signature>`, initialized as -`result(completion_handler)`; and - -[mdash] using `result.get()` as the operand of the return statement. - -\[['Example:] Given an asynchronous operation with ['Completion signature] -`void(R1 r1, R2 r2)`, an initiating function meeting these requirements may be -implemented as follows: - - template<class CompletionToken> - auto async_xyz(T1 t1, T2 t2, CompletionToken&& token) - { - typename async_result<decay_t<CompletionToken>, void(R1, R2)>::completion_handler_type - completion_handler(forward<CompletionToken>(token)); - - async_result<decay_t<CompletionToken>, void(R1, R2)> result(completion_handler); - - // initiate the operation and cause completion_handler to be invoked with - // the result - - return result.get(); - } - -For convenience, initiating functions may be implemented using the -`async_completion` template: - - template<class CompletionToken> - auto async_xyz(T1 t1, T2 t2, CompletionToken&& token) - { - async_completion<CompletionToken, void(R1, R2)> init(token); - - // initiate the operation and cause init.completion_handler to be invoked - // with the result - - return init.result.get(); - } - -'''—'''['end example]\] - -[endsect] - -[section Lifetime of initiating function arguments] - -Unless otherwise specified, the lifetime of arguments to initiating functions -shall be treated as follows: - -[mdash] If the parameter has a pointer type or has a type of lvalue reference -to non-const, the implementation may assume the validity of the pointee or -referent, respectively, until the completion handler is invoked. [inline_note -In other words, the program must guarantee the validity of the argument until -the completion handler is invoked.] - -[mdash] Otherwise, the implementation must not assume the validity of the -argument after the initiating function completes. [inline_note In other words, -the program is not required to guarantee the validity of the argument after the -initiating function completes.] The implementation may make copies of the -argument, and all copies shall be destroyed no later than immediately after -invocation of the completion handler. - -[endsect] - -[section Non-blocking requirements on initiating functions] - -An initiating function shall not block (C++Std [defns.block]) the calling -thread pending completion of the outstanding operation. - -[std_note Initiating functions may still block the calling thread for other -reasons. For example, an initiating function may lock a mutex in order to -synchronize access to shared data.] - -[endsect] - -[section Associated executor] - -Certain objects that participate in asynchronous operations have an -['associated executor]. These are obtained as specified below. - -[endsect] - -[section I/O executor] - -An asynchronous operation has an associated executor satisfying the [link -asio.reference.Executor1 `Executor`] requirements. If not otherwise specified by -the asynchronous operation, this associated executor is an object of type -`system_executor`. - -All asynchronous operations in this library have an associated executor object -that is determined as follows: - -[mdash] If the initiating function is a member function, the associated -executor is that returned by the `get_executor` member function on the same -object. - -[mdash] If the initiating function is not a member function, the associated -executor is that returned by the `get_executor` member function of the first -argument to the initiating function. - -Let `Executor1` be the type of the associated executor. Let `ex1` be a value of -type `Executor1`, representing the associated executor object obtained as -described above. - -[endsect] - -[section Completion handler executor] - -A completion handler object of type `CompletionHandler` has an associated -executor of type `Executor2` satisfying the [link asio.reference.Executor1 -Executor requirements]. The type `Executor2` is -`associated_executor_t<CompletionHandler, Executor1>`. Let `ex2` be a value of -type `Executor2` obtained by performing -`get_associated_executor(completion_handler, ex1)`. - -[endsect] - -[section Outstanding work] - -Until the asynchronous operation has completed, the asynchronous operation -shall maintain: - -[mdash] an object `work1` of type `executor_work_guard<Executor1>`, initialized -as `work1(ex1)`, and where `work1.owns_work() == true`; and - -[mdash] an object `work2` of type `executor_work_guard<Executor2>`, initialized -as `work2(ex2)`, and where `work2.owns_work() == true`. - -[endsect] - -[section Allocation of intermediate storage] - -Asynchronous operations may allocate memory. [inline_note Such as a data -structure to store copies of the `completion_handler` object and the initiating -function's arguments.] - -Let `Alloc1` be a type, satisfying the [link asio.reference.ProtoAllocator -`ProtoAllocator`] requirements, that represents the asynchronous operation's -default allocation strategy. [inline_note Typically `std::allocator<void>`.] -Let `alloc1` be a value of type `Alloc1`. - -A completion handler object of type `CompletionHandler` has an associated -allocator object `alloc2` of type `Alloc2` satisfying the [link -asio.reference.ProtoAllocator `ProtoAllocator`] requirements. The type `Alloc2` -is `associated_allocator_t<CompletionHandler, Alloc1>`. Let `alloc2` be a value -of type `Alloc2` obtained by performing -`get_associated_allocator(completion_handler, alloc1)`. - -The asynchronous operations defined in this library: - -[mdash] If required, allocate memory using only the completion handler's -associated allocator. - -[mdash] Prior to completion handler execution, deallocate any memory allocated -using the completion handler's associated allocator. - -[std_note The implementation may perform operating system or underlying API -calls that perform memory allocations not using the associated allocator. -Invocations of the allocator functions may not introduce data races (See C++Std -\[res.on.data.races\]).] - -[endsect] - -[section Execution of completion handler on completion of asynchronous operation] - -Let `Args...` be the argument types of the completion signature `Signature` and -let [^['N]] be `sizeof...(Args)`. Let [^['i]] be in the range [half_open_range -`0`,[^['N]]]. Let [^T[sub ['i]]] be the [^['i]]th type in `Args...` and let -[^t[sub ['i]]] be the [^['i]]th completion handler argument associated with -[^T[sub ['i]]]. - -Let `f` be a function object, callable as `f()`, that invokes -`completion_handler` as if by [^completion_handler(forward<T[sub ['0]]>(t[sub -['0]]), ..., forward<T[sub ['N-1]]>(t[sub ['N-1]]))]. - -If an asynchonous operation completes immediately (that is, within the thread -of execution calling the initiating function, and before the initiating -function returns), the completion handler shall be submitted for execution as -if by performing `ex2.post(std::move(f), alloc2)`. Otherwise, the completion -handler shall be submitted for execution as if by performing -`ex2.dispatch(std::move(f), alloc2)`. - -[endsect] - -[section Completion handlers and exceptions] - -Completion handlers are permitted to throw exceptions. The effect of any -exception propagated from the execution of a completion handler is determined -by the executor which is executing the completion handler. - -[endsect] - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/asynchronous_socket_operations.qbk b/3rdparty/asio/src/doc/requirements/asynchronous_socket_operations.qbk deleted file mode 100644 index c0555286176..00000000000 --- a/3rdparty/asio/src/doc/requirements/asynchronous_socket_operations.qbk +++ /dev/null @@ -1,39 +0,0 @@ -[/ - / 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:asynchronous_socket_operations Requirements on asynchronous socket operations] - -In this library, ['asynchronous socket operations] are those member functions -having prefix `async_`. - -For an object `s`, a program may initiate asynchronous socket operations such -that there are multiple simultaneously outstanding asynchronous operations. - -When there are multiple outstanding asynchronous [link -asio.reference.read_write_operations read operations] on `s`: - -[mdash] having no argument `flags` of type `socket_base::message_flags`, or - -[mdash] having an argument `flags` of type `socket_base::message_flags` but -where `(flags & socket_base::message_out_of_band) == 0` - -then the `buffers` are filled in the order in which these operations were -issued. The order of invocation of the completion handlers for these operations -is unspecified. - -When there are multiple outstanding asynchronous [link -asio.reference.read_write_operations read operations] on `s` having an argument -`flags` of type `socket_base::message_flags` where `(flags & -socket_base::message_out_of_band) != 0` then the `buffers` are filled in the -order in which these operations were issued. - -When there are multiple outstanding asynchronous [link -asio.reference.read_write_operations write operations] on `s`, the `buffers` -are transmitted in the order in which these operations were issued. The order -of invocation of the completion handlers for these operations is unspecified. - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/read_write_operations.qbk b/3rdparty/asio/src/doc/requirements/read_write_operations.qbk deleted file mode 100644 index d7185a9beaf..00000000000 --- a/3rdparty/asio/src/doc/requirements/read_write_operations.qbk +++ /dev/null @@ -1,34 +0,0 @@ -[/ - / 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:read_write_operations Requirements on read and write operations] - -A ['read operation] is an operation that reads data into a mutable buffer -sequence argument of a type meeting [link asio.reference.MutableBufferSequence -`MutableBufferSequence`] requirements. The mutable buffer sequence specifies -memory where the data should be placed. A read operation shall always fill a -buffer in the sequence completely before proceeding to the next. - -A ['write operation] is an operation that writes data from a constant buffer -sequence argument of a type meeting [link asio.reference.ConstBufferSequence -`ConstBufferSequence`] requirements. The constant buffer sequence specifies -memory where the data to be written is located. A write operation shall always -write a buffer in the sequence completely before proceeding to the next. - -If a read or write operation is also an [link -asio.reference.asynchronous_operations asynchronous operation], the operation -shall maintain one or more copies of the buffer sequence until such time as the -operation no longer requires access to the memory specified by the buffers in -the sequence. The program shall ensure the memory remains valid until: - -[mdash] the last copy of the buffer sequence is destroyed, or - -[mdash] the completion handler for the asynchronous operation is invoked, - -whichever comes first. - -[endsect] diff --git a/3rdparty/asio/src/doc/requirements/synchronous_socket_operations.qbk b/3rdparty/asio/src/doc/requirements/synchronous_socket_operations.qbk deleted file mode 100644 index e6d52505c08..00000000000 --- a/3rdparty/asio/src/doc/requirements/synchronous_socket_operations.qbk +++ /dev/null @@ -1,37 +0,0 @@ -[/ - / 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:synchronous_socket_operations Requirements on synchronous socket operations] - -In this section, ['synchronous socket operations] are those member functions -specified as two overloads, with and without an argument of type `error_code&`: - - ``[*['R f]]``(``['[*A1]]`` a1, ``['[*A2]]`` a2, ..., ``['[*AN]]`` aN); - ``[*['R f]]``(``['[*A1]]`` a1, ``['[*A2]]`` a2, ..., ``['[*AN]]`` aN, error_code& ec); - -For an object `s`, the conditions under which its synchronous socket operations -may block the calling thread (C++Std [defns.block]) are determined as follows. - -If: - -[mdash] `s.non_blocking() == true`, - -[mdash] the synchronous socket operation is specified in terms of a __POSIX__ -function other than `__poll__`, - -[mdash] that __POSIX__ function lists `EWOULDBLOCK` or `EAGAIN` -in its failure conditions, and - -[mdash] the effects of the operation cannot be established immediately - -then the synchronous socket operation shall not block the calling thread. -[inline_note And the effects of the operation are not established.] - -Otherwise, the synchronous socket operation shall block the calling thread -until the effects are established. - -[endsect] |