Commit Graph

2704 Commits

Author SHA1 Message Date
Christopher Kohlhoff
284a11bb0d Add missing sender traits and connect() member to thread_pool executor. 2020-07-23 21:48:33 +10:00
Christopher Kohlhoff
2e2d26c987 Add standard executor support to windows::overlapped_ptr. 2020-07-23 21:48:33 +10:00
Christopher Kohlhoff
e8459ab3f4 Fix compatibility with clang-cl. 2020-07-23 21:48:33 +10:00
Christopher Kohlhoff
72d59a5c7e Add missing noexcept to basic_socket_acceptor move constructor. 2020-07-23 21:48:33 +10:00
Christopher Kohlhoff
1ddbd7062d Fix mismatched comments. 2020-07-23 21:48:33 +10:00
Christopher Kohlhoff
7f29e0a88b Fix namespace boostification for coroutine_traits specialisation. 2020-07-23 12:38:49 +10:00
Christopher Kohlhoff
b956b35379 Destroy the awaitable's frame as the result is consumed.
This change works around a gcc 10 bug, where the temporary awaitable
object being awaited is not destroyed if the co_await resumes with an
exception.
2020-07-23 12:23:57 +10:00
Christopher Kohlhoff
61e62436ea Ensure traits specialisations are correctly enabled for the bulk_execute adapter. 2020-07-23 11:27:13 +10:00
Christopher Kohlhoff
ee5fd63b6e Pass receiver as a non-const lvalue when move support is unavailable. 2020-07-23 11:13:47 +10:00
Christopher Kohlhoff
ad7209706d No longer need to forward declare the io_context implementation. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
12b3c601c9 Remove unused variable. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
297f23355d Fix uninitialised variable. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
9b192cc251 Increase minimum gcc version required for SFINAEd variable templates. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
265a46fe3a Update MinGW makefile. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
633e5557ca Add MinGW builds to appveyor. 2020-07-22 16:11:02 +10:00
Christopher Kohlhoff
efff0de899 asio version 1.17.0 released 2020-07-10 15:30:58 +10:00
Christopher Kohlhoff
a52696f75f Add missing variadic pack expansion. 2020-07-10 12:54:31 +10:00
Christopher Kohlhoff
4cd319f7c8 Revision history. 2020-07-10 09:46:38 +10:00
Christopher Kohlhoff
c709f0a19d Ensure [[nodiscard]] is enabled only for C++17 or later. 2020-07-10 09:39:21 +10:00
Christopher Kohlhoff
babcd88c1c Add any_io_executor to ts/executor.hpp. 2020-07-09 23:34:46 +10:00
Christopher Kohlhoff
7232d6be81 Bump minimum gcc version for ASIO_HAS_VARIABLE_TEMPLATES.
Require gcc 6 or later for C++14 variable templates, as gcc 5
has a bug when they are used as dependent names.
2020-07-09 12:27:42 +10:00
Christopher Kohlhoff
b51d05a964 Add missing header files. 2020-07-09 12:23:36 +10:00
Christopher Kohlhoff
f93805221b Include handlerlive.pl and handlertree.pl in distribution. 2020-07-09 12:23:36 +10:00
Christopher Kohlhoff
468c6ff5be Replace identical helper structs with void_type. 2020-07-07 12:13:47 +10:00
Christopher Kohlhoff
6a6c881821 Use separate name as function overloading isn't needed here. 2020-07-07 09:09:04 +10:00
Christopher Kohlhoff
2f725df507 Regenerate documentation. 2020-07-06 23:50:27 +10:00
Christopher Kohlhoff
7b4fbe1325 Older compilers need executor destructors to be marked noexcept. 2020-07-06 23:50:23 +10:00
Christopher Kohlhoff
b1d0135aad Fix documentation of execution::can_schedule trait. 2020-07-06 23:50:23 +10:00
Christopher Kohlhoff
6f08796bc0 Fix documentation of execution::is_executor_of trait. 2020-07-06 23:50:23 +10:00
Christopher Kohlhoff
d65616c774 Add new execution facilities to quick reference. 2020-07-06 23:50:23 +10:00
Christopher Kohlhoff
c717c01178 More documentation generation tweaks for new execution facilities. 2020-07-06 23:50:23 +10:00
Christopher Kohlhoff
6ff3792b2a Rename the customisation point traits X_result_type to X_result.
For consistency with std::invoke_result, drop the _type suffix from all
traits that deduce the result type of a customisation point expression.
2020-07-06 18:18:41 +10:00
Christopher Kohlhoff
fd0d867873 Add documentation for execution concepts. 2020-07-06 18:18:41 +10:00
Christopher Kohlhoff
6e7aa85114 Add support for native I/O executor detection with any_executor. 2020-07-05 22:26:23 +10:00
Christopher Kohlhoff
2ba0da923f Reduce async op memory usage for handlers without a custom executor. 2020-07-05 22:26:23 +10:00
Christopher Kohlhoff
dc54496606 Older MSVC needs an explicit move constructor. 2020-07-05 13:13:03 +10:00
Christopher Kohlhoff
1fff3cac15 Mark query, prefer, require, and require_concept as [[nodiscard]]. 2020-07-05 12:24:00 +10:00
Christopher Kohlhoff
a1ddf0c7cb Test any_executor construction and assignment with large targets. 2020-07-05 11:43:11 +10:00
Christopher Kohlhoff
e44586a492 Use the execution::execute() customisation point for any_executor's target. 2020-07-04 10:46:03 +10:00
Christopher Kohlhoff
587a5305f8 Add missing adapter support to execution::bulk_execute() customisation point. 2020-07-04 01:15:12 +10:00
Christopher Kohlhoff
3ed9ae7cc4 Fix adapter support in execution::execute() customisation point. 2020-07-03 20:17:17 +10:00
Christopher Kohlhoff
10310a0837 Add missing member and non-member swap to any_executor. 2020-07-03 18:25:54 +10:00
Christopher Kohlhoff
f3ab26338e Add missing equality/inequality operators to any_executor. 2020-07-03 15:30:56 +10:00
Christopher Kohlhoff
f2434b2373 Add missing any_executor constructor/assignment overloads. 2020-07-03 13:24:24 +10:00
Christopher Kohlhoff
1b3229507f Initialise destination's target when copying/moving from an empty any_executor. 2020-07-03 12:52:16 +10:00
Christopher Kohlhoff
d80175ab62 Fix C++14 detection when clang is used. 2020-07-03 08:44:32 +10:00
Christopher Kohlhoff
dcaa5588fc Ensure co_spawn compiles when ASIO_NO_TS_EXECUTORS is defined. 2020-07-03 08:43:36 +10:00
Christopher Kohlhoff
a975aec304 Simplify overloads in any_executor's query() backend. 2020-07-02 19:26:06 +10:00
Christopher Kohlhoff
f228ad470e Fix ASIO_NO_EXCEPTIONS support. 2020-07-02 19:01:47 +10:00
Christopher Kohlhoff
2bf9f7467c Suppress conversion warning with MSVC. 2020-07-02 18:55:00 +10:00