passenger 6.0.20 → 6.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +41 -1
  3. data/CONTRIBUTORS +2 -0
  4. data/README.md +2 -2
  5. data/bin/passenger-install-nginx-module +4 -4
  6. data/build/support/cxx_dependency_map.rb +155 -54
  7. data/dev/copy_boost_headers +21 -7
  8. data/dev/nginx_version_sha256 +72 -0
  9. data/src/agent/AgentMain.cpp +2 -8
  10. data/src/agent/Core/AdminPanelConnector.h +2 -3
  11. data/src/agent/Core/ApiServer.h +1 -1
  12. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
  13. data/src/agent/Core/Config.h +6 -3
  14. data/src/agent/Core/Controller/AppResponse.h +0 -1
  15. data/src/agent/Core/Controller/Config.h +2 -2
  16. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  17. data/src/agent/Core/CoreMain.cpp +1 -0
  18. data/src/agent/Core/ResponseCache.h +3 -2
  19. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  20. data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
  21. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  22. data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
  23. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
  24. data/src/agent/MainFunctions.h +38 -0
  25. data/src/agent/Shared/ApiServerUtils.h +3 -2
  26. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  27. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
  28. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
  29. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
  30. data/src/agent/Watchdog/ApiServer.h +1 -1
  31. data/src/agent/Watchdog/Config.h +1 -1
  32. data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
  33. data/src/apache2_module/Hooks.cpp +26 -1
  34. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  35. data/src/cxx_supportlib/Constants.h +1 -1
  36. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  37. data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
  38. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
  39. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  40. data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
  41. data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
  42. data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
  43. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
  44. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
  45. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
  46. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  47. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  48. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  49. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
  50. data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
  51. data/src/cxx_supportlib/ServerKit/Context.h +6 -0
  52. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  53. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +96 -64
  54. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
  55. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  56. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  57. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  58. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  59. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  60. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  61. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  62. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  63. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  64. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  65. data/src/cxx_supportlib/StaticString.h +3 -1
  66. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  67. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
  68. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
  69. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  70. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
  71. data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
  72. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
  73. data/src/cxx_supportlib/Utils.cpp +1 -1
  74. data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
  75. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +61 -62
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +28 -46
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +19 -22
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +106 -153
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +75 -294
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +26 -39
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +32 -48
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +26 -39
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +53 -272
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +22 -26
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +2 -3
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +91 -975
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +4 -4
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +5 -6
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +73 -127
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +32 -11
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +2 -2
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +56 -101
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -3
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +3 -4
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +12 -44
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +9 -9
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +3 -4
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +3 -4
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +2 -2
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +21 -26
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +229 -1019
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +55 -33
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -2
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +20 -20
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +39 -30
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +16 -17
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +3 -2
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +14 -20
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +62 -137
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +44 -36
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +32 -41
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +36 -420
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +205 -421
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +1 -1
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +77 -423
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +25 -34
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +4 -4
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +4 -4
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +21 -26
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +10 -21
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +1 -27
  618. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
  619. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
  620. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
  621. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1 -1
  622. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
  623. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
  624. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
  625. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  626. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
  627. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
  628. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -61
  633. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -1740
  634. data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
  635. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  636. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  637. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  638. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  639. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
  640. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
  641. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
  642. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
  643. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  644. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +1 -1
  645. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
  646. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
  647. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
  648. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  649. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
  650. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  651. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
  652. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  653. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +3 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -0
  656. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
  657. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +4 -0
  658. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
  659. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
  662. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
  663. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
  664. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  668. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
  669. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
  670. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  671. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  672. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
  673. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +40 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
  675. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
  676. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
  677. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +112 -112
  678. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
  679. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  680. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +10 -10
  681. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
  682. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
  683. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
  684. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +6 -6
  685. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
  686. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
  687. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
  688. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
  689. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
  690. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
  691. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
  692. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  693. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +77 -77
  694. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  695. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +44 -1
  696. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
  697. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
  698. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
  699. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
  700. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
  701. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
  702. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
  703. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +18 -8
  704. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
  705. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  706. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
  707. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
  708. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
  709. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
  710. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
  711. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
  712. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
  713. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
  714. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
  716. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +84 -86
  717. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
  718. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
  719. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
  720. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
  721. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
  722. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -41
  723. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
  724. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
  725. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
  726. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
  727. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
  729. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
  730. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
  734. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
  736. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
  737. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  738. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
  739. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
  740. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
  741. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +2 -2
  742. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
  743. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
  744. data/src/cxx_supportlib/vendor-modified/boost/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
  745. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
  746. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +1 -1
  747. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
  748. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
  749. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
  750. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +1 -1
  751. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
  752. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  753. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  754. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  755. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  756. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  757. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  758. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  759. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  760. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  762. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  763. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +21 -166
  764. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  765. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
  766. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  767. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
  768. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
  769. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
  770. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
  771. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
  772. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
  773. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
  774. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
  775. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +2 -2
  776. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
  777. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
  778. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  779. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  780. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
  781. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  782. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
  783. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  784. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  785. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
  786. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  787. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
  789. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -21
  790. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  791. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
  792. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  793. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
  794. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
  795. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
  796. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  797. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  798. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  799. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -21
  800. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  801. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
  802. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
  803. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +32 -1
  804. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
  805. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
  806. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +56 -57
  807. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  809. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
  811. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
  812. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
  813. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
  814. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
  815. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +60 -61
  816. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
  817. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
  818. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
  819. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
  820. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
  821. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
  822. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
  823. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
  824. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
  825. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  826. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
  827. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +611 -633
  828. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
  829. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
  830. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
  831. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  832. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  833. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
  834. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
  835. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
  836. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -30
  837. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  838. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  839. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  840. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
  841. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  842. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +1 -0
  843. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
  844. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
  845. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
  846. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
  847. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
  848. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
  849. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  851. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
  852. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  853. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
  854. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  855. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +67 -17
  856. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
  857. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
  858. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
  859. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
  860. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
  861. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
  862. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
  863. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
  864. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
  865. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  866. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
  867. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +2 -1
  868. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  869. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
  870. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  871. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  872. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  873. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
  875. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  876. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
  877. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
  878. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  879. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
  880. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
  881. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  882. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -87
  883. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  884. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  885. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  886. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  887. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  888. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  889. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  890. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
  891. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
  892. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  893. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
  894. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -8
  895. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
  896. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -57
  897. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
  898. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -124
  899. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
  900. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
  901. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
  902. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
  903. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
  904. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +8 -1
  905. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
  906. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +5 -9
  907. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
  908. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
  909. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
  910. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
  911. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  913. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  914. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  915. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  916. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  917. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  918. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  919. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  920. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  921. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  922. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  923. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  924. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
  925. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  926. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  927. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
  928. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  929. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
  931. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
  932. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
  933. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  934. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
  935. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  937. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  938. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  939. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
  940. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  941. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  942. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  943. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  944. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +2 -54
  945. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  946. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  947. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  948. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  949. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  950. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  951. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -12
  952. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  953. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  954. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  955. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  956. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  957. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  958. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  959. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  960. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  961. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  962. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -203
  963. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
  964. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
  965. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
  966. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  971. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
  972. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +531 -91
  973. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
  974. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
  975. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
  976. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
  977. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
  978. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
  979. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +150 -55
  981. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
  982. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
  983. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
  984. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  985. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +95 -144
  986. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  987. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  988. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  991. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +123 -19
  993. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
  994. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +65 -46
  995. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
  996. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
  997. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
  998. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
  999. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
  1000. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
  1001. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
  1002. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
  1003. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
  1004. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
  1005. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
  1006. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  1007. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
  1008. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1009. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  1010. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
  1011. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
  1012. data/src/helper-scripts/wsgi-loader.py +2 -2
  1013. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  1014. data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
  1015. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  1016. data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
  1017. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
  1018. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
  1019. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
  1020. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
  1021. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
  1022. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  1023. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
  1024. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
  1025. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  1026. metadata +50 -149
  1027. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
  1028. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
  1029. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
  1030. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -91
  1031. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  1032. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  1033. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  1034. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  1035. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
  1036. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  1037. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  1038. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  1039. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
  1040. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
  1041. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
  1042. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
  1043. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
  1044. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
  1045. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
  1046. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
  1047. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
  1048. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
  1049. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
  1050. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
  1051. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
  1052. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
  1053. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
  1054. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
  1055. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
  1056. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
  1057. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
  1058. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
  1059. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
  1060. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
  1061. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
  1062. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
  1063. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
  1064. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
  1065. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
  1066. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
  1067. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
  1068. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
  1069. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
  1070. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
  1071. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
  1072. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
  1073. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
  1074. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
  1075. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
  1076. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
  1077. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
  1078. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
  1079. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
  1080. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
  1081. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
  1082. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
  1083. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
  1084. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
  1085. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
  1086. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
  1087. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
  1088. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
  1089. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
  1090. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
  1091. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
  1092. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
  1093. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
  1094. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
  1095. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  1096. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  1097. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  1098. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/is_same.hpp +0 -36
  1099. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
  1100. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  1101. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  1102. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  1103. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -476
  1104. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
  1105. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
  1106. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
  1107. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1108. data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
  1109. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  1110. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  1111. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  1112. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -27
  1113. data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
  1114. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  1115. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  1116. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  1117. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  1118. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  1119. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  1120. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  1121. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  1122. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  1123. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  1124. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  1125. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  1126. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  1127. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  1128. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  1129. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  1130. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  1131. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  1132. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  1133. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  1134. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  1135. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  1136. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  1137. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  1138. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  1139. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  1140. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  1141. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  1142. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  1143. data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
  1144. data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
  1145. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  1146. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
  1147. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  1148. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  1149. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  1150. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  1151. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  1152. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  1153. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  1154. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  1155. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  1156. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  1157. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  1158. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  1159. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  1160. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  1161. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  1162. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
  1163. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  1164. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  1165. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  1166. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  1167. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  1168. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  1169. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -150
  1170. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
  1171. /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
@@ -2,7 +2,7 @@
2
2
  // async_result.hpp
3
3
  // ~~~~~~~~~~~~~~~~
4
4
  //
5
- // Copyright (c) 2003-2023 Christopher M. Kohlhoff (chris at kohlhoff dot com)
5
+ // Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com)
6
6
  //
7
7
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
8
8
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -17,16 +17,13 @@
17
17
 
18
18
  #include <boost/asio/detail/config.hpp>
19
19
  #include <boost/asio/detail/type_traits.hpp>
20
- #include <boost/asio/detail/variadic_templates.hpp>
21
20
 
22
21
  #include <boost/asio/detail/push_options.hpp>
23
22
 
24
23
  namespace boost {
25
24
  namespace asio {
26
25
 
27
- #if defined(BOOST_ASIO_HAS_CONCEPTS) \
28
- && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) \
29
- && defined(BOOST_ASIO_HAS_DECLTYPE)
26
+ #if defined(BOOST_ASIO_HAS_CONCEPTS)
30
27
 
31
28
  namespace detail {
32
29
 
@@ -40,8 +37,6 @@ struct is_completion_signature<R(Args...)> : true_type
40
37
  {
41
38
  };
42
39
 
43
- #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
44
-
45
40
  template <typename R, typename... Args>
46
41
  struct is_completion_signature<R(Args...) &> : true_type
47
42
  {
@@ -70,7 +65,6 @@ struct is_completion_signature<R(Args...) && noexcept> : true_type
70
65
  };
71
66
 
72
67
  # endif // defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
73
- #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
74
68
 
75
69
  template <typename... T>
76
70
  struct are_completion_signatures : false_type
@@ -104,21 +98,19 @@ struct is_completion_handler_for : false_type
104
98
 
105
99
  template <typename T, typename R, typename... Args>
106
100
  struct is_completion_handler_for<T, R(Args...)>
107
- : integral_constant<bool, (callable_with<T, Args...>)>
101
+ : integral_constant<bool, (callable_with<decay_t<T>, Args...>)>
108
102
  {
109
103
  };
110
104
 
111
- #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
112
-
113
105
  template <typename T, typename R, typename... Args>
114
106
  struct is_completion_handler_for<T, R(Args...) &>
115
- : integral_constant<bool, (callable_with<T&, Args...>)>
107
+ : integral_constant<bool, (callable_with<decay_t<T>&, Args...>)>
116
108
  {
117
109
  };
118
110
 
119
111
  template <typename T, typename R, typename... Args>
120
112
  struct is_completion_handler_for<T, R(Args...) &&>
121
- : integral_constant<bool, (callable_with<T&&, Args...>)>
113
+ : integral_constant<bool, (callable_with<decay_t<T>&&, Args...>)>
122
114
  {
123
115
  };
124
116
 
@@ -126,24 +118,23 @@ struct is_completion_handler_for<T, R(Args...) &&>
126
118
 
127
119
  template <typename T, typename R, typename... Args>
128
120
  struct is_completion_handler_for<T, R(Args...) noexcept>
129
- : integral_constant<bool, (callable_with<T, Args...>)>
121
+ : integral_constant<bool, (callable_with<decay_t<T>, Args...>)>
130
122
  {
131
123
  };
132
124
 
133
125
  template <typename T, typename R, typename... Args>
134
126
  struct is_completion_handler_for<T, R(Args...) & noexcept>
135
- : integral_constant<bool, (callable_with<T&, Args...>)>
127
+ : integral_constant<bool, (callable_with<decay_t<T>&, Args...>)>
136
128
  {
137
129
  };
138
130
 
139
131
  template <typename T, typename R, typename... Args>
140
132
  struct is_completion_handler_for<T, R(Args...) && noexcept>
141
- : integral_constant<bool, (callable_with<T&&, Args...>)>
133
+ : integral_constant<bool, (callable_with<decay_t<T>&&, Args...>)>
142
134
  {
143
135
  };
144
136
 
145
137
  # endif // defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
146
- #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
147
138
 
148
139
  template <typename T, typename Signature0, typename... SignatureN>
149
140
  struct is_completion_handler_for<T, Signature0, SignatureN...>
@@ -175,8 +166,6 @@ BOOST_ASIO_CONCEPT completion_handler_for =
175
166
  ::boost::asio::completion_handler_for<sig0, sig1, sig2>
176
167
 
177
168
  #else // defined(BOOST_ASIO_HAS_CONCEPTS)
178
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
179
- // && defined(BOOST_ASIO_HAS_DECLTYPE)
180
169
 
181
170
  #define BOOST_ASIO_COMPLETION_SIGNATURE typename
182
171
  #define BOOST_ASIO_COMPLETION_HANDLER_FOR(sig) typename
@@ -184,277 +173,130 @@ BOOST_ASIO_CONCEPT completion_handler_for =
184
173
  #define BOOST_ASIO_COMPLETION_HANDLER_FOR3(sig0, sig1, sig2) typename
185
174
 
186
175
  #endif // defined(BOOST_ASIO_HAS_CONCEPTS)
187
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
188
- // && defined(BOOST_ASIO_HAS_DECLTYPE)
189
176
 
190
177
  namespace detail {
191
178
 
192
179
  template <typename T>
193
- struct is_simple_completion_signature : false_type
180
+ struct is_lvalue_completion_signature : false_type
194
181
  {
195
182
  };
196
183
 
197
- template <typename T>
198
- struct simple_completion_signature;
184
+ template <typename R, typename... Args>
185
+ struct is_lvalue_completion_signature<R(Args...) &> : true_type
186
+ {
187
+ };
199
188
 
200
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
189
+ # if defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
201
190
 
202
191
  template <typename R, typename... Args>
203
- struct is_simple_completion_signature<R(Args...)> : true_type
192
+ struct is_lvalue_completion_signature<R(Args...) & noexcept> : true_type
204
193
  {
205
194
  };
206
195
 
196
+ # endif // defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
197
+
207
198
  template <typename... Signatures>
208
- struct are_simple_completion_signatures : false_type
199
+ struct are_any_lvalue_completion_signatures : false_type
209
200
  {
210
201
  };
211
202
 
212
203
  template <typename Sig0>
213
- struct are_simple_completion_signatures<Sig0>
214
- : is_simple_completion_signature<Sig0>
204
+ struct are_any_lvalue_completion_signatures<Sig0>
205
+ : is_lvalue_completion_signature<Sig0>
215
206
  {
216
207
  };
217
208
 
218
209
  template <typename Sig0, typename... SigN>
219
- struct are_simple_completion_signatures<Sig0, SigN...>
210
+ struct are_any_lvalue_completion_signatures<Sig0, SigN...>
220
211
  : integral_constant<bool, (
221
- is_simple_completion_signature<Sig0>::value
222
- && are_simple_completion_signatures<SigN...>::value)>
223
- {
224
- };
225
-
226
- template <typename R, typename... Args>
227
- struct simple_completion_signature<R(Args...)>
212
+ is_lvalue_completion_signature<Sig0>::value
213
+ || are_any_lvalue_completion_signatures<SigN...>::value)>
228
214
  {
229
- typedef R type(Args...);
230
215
  };
231
216
 
232
- #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
233
-
234
- template <typename R, typename... Args>
235
- struct simple_completion_signature<R(Args...) &>
217
+ template <typename T>
218
+ struct is_rvalue_completion_signature : false_type
236
219
  {
237
- typedef R type(Args...);
238
220
  };
239
221
 
240
222
  template <typename R, typename... Args>
241
- struct simple_completion_signature<R(Args...) &&>
223
+ struct is_rvalue_completion_signature<R(Args...) &&> : true_type
242
224
  {
243
- typedef R type(Args...);
244
225
  };
245
226
 
246
227
  # if defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
247
228
 
248
229
  template <typename R, typename... Args>
249
- struct simple_completion_signature<R(Args...) noexcept>
250
- {
251
- typedef R type(Args...);
252
- };
253
-
254
- template <typename R, typename... Args>
255
- struct simple_completion_signature<R(Args...) & noexcept>
256
- {
257
- typedef R type(Args...);
258
- };
259
-
260
- template <typename R, typename... Args>
261
- struct simple_completion_signature<R(Args...) && noexcept>
230
+ struct is_rvalue_completion_signature<R(Args...) && noexcept> : true_type
262
231
  {
263
- typedef R type(Args...);
264
232
  };
265
233
 
266
234
  # endif // defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
267
- #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
268
235
 
269
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
270
-
271
- template <typename R>
272
- struct is_simple_completion_signature<R()> : true_type
273
- {
274
- };
275
-
276
- #define BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF(n) \
277
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
278
- struct is_simple_completion_signature<R(BOOST_ASIO_VARIADIC_TARGS(n))> \
279
- : true_type \
280
- { \
281
- }; \
282
- /**/
283
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF)
284
- #undef BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF
285
-
286
- template <typename Sig0 = void, typename Sig1 = void,
287
- typename Sig2 = void, typename = void>
288
- struct are_simple_completion_signatures : false_type
236
+ template <typename... Signatures>
237
+ struct are_any_rvalue_completion_signatures : false_type
289
238
  {
290
239
  };
291
240
 
292
241
  template <typename Sig0>
293
- struct are_simple_completion_signatures<Sig0>
294
- : is_simple_completion_signature<Sig0>
242
+ struct are_any_rvalue_completion_signatures<Sig0>
243
+ : is_rvalue_completion_signature<Sig0>
295
244
  {
296
245
  };
297
246
 
298
- template <typename Sig0, typename Sig1>
299
- struct are_simple_completion_signatures<Sig0, Sig1>
300
- : integral_constant<bool,
301
- (is_simple_completion_signature<Sig0>::value
302
- && is_simple_completion_signature<Sig1>::value)>
303
- {
304
- };
305
-
306
- template <typename Sig0, typename Sig1, typename Sig2>
307
- struct are_simple_completion_signatures<Sig0, Sig1, Sig2>
308
- : integral_constant<bool,
309
- (is_simple_completion_signature<Sig0>::value
310
- && is_simple_completion_signature<Sig1>::value
311
- && is_simple_completion_signature<Sig2>::value)>
247
+ template <typename Sig0, typename... SigN>
248
+ struct are_any_rvalue_completion_signatures<Sig0, SigN...>
249
+ : integral_constant<bool, (
250
+ is_rvalue_completion_signature<Sig0>::value
251
+ || are_any_rvalue_completion_signatures<SigN...>::value)>
312
252
  {
313
253
  };
314
254
 
315
- template <>
316
- struct simple_completion_signature<void>
317
- {
318
- typedef void type;
319
- };
255
+ template <typename T>
256
+ struct simple_completion_signature;
320
257
 
321
- template <typename R>
322
- struct simple_completion_signature<R()>
258
+ template <typename R, typename... Args>
259
+ struct simple_completion_signature<R(Args...)>
323
260
  {
324
- typedef R type();
261
+ typedef R type(Args...);
325
262
  };
326
263
 
327
- #define BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF(n) \
328
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
329
- struct simple_completion_signature<R(BOOST_ASIO_VARIADIC_TARGS(n))> \
330
- { \
331
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
332
- }; \
333
- /**/
334
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF)
335
- #undef BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF
336
-
337
- #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
338
-
339
- template <typename R>
340
- struct simple_completion_signature<R() &>
264
+ template <typename R, typename... Args>
265
+ struct simple_completion_signature<R(Args...) &>
341
266
  {
342
- typedef R type();
267
+ typedef R type(Args...);
343
268
  };
344
269
 
345
- template <typename R>
346
- struct simple_completion_signature<R() &&>
270
+ template <typename R, typename... Args>
271
+ struct simple_completion_signature<R(Args...) &&>
347
272
  {
348
- typedef R type();
273
+ typedef R type(Args...);
349
274
  };
350
275
 
351
- #define BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF(n) \
352
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
353
- struct simple_completion_signature< \
354
- R(BOOST_ASIO_VARIADIC_TARGS(n)) &> \
355
- { \
356
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
357
- }; \
358
- \
359
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
360
- struct simple_completion_signature< \
361
- R(BOOST_ASIO_VARIADIC_TARGS(n)) &&> \
362
- { \
363
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
364
- }; \
365
- /**/
366
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF)
367
- #undef BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF
368
-
369
276
  # if defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
370
277
 
371
- template <typename R>
372
- struct simple_completion_signature<R() noexcept>
278
+ template <typename R, typename... Args>
279
+ struct simple_completion_signature<R(Args...) noexcept>
373
280
  {
374
- typedef R type();
281
+ typedef R type(Args...);
375
282
  };
376
283
 
377
- template <typename R>
378
- struct simple_completion_signature<R() & noexcept>
284
+ template <typename R, typename... Args>
285
+ struct simple_completion_signature<R(Args...) & noexcept>
379
286
  {
380
- typedef R type();
287
+ typedef R type(Args...);
381
288
  };
382
289
 
383
- template <typename R>
384
- struct simple_completion_signature<R() && noexcept>
290
+ template <typename R, typename... Args>
291
+ struct simple_completion_signature<R(Args...) && noexcept>
385
292
  {
386
- typedef R type();
293
+ typedef R type(Args...);
387
294
  };
388
295
 
389
- #define BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF(n) \
390
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
391
- struct simple_completion_signature< \
392
- R(BOOST_ASIO_VARIADIC_TARGS(n)) noexcept> \
393
- { \
394
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
395
- }; \
396
- \
397
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
398
- struct simple_completion_signature< \
399
- R(BOOST_ASIO_VARIADIC_TARGS(n)) & noexcept> \
400
- { \
401
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
402
- }; \
403
- \
404
- template <typename R, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
405
- struct simple_completion_signature< \
406
- R(BOOST_ASIO_VARIADIC_TARGS(n)) && noexcept> \
407
- { \
408
- typedef R type(BOOST_ASIO_VARIADIC_TARGS(n)); \
409
- }; \
410
- /**/
411
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF)
412
- #undef BOOST_ASIO_PRIVATE_SIMPLE_SIG_DEF
413
-
414
296
  # endif // defined(BOOST_ASIO_HAS_NOEXCEPT_FUNCTION_TYPE)
415
- #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
416
-
417
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
418
-
419
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) \
420
- || defined(GENERATING_DOCUMENTATION)
421
-
422
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS \
423
- BOOST_ASIO_COMPLETION_SIGNATURE... Signatures
424
-
425
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TSPECPARAMS \
426
- BOOST_ASIO_COMPLETION_SIGNATURE... Signatures
427
-
428
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TARGS Signatures...
429
-
430
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TSIMPLEARGS \
431
- typename boost::asio::detail::simple_completion_signature< \
432
- Signatures>::type...
433
-
434
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
435
- // || defined(GENERATING_DOCUMENTATION)
436
-
437
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS \
438
- typename Sig0 = void, \
439
- typename Sig1 = void, \
440
- typename Sig2 = void
441
-
442
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TSPECPARAMS \
443
- typename Sig0, \
444
- typename Sig1, \
445
- typename Sig2
446
297
 
447
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TARGS Sig0, Sig1, Sig2
448
-
449
- # define BOOST_ASIO_COMPLETION_SIGNATURES_TSIMPLEARGS \
450
- typename ::boost::asio::detail::simple_completion_signature<Sig0>::type, \
451
- typename ::boost::asio::detail::simple_completion_signature<Sig1>::type, \
452
- typename ::boost::asio::detail::simple_completion_signature<Sig2>::type
453
-
454
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
455
- // || defined(GENERATING_DOCUMENTATION)
456
-
457
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
298
+ template <typename CompletionToken,
299
+ BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
458
300
  class completion_handler_async_result
459
301
  {
460
302
  public:
@@ -469,56 +311,22 @@ public:
469
311
  {
470
312
  }
471
313
 
472
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
473
-
474
314
  template <typename Initiation,
475
315
  BOOST_ASIO_COMPLETION_HANDLER_FOR(Signatures...) RawCompletionToken,
476
316
  typename... Args>
477
- static return_type initiate(
478
- BOOST_ASIO_MOVE_ARG(Initiation) initiation,
479
- BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
480
- BOOST_ASIO_MOVE_ARG(Args)... args)
317
+ static return_type initiate(Initiation&& initiation,
318
+ RawCompletionToken&& token, Args&&... args)
481
319
  {
482
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
483
- BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token),
484
- BOOST_ASIO_MOVE_CAST(Args)(args)...);
320
+ static_cast<Initiation&&>(initiation)(
321
+ static_cast<RawCompletionToken&&>(token),
322
+ static_cast<Args&&>(args)...);
485
323
  }
486
324
 
487
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
488
-
489
- template <typename Initiation, typename RawCompletionToken>
490
- static return_type initiate(
491
- BOOST_ASIO_MOVE_ARG(Initiation) initiation,
492
- BOOST_ASIO_MOVE_ARG(RawCompletionToken) token)
493
- {
494
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
495
- BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token));
496
- }
497
-
498
- #define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
499
- template <typename Initiation, \
500
- typename RawCompletionToken, \
501
- BOOST_ASIO_VARIADIC_TPARAMS(n)> \
502
- static return_type initiate( \
503
- BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
504
- BOOST_ASIO_MOVE_ARG(RawCompletionToken) token, \
505
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
506
- { \
507
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \
508
- BOOST_ASIO_MOVE_CAST(RawCompletionToken)(token), \
509
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
510
- } \
511
- /**/
512
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
513
- #undef BOOST_ASIO_PRIVATE_INITIATE_DEF
514
-
515
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
516
-
517
325
  private:
518
326
  completion_handler_async_result(
519
- const completion_handler_async_result&) BOOST_ASIO_DELETED;
327
+ const completion_handler_async_result&) = delete;
520
328
  completion_handler_async_result& operator=(
521
- const completion_handler_async_result&) BOOST_ASIO_DELETED;
329
+ const completion_handler_async_result&) = delete;
522
330
  };
523
331
 
524
332
  } // namespace detail
@@ -543,7 +351,8 @@ private:
543
351
  * The primary template assumes that the CompletionToken is the completion
544
352
  * handler.
545
353
  */
546
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
354
+ template <typename CompletionToken,
355
+ BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
547
356
  class async_result
548
357
  {
549
358
  public:
@@ -568,70 +377,46 @@ public:
568
377
  /// obtain the value to be returned from the initiating function.
569
378
  template <typename Initiation, typename RawCompletionToken, typename... Args>
570
379
  static return_type initiate(
571
- BOOST_ASIO_MOVE_ARG(Initiation) initiation,
572
- BOOST_ASIO_MOVE_ARG(RawCompletionToken) token,
573
- BOOST_ASIO_MOVE_ARG(Args)... args);
380
+ Initiation&& initiation,
381
+ RawCompletionToken&& token,
382
+ Args&&... args);
574
383
 
575
384
  private:
576
- async_result(const async_result&) BOOST_ASIO_DELETED;
577
- async_result& operator=(const async_result&) BOOST_ASIO_DELETED;
385
+ async_result(const async_result&) = delete;
386
+ async_result& operator=(const async_result&) = delete;
578
387
  };
579
388
 
580
389
  #else // defined(GENERATING_DOCUMENTATION)
581
390
 
582
- #if defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
583
-
584
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
391
+ template <typename CompletionToken,
392
+ BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
585
393
  class async_result :
586
- public conditional<
587
- detail::are_simple_completion_signatures<
588
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>::value,
589
- detail::completion_handler_async_result<
590
- CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>,
394
+ public conditional_t<
395
+ detail::are_any_lvalue_completion_signatures<Signatures...>::value
396
+ || !detail::are_any_rvalue_completion_signatures<Signatures...>::value,
397
+ detail::completion_handler_async_result<CompletionToken, Signatures...>,
591
398
  async_result<CompletionToken,
592
- BOOST_ASIO_COMPLETION_SIGNATURES_TSIMPLEARGS>
593
- >::type
399
+ typename detail::simple_completion_signature<Signatures>::type...>
400
+ >
594
401
  {
595
402
  public:
596
- typedef typename conditional<
597
- detail::are_simple_completion_signatures<
598
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>::value,
599
- detail::completion_handler_async_result<
600
- CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>,
403
+ typedef conditional_t<
404
+ detail::are_any_lvalue_completion_signatures<Signatures...>::value
405
+ || !detail::are_any_rvalue_completion_signatures<Signatures...>::value,
406
+ detail::completion_handler_async_result<CompletionToken, Signatures...>,
601
407
  async_result<CompletionToken,
602
- BOOST_ASIO_COMPLETION_SIGNATURES_TSIMPLEARGS>
603
- >::type base_type;
408
+ typename detail::simple_completion_signature<Signatures>::type...>
409
+ > base_type;
604
410
 
605
411
  using base_type::base_type;
606
412
 
607
413
  private:
608
- async_result(const async_result&) BOOST_ASIO_DELETED;
609
- async_result& operator=(const async_result&) BOOST_ASIO_DELETED;
414
+ async_result(const async_result&) = delete;
415
+ async_result& operator=(const async_result&) = delete;
610
416
  };
611
417
 
612
- #else // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
613
-
614
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
615
- class async_result :
616
- public detail::completion_handler_async_result<
617
- CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>
618
- {
619
- public:
620
- explicit async_result(CompletionToken& h)
621
- : detail::completion_handler_async_result<
622
- CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>(h)
623
- {
624
- }
625
-
626
- private:
627
- async_result(const async_result&) BOOST_ASIO_DELETED;
628
- async_result& operator=(const async_result&) BOOST_ASIO_DELETED;
629
- };
630
-
631
- #endif // defined(BOOST_ASIO_HAS_REF_QUALIFIED_FUNCTIONS)
632
-
633
- template <BOOST_ASIO_COMPLETION_SIGNATURES_TSPECPARAMS>
634
- class async_result<void, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>
418
+ template <BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
419
+ class async_result<void, Signatures...>
635
420
  {
636
421
  // Empty.
637
422
  };
@@ -641,65 +426,39 @@ class async_result<void, BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>
641
426
  /// Helper template to deduce the handler type from a CompletionToken, capture
642
427
  /// a local copy of the handler, and then create an async_result for the
643
428
  /// handler.
644
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
429
+ template <typename CompletionToken,
430
+ BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
645
431
  struct async_completion
646
432
  {
647
433
  /// The real handler type to be used for the asynchronous operation.
648
434
  typedef typename boost::asio::async_result<
649
- typename decay<CompletionToken>::type,
650
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>::completion_handler_type
651
- completion_handler_type;
435
+ decay_t<CompletionToken>, Signatures...>::completion_handler_type
436
+ completion_handler_type;
652
437
 
653
- #if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
654
438
  /// Constructor.
655
439
  /**
656
440
  * The constructor creates the concrete completion handler and makes the link
657
441
  * between the handler and the asynchronous result.
658
442
  */
659
443
  explicit async_completion(CompletionToken& token)
660
- : completion_handler(static_cast<typename conditional<
444
+ : completion_handler(static_cast<conditional_t<
661
445
  is_same<CompletionToken, completion_handler_type>::value,
662
- completion_handler_type&, CompletionToken&&>::type>(token)),
663
- result(completion_handler)
664
- {
665
- }
666
- #else // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
667
- explicit async_completion(typename decay<CompletionToken>::type& token)
668
- : completion_handler(token),
669
- result(completion_handler)
670
- {
671
- }
672
-
673
- explicit async_completion(const typename decay<CompletionToken>::type& token)
674
- : completion_handler(token),
446
+ completion_handler_type&, CompletionToken&&>>(token)),
675
447
  result(completion_handler)
676
448
  {
677
449
  }
678
- #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
679
450
 
680
451
  /// A copy of, or reference to, a real handler object.
681
- #if defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
682
- typename conditional<
452
+ conditional_t<
683
453
  is_same<CompletionToken, completion_handler_type>::value,
684
- completion_handler_type&, completion_handler_type>::type completion_handler;
685
- #else // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
686
- completion_handler_type completion_handler;
687
- #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
454
+ completion_handler_type&, completion_handler_type> completion_handler;
688
455
 
689
456
  /// The result of the asynchronous operation's initiating function.
690
- async_result<typename decay<CompletionToken>::type,
691
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS> result;
457
+ async_result<decay_t<CompletionToken>, Signatures...> result;
692
458
  };
693
459
 
694
460
  namespace detail {
695
461
 
696
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
697
- struct async_result_helper
698
- : async_result<typename decay<CompletionToken>::type,
699
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>
700
- {
701
- };
702
-
703
462
  struct async_result_memfns_base
704
463
  {
705
464
  void initiate();
@@ -725,11 +484,11 @@ char async_result_initiate_memfn_helper(
725
484
  void (async_result_memfns_base::*)(),
726
485
  &async_result_memfns_derived<T>::initiate>*);
727
486
 
728
- template <typename CompletionToken, BOOST_ASIO_COMPLETION_SIGNATURES_TPARAMS>
487
+ template <typename CompletionToken,
488
+ BOOST_ASIO_COMPLETION_SIGNATURE... Signatures>
729
489
  struct async_result_has_initiate_memfn
730
490
  : integral_constant<bool, sizeof(async_result_initiate_memfn_helper<
731
- async_result<typename decay<CompletionToken>::type,
732
- BOOST_ASIO_COMPLETION_SIGNATURES_TARGS>
491
+ async_result<decay_t<CompletionToken>, Signatures...>
733
492
  >(0)) != 1>
734
493
  {
735
494
  };
@@ -743,25 +502,6 @@ struct async_result_has_initiate_memfn
743
502
  void_or_deduced
744
503
  # define BOOST_ASIO_INITFN_RESULT_TYPE3(ct, sig0, sig1, sig2) \
745
504
  void_or_deduced
746
- #elif defined(_MSC_VER) && (_MSC_VER < 1500)
747
- # define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \
748
- typename ::boost::asio::detail::async_result_helper< \
749
- ct, sig>::return_type
750
- # define BOOST_ASIO_INITFN_RESULT_TYPE2(ct, sig0, sig1) \
751
- typename ::boost::asio::detail::async_result_helper< \
752
- ct, sig0, sig1>::return_type
753
- # define BOOST_ASIO_INITFN_RESULT_TYPE3(ct, sig0, sig1, sig2) \
754
- typename ::boost::asio::detail::async_result_helper< \
755
- ct, sig0, sig1, sig2>::return_type
756
- #define BOOST_ASIO_HANDLER_TYPE(ct, sig) \
757
- typename ::boost::asio::detail::async_result_helper< \
758
- ct, sig>::completion_handler_type
759
- #define BOOST_ASIO_HANDLER_TYPE2(ct, sig0, sig1) \
760
- typename ::boost::asio::detail::async_result_helper< \
761
- ct, sig0, sig1>::completion_handler_type
762
- #define BOOST_ASIO_HANDLER_TYPE3(ct, sig0, sig1, sig2) \
763
- typename ::boost::asio::detail::async_result_helper< \
764
- ct, sig0, sig1, sig2>::completion_handler_type
765
505
  #else
766
506
  # define BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig) \
767
507
  typename ::boost::asio::async_result< \
@@ -824,7 +564,7 @@ struct async_result_has_initiate_memfn
824
564
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX3(ct, sig0, sig1, sig2) \
825
565
  auto
826
566
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(expr)
827
- #elif defined(BOOST_ASIO_HAS_DECLTYPE)
567
+ #else
828
568
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ct, sig) \
829
569
  auto
830
570
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX2(ct, sig0, sig1) \
@@ -832,14 +572,6 @@ struct async_result_has_initiate_memfn
832
572
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX3(ct, sig0, sig1, sig2) \
833
573
  auto
834
574
  # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(expr) -> decltype expr
835
- #else
836
- # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ct, sig) \
837
- BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig)
838
- # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX2(ct, sig0, sig1) \
839
- BOOST_ASIO_INITFN_RESULT_TYPE2(ct, sig0, sig1)
840
- # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX3(ct, sig0, sig1, sig2) \
841
- BOOST_ASIO_INITFN_RESULT_TYPE3(ct, sig0, sig1, sig2)
842
- # define BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX(expr)
843
575
  #endif
844
576
 
845
577
  #if defined(GENERATING_DOCUMENTATION)
@@ -849,20 +581,13 @@ struct async_result_has_initiate_memfn
849
581
  void_or_deduced
850
582
  # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE3(ct, sig0, sig1, sig2, expr) \
851
583
  void_or_deduced
852
- #elif defined(BOOST_ASIO_HAS_DECLTYPE)
584
+ #else
853
585
  # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(ct, sig, expr) \
854
586
  decltype expr
855
587
  # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE2(ct, sig0, sig1, expr) \
856
588
  decltype expr
857
589
  # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE3(ct, sig0, sig1, sig2, expr) \
858
590
  decltype expr
859
- #else
860
- # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(ct, sig, expr) \
861
- BOOST_ASIO_INITFN_RESULT_TYPE(ct, sig)
862
- # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE2(ct, sig0, sig1, expr) \
863
- BOOST_ASIO_INITFN_RESULT_TYPE2(ct, sig0, sig1)
864
- # define BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE3(ct, sig0, sig1, sig2, expr) \
865
- BOOST_ASIO_INITFN_RESULT_TYPE3(ct, sig0, sig1, sig2)
866
591
  #endif
867
592
 
868
593
  #if defined(GENERATING_DOCUMENTATION)
@@ -871,326 +596,57 @@ template <typename CompletionToken,
871
596
  completion_signature... Signatures,
872
597
  typename Initiation, typename... Args>
873
598
  void_or_deduced async_initiate(
874
- BOOST_ASIO_MOVE_ARG(Initiation) initiation,
875
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken),
876
- BOOST_ASIO_MOVE_ARG(Args)... args);
599
+ Initiation&& initiation,
600
+ type_identity_t<CompletionToken>& token,
601
+ Args&&... args);
877
602
 
878
- #elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
603
+ #else // defined(GENERATING_DOCUMENTATION)
879
604
 
880
605
  template <typename CompletionToken,
881
606
  BOOST_ASIO_COMPLETION_SIGNATURE... Signatures,
882
607
  typename Initiation, typename... Args>
883
- inline typename constraint<
608
+ inline auto async_initiate(Initiation&& initiation,
609
+ type_identity_t<CompletionToken>& token, Args&&... args)
610
+ -> constraint_t<
884
611
  detail::async_result_has_initiate_memfn<
885
612
  CompletionToken, Signatures...>::value,
886
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, Signatures...,
887
- (async_result<typename decay<CompletionToken>::type,
888
- Signatures...>::initiate(declval<BOOST_ASIO_MOVE_ARG(Initiation)>(),
889
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>(),
890
- declval<BOOST_ASIO_MOVE_ARG(Args)>()...)))>::type
891
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
892
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token,
893
- BOOST_ASIO_MOVE_ARG(Args)... args)
894
- {
895
- return async_result<typename decay<CompletionToken>::type,
896
- Signatures...>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
897
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token),
898
- BOOST_ASIO_MOVE_CAST(Args)(args)...);
613
+ decltype(
614
+ async_result<decay_t<CompletionToken>, Signatures...>::initiate(
615
+ static_cast<Initiation&&>(initiation),
616
+ static_cast<CompletionToken&&>(token),
617
+ static_cast<Args&&>(args)...))>
618
+ {
619
+ return async_result<decay_t<CompletionToken>, Signatures...>::initiate(
620
+ static_cast<Initiation&&>(initiation),
621
+ static_cast<CompletionToken&&>(token),
622
+ static_cast<Args&&>(args)...);
899
623
  }
900
624
 
901
625
  template <typename CompletionToken,
902
626
  BOOST_ASIO_COMPLETION_SIGNATURE... Signatures,
903
627
  typename Initiation, typename... Args>
904
- inline typename constraint<
628
+ inline constraint_t<
905
629
  !detail::async_result_has_initiate_memfn<
906
630
  CompletionToken, Signatures...>::value,
907
- BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Signatures...)>::type
908
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
909
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token,
910
- BOOST_ASIO_MOVE_ARG(Args)... args)
631
+ typename async_result<decay_t<CompletionToken>, Signatures...>::return_type>
632
+ async_initiate(Initiation&& initiation,
633
+ type_identity_t<CompletionToken>& token, Args&&... args)
911
634
  {
912
635
  async_completion<CompletionToken, Signatures...> completion(token);
913
636
 
914
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
915
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken,
916
- Signatures...))(completion.completion_handler),
917
- BOOST_ASIO_MOVE_CAST(Args)(args)...);
918
-
919
- return completion.result.get();
920
- }
921
-
922
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
923
-
924
- template <typename CompletionToken,
925
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
926
- typename Initiation>
927
- inline typename constraint<
928
- detail::async_result_has_initiate_memfn<
929
- CompletionToken, Sig0>::value,
930
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE(CompletionToken, Sig0,
931
- (async_result<typename decay<CompletionToken>::type,
932
- Sig0>::initiate(declval<BOOST_ASIO_MOVE_ARG(Initiation)>(),
933
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>())))>::type
934
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
935
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
936
- {
937
- return async_result<typename decay<CompletionToken>::type,
938
- Sig0>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
939
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token));
940
- }
941
-
942
- template <typename CompletionToken,
943
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
944
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1,
945
- typename Initiation>
946
- inline typename constraint<
947
- detail::async_result_has_initiate_memfn<
948
- CompletionToken, Sig0, Sig1>::value,
949
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE2(CompletionToken, Sig0, Sig1,
950
- (async_result<typename decay<CompletionToken>::type,
951
- Sig0, Sig1>::initiate(declval<BOOST_ASIO_MOVE_ARG(Initiation)>(),
952
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>())))>::type
953
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
954
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
955
- {
956
- return async_result<typename decay<CompletionToken>::type,
957
- Sig0, Sig1>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
958
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token));
959
- }
960
-
961
- template <typename CompletionToken,
962
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
963
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1,
964
- BOOST_ASIO_COMPLETION_SIGNATURE Sig2,
965
- typename Initiation>
966
- inline typename constraint<
967
- detail::async_result_has_initiate_memfn<
968
- CompletionToken, Sig0, Sig1, Sig2>::value,
969
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE3(CompletionToken, Sig0, Sig1, Sig2,
970
- (async_result<typename decay<CompletionToken>::type,
971
- Sig0, Sig1, Sig2>::initiate(declval<BOOST_ASIO_MOVE_ARG(Initiation)>(),
972
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>())))>::type
973
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
974
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
975
- {
976
- return async_result<typename decay<CompletionToken>::type,
977
- Sig0, Sig1, Sig2>::initiate(BOOST_ASIO_MOVE_CAST(Initiation)(initiation),
978
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token));
979
- }
980
-
981
- template <typename CompletionToken,
982
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
983
- typename Initiation>
984
- inline typename constraint<
985
- !detail::async_result_has_initiate_memfn<
986
- CompletionToken, Sig0>::value,
987
- BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Sig0)>::type
988
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
989
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
990
- {
991
- async_completion<CompletionToken, Sig0> completion(token);
992
-
993
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
994
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken,
995
- Sig0))(completion.completion_handler));
637
+ static_cast<Initiation&&>(initiation)(
638
+ static_cast<
639
+ typename async_result<decay_t<CompletionToken>,
640
+ Signatures...>::completion_handler_type&&>(
641
+ completion.completion_handler),
642
+ static_cast<Args&&>(args)...);
996
643
 
997
644
  return completion.result.get();
998
645
  }
999
646
 
1000
- template <typename CompletionToken,
1001
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
1002
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1,
1003
- typename Initiation>
1004
- inline typename constraint<
1005
- !detail::async_result_has_initiate_memfn<
1006
- CompletionToken, Sig0, Sig1>::value,
1007
- BOOST_ASIO_INITFN_RESULT_TYPE2(CompletionToken, Sig0, Sig1)>::type
1008
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
1009
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
1010
- {
1011
- async_completion<CompletionToken, Sig0, Sig1> completion(token);
1012
-
1013
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
1014
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE2(CompletionToken,
1015
- Sig0, Sig1))(completion.completion_handler));
1016
-
1017
- return completion.result.get();
1018
- }
1019
-
1020
- template <typename CompletionToken,
1021
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0,
1022
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1,
1023
- BOOST_ASIO_COMPLETION_SIGNATURE Sig2,
1024
- typename Initiation>
1025
- inline typename constraint<
1026
- !detail::async_result_has_initiate_memfn<
1027
- CompletionToken, Sig0, Sig1, Sig2>::value,
1028
- BOOST_ASIO_INITFN_RESULT_TYPE3(CompletionToken, Sig0, Sig1, Sig2)>::type
1029
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation,
1030
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token)
1031
- {
1032
- async_completion<CompletionToken, Sig0, Sig1, Sig2> completion(token);
1033
-
1034
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)(
1035
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE3(CompletionToken,
1036
- Sig0, Sig1, Sig2))(completion.completion_handler));
1037
-
1038
- return completion.result.get();
1039
- }
647
+ #endif // defined(GENERATING_DOCUMENTATION)
1040
648
 
1041
- #define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
1042
- template <typename CompletionToken, \
1043
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1044
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1045
- inline typename constraint< \
1046
- detail::async_result_has_initiate_memfn< \
1047
- CompletionToken, Sig0>::value, \
1048
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE( \
1049
- CompletionToken, Sig0, \
1050
- (async_result<typename decay<CompletionToken>::type, \
1051
- Sig0>::initiate( \
1052
- declval<BOOST_ASIO_MOVE_ARG(Initiation)>(), \
1053
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>(), \
1054
- BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n))))>::type \
1055
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1056
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1057
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1058
- { \
1059
- return async_result<typename decay<CompletionToken>::type, \
1060
- Sig0>::initiate( \
1061
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \
1062
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token), \
1063
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1064
- } \
1065
- \
1066
- template <typename CompletionToken, \
1067
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1068
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1, \
1069
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1070
- inline typename constraint< \
1071
- detail::async_result_has_initiate_memfn< \
1072
- CompletionToken, Sig0, Sig1>::value, \
1073
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE2( \
1074
- CompletionToken, Sig0, Sig1, \
1075
- (async_result<typename decay<CompletionToken>::type, \
1076
- Sig0, Sig1>::initiate( \
1077
- declval<BOOST_ASIO_MOVE_ARG(Initiation)>(), \
1078
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>(), \
1079
- BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n))))>::type \
1080
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1081
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1082
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1083
- { \
1084
- return async_result<typename decay<CompletionToken>::type, \
1085
- Sig0, Sig1>::initiate( \
1086
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \
1087
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token), \
1088
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1089
- } \
1090
- \
1091
- template <typename CompletionToken, \
1092
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1093
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1, \
1094
- BOOST_ASIO_COMPLETION_SIGNATURE Sig2, \
1095
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1096
- inline typename constraint< \
1097
- detail::async_result_has_initiate_memfn< \
1098
- CompletionToken, Sig0, Sig1, Sig2>::value, \
1099
- BOOST_ASIO_INITFN_DEDUCED_RESULT_TYPE3( \
1100
- CompletionToken, Sig0, Sig1, Sig2, \
1101
- (async_result<typename decay<CompletionToken>::type, \
1102
- Sig0, Sig1, Sig2>::initiate( \
1103
- declval<BOOST_ASIO_MOVE_ARG(Initiation)>(), \
1104
- declval<BOOST_ASIO_MOVE_ARG(CompletionToken)>(), \
1105
- BOOST_ASIO_VARIADIC_MOVE_DECLVAL(n))))>::type \
1106
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1107
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1108
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1109
- { \
1110
- return async_result<typename decay<CompletionToken>::type, \
1111
- Sig0, Sig1, Sig2>::initiate( \
1112
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation), \
1113
- BOOST_ASIO_MOVE_CAST(CompletionToken)(token), \
1114
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1115
- } \
1116
- \
1117
- template <typename CompletionToken, \
1118
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1119
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1120
- inline typename constraint< \
1121
- !detail::async_result_has_initiate_memfn< \
1122
- CompletionToken, Sig0>::value, \
1123
- BOOST_ASIO_INITFN_RESULT_TYPE(CompletionToken, Sig0)>::type \
1124
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1125
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1126
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1127
- { \
1128
- async_completion<CompletionToken, \
1129
- Sig0> completion(token); \
1130
- \
1131
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \
1132
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(CompletionToken, \
1133
- Sig0))(completion.completion_handler), \
1134
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1135
- \
1136
- return completion.result.get(); \
1137
- } \
1138
- \
1139
- template <typename CompletionToken, \
1140
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1141
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1, \
1142
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1143
- inline typename constraint< \
1144
- !detail::async_result_has_initiate_memfn< \
1145
- CompletionToken, Sig0, Sig1>::value, \
1146
- BOOST_ASIO_INITFN_RESULT_TYPE2(CompletionToken, Sig0, Sig1)>::type \
1147
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1148
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1149
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1150
- { \
1151
- async_completion<CompletionToken, \
1152
- Sig0, Sig1> completion(token); \
1153
- \
1154
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \
1155
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE2(CompletionToken, \
1156
- Sig0, Sig1))(completion.completion_handler), \
1157
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1158
- \
1159
- return completion.result.get(); \
1160
- } \
1161
- \
1162
- template <typename CompletionToken, \
1163
- BOOST_ASIO_COMPLETION_SIGNATURE Sig0, \
1164
- BOOST_ASIO_COMPLETION_SIGNATURE Sig1, \
1165
- BOOST_ASIO_COMPLETION_SIGNATURE Sig2, \
1166
- typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1167
- inline typename constraint< \
1168
- !detail::async_result_has_initiate_memfn< \
1169
- CompletionToken, Sig0, Sig1, Sig2>::value, \
1170
- BOOST_ASIO_INITFN_RESULT_TYPE3(CompletionToken, Sig0, Sig1, Sig2)>::type \
1171
- async_initiate(BOOST_ASIO_MOVE_ARG(Initiation) initiation, \
1172
- BOOST_ASIO_NONDEDUCED_MOVE_ARG(CompletionToken) token, \
1173
- BOOST_ASIO_VARIADIC_MOVE_PARAMS(n)) \
1174
- { \
1175
- async_completion<CompletionToken, \
1176
- Sig0, Sig1, Sig2> completion(token); \
1177
- \
1178
- BOOST_ASIO_MOVE_CAST(Initiation)(initiation)( \
1179
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE3(CompletionToken, \
1180
- Sig0, Sig1, Sig2))(completion.completion_handler), \
1181
- BOOST_ASIO_VARIADIC_MOVE_ARGS(n)); \
1182
- \
1183
- return completion.result.get(); \
1184
- } \
1185
- /**/
1186
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
1187
- #undef BOOST_ASIO_PRIVATE_INITIATE_DEF
1188
-
1189
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1190
-
1191
- #if defined(BOOST_ASIO_HAS_CONCEPTS) \
1192
- && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES) \
1193
- && defined(BOOST_ASIO_HAS_DECLTYPE)
649
+ #if defined(BOOST_ASIO_HAS_CONCEPTS)
1194
650
 
1195
651
  namespace detail {
1196
652
 
@@ -1223,16 +679,12 @@ BOOST_ASIO_CONCEPT completion_token_for =
1223
679
  ::boost::asio::completion_token_for<sig0, sig1, sig2>
1224
680
 
1225
681
  #else // defined(BOOST_ASIO_HAS_CONCEPTS)
1226
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1227
- // && defined(BOOST_ASIO_HAS_DECLTYPE)
1228
682
 
1229
683
  #define BOOST_ASIO_COMPLETION_TOKEN_FOR(sig) typename
1230
684
  #define BOOST_ASIO_COMPLETION_TOKEN_FOR2(sig0, sig1) typename
1231
685
  #define BOOST_ASIO_COMPLETION_TOKEN_FOR3(sig0, sig1, sig2) typename
1232
686
 
1233
687
  #endif // defined(BOOST_ASIO_HAS_CONCEPTS)
1234
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1235
- // && defined(BOOST_ASIO_HAS_DECLTYPE)
1236
688
 
1237
689
  namespace detail {
1238
690
 
@@ -1246,21 +698,21 @@ struct is_async_operation_call : false_type
1246
698
 
1247
699
  template <typename Call>
1248
700
  struct is_async_operation_call<Call,
1249
- typename void_type<
1250
- typename enable_if<
701
+ void_t<
702
+ enable_if_t<
1251
703
  is_same<
1252
- typename result_of<Call>::type,
704
+ result_of_t<Call>,
1253
705
  async_operation_probe_result
1254
706
  >::value
1255
- >::type
1256
- >::type> : true_type
707
+ >
708
+ >
709
+ > : true_type
1257
710
  {
1258
711
  };
1259
712
 
1260
713
  } // namespace detail
1261
714
 
1262
715
  #if !defined(GENERATING_DOCUMENTATION)
1263
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1264
716
 
1265
717
  template <typename... Signatures>
1266
718
  class async_result<detail::async_operation_probe, Signatures...>
@@ -1269,56 +721,13 @@ public:
1269
721
  typedef detail::async_operation_probe_result return_type;
1270
722
 
1271
723
  template <typename Initiation, typename... InitArgs>
1272
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
1273
- detail::async_operation_probe, BOOST_ASIO_MOVE_ARG(InitArgs)...)
724
+ static return_type initiate(Initiation&&,
725
+ detail::async_operation_probe, InitArgs&&...)
1274
726
  {
1275
727
  return return_type();
1276
728
  }
1277
729
  };
1278
730
 
1279
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1280
-
1281
- namespace detail {
1282
-
1283
- struct async_result_probe_base
1284
- {
1285
- typedef detail::async_operation_probe_result return_type;
1286
-
1287
- template <typename Initiation>
1288
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
1289
- detail::async_operation_probe)
1290
- {
1291
- return return_type();
1292
- }
1293
-
1294
- #define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
1295
- template <typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1296
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation), \
1297
- detail::async_operation_probe, \
1298
- BOOST_ASIO_VARIADIC_UNNAMED_MOVE_PARAMS(n)) \
1299
- { \
1300
- return return_type(); \
1301
- } \
1302
- /**/
1303
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
1304
- #undef BOOST_ASIO_PRIVATE_INITIATE_DEF
1305
- };
1306
-
1307
- } // namespace detail
1308
-
1309
- template <typename Sig0>
1310
- class async_result<detail::async_operation_probe, Sig0>
1311
- : public detail::async_result_probe_base {};
1312
-
1313
- template <typename Sig0, typename Sig1>
1314
- class async_result<detail::async_operation_probe, Sig0, Sig1>
1315
- : public detail::async_result_probe_base {};
1316
-
1317
- template <typename Sig0, typename Sig1, typename Sig2>
1318
- class async_result<detail::async_operation_probe, Sig0, Sig1, Sig2>
1319
- : public detail::async_result_probe_base {};
1320
-
1321
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1322
731
  #endif // !defined(GENERATING_DOCUMENTATION)
1323
732
 
1324
733
  #if defined(GENERATING_DOCUMENTATION)
@@ -1336,7 +745,7 @@ struct is_async_operation : integral_constant<bool, automatically_determined>
1336
745
  {
1337
746
  };
1338
747
 
1339
- #elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
748
+ #else // defined(GENERATING_DOCUMENTATION)
1340
749
 
1341
750
  template <typename T, typename... Args>
1342
751
  struct is_async_operation :
@@ -1345,35 +754,9 @@ struct is_async_operation :
1345
754
  {
1346
755
  };
1347
756
 
1348
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1349
-
1350
- template <typename T, typename = void, typename = void, typename = void,
1351
- typename = void, typename = void, typename = void, typename = void,
1352
- typename = void, typename = void>
1353
- struct is_async_operation;
1354
-
1355
- template <typename T>
1356
- struct is_async_operation<T> :
1357
- detail::is_async_operation_call<
1358
- T(detail::async_operation_probe)>
1359
- {
1360
- };
1361
-
1362
- #define BOOST_ASIO_PRIVATE_IS_ASYNC_OP_DEF(n) \
1363
- template <typename T, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1364
- struct is_async_operation<T, BOOST_ASIO_VARIADIC_TARGS(n)> : \
1365
- detail::is_async_operation_call< \
1366
- T(BOOST_ASIO_VARIADIC_TARGS(n), detail::async_operation_probe)> \
1367
- { \
1368
- }; \
1369
- /**/
1370
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_IS_ASYNC_OP_DEF)
1371
- #undef BOOST_ASIO_PRIVATE_IS_ASYNC_OP_DEF
1372
-
1373
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
757
+ #endif // defined(GENERATING_DOCUMENTATION)
1374
758
 
1375
- #if defined(BOOST_ASIO_HAS_CONCEPTS) \
1376
- && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
759
+ #if defined(BOOST_ASIO_HAS_CONCEPTS)
1377
760
 
1378
761
  template <typename T, typename... Args>
1379
762
  BOOST_ASIO_CONCEPT async_operation = is_async_operation<T, Args...>::value;
@@ -1388,7 +771,6 @@ BOOST_ASIO_CONCEPT async_operation = is_async_operation<T, Args...>::value;
1388
771
  ::boost::asio::async_operation<t, a0, a1, a2>
1389
772
 
1390
773
  #else // defined(BOOST_ASIO_HAS_CONCEPTS)
1391
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1392
774
 
1393
775
  #define BOOST_ASIO_ASYNC_OPERATION(t) typename
1394
776
  #define BOOST_ASIO_ASYNC_OPERATION1(t, a0) typename
@@ -1396,14 +778,11 @@ BOOST_ASIO_CONCEPT async_operation = is_async_operation<T, Args...>::value;
1396
778
  #define BOOST_ASIO_ASYNC_OPERATION3(t, a0, a1, a2) typename
1397
779
 
1398
780
  #endif // defined(BOOST_ASIO_HAS_CONCEPTS)
1399
- // && defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1400
781
 
1401
782
  namespace detail {
1402
783
 
1403
784
  struct completion_signature_probe {};
1404
785
 
1405
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1406
-
1407
786
  template <typename... T>
1408
787
  struct completion_signature_probe_result
1409
788
  {
@@ -1436,25 +815,9 @@ struct completion_signature_probe_result<void>
1436
815
  };
1437
816
  };
1438
817
 
1439
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1440
-
1441
- template <typename T>
1442
- struct completion_signature_probe_result
1443
- {
1444
- typedef T type;
1445
- };
1446
-
1447
- template <>
1448
- struct completion_signature_probe_result<void>
1449
- {
1450
- };
1451
-
1452
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1453
-
1454
818
  } // namespace detail
1455
819
 
1456
820
  #if !defined(GENERATING_DOCUMENTATION)
1457
- #if defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1458
821
 
1459
822
  template <typename... Signatures>
1460
823
  class async_result<detail::completion_signature_probe, Signatures...>
@@ -1463,8 +826,8 @@ public:
1463
826
  typedef detail::completion_signature_probe_result<Signatures...> return_type;
1464
827
 
1465
828
  template <typename Initiation, typename... InitArgs>
1466
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
1467
- detail::completion_signature_probe, BOOST_ASIO_MOVE_ARG(InitArgs)...)
829
+ static return_type initiate(Initiation&&,
830
+ detail::completion_signature_probe, InitArgs&&...)
1468
831
  {
1469
832
  return return_type();
1470
833
  }
@@ -1477,62 +840,13 @@ public:
1477
840
  typedef detail::completion_signature_probe_result<Signature> return_type;
1478
841
 
1479
842
  template <typename Initiation, typename... InitArgs>
1480
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
1481
- detail::completion_signature_probe, BOOST_ASIO_MOVE_ARG(InitArgs)...)
843
+ static return_type initiate(Initiation&&,
844
+ detail::completion_signature_probe, InitArgs&&...)
1482
845
  {
1483
846
  return return_type();
1484
847
  }
1485
848
  };
1486
849
 
1487
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1488
-
1489
- namespace detail {
1490
-
1491
- template <typename Signature>
1492
- class async_result_sig_probe_base
1493
- {
1494
- public:
1495
- typedef detail::completion_signature_probe_result<Signature> return_type;
1496
-
1497
- template <typename Initiation>
1498
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation),
1499
- detail::async_operation_probe)
1500
- {
1501
- return return_type();
1502
- }
1503
-
1504
- #define BOOST_ASIO_PRIVATE_INITIATE_DEF(n) \
1505
- template <typename Initiation, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1506
- static return_type initiate(BOOST_ASIO_MOVE_ARG(Initiation), \
1507
- detail::completion_signature_probe, \
1508
- BOOST_ASIO_VARIADIC_UNNAMED_MOVE_PARAMS(n)) \
1509
- { \
1510
- return return_type(); \
1511
- } \
1512
- /**/
1513
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_INITIATE_DEF)
1514
- #undef BOOST_ASIO_PRIVATE_INITIATE_DEF
1515
- };
1516
-
1517
- } // namespace detail
1518
-
1519
- template <>
1520
- class async_result<detail::completion_signature_probe>
1521
- : public detail::async_result_sig_probe_base<void> {};
1522
-
1523
- template <typename Sig0>
1524
- class async_result<detail::completion_signature_probe, Sig0>
1525
- : public detail::async_result_sig_probe_base<Sig0> {};
1526
-
1527
- template <typename Sig0, typename Sig1>
1528
- class async_result<detail::completion_signature_probe, Sig0, Sig1>
1529
- : public detail::async_result_sig_probe_base<void> {};
1530
-
1531
- template <typename Sig0, typename Sig1, typename Sig2>
1532
- class async_result<detail::completion_signature_probe, Sig0, Sig1, Sig2>
1533
- : public detail::async_result_sig_probe_base<void> {};
1534
-
1535
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1536
850
  #endif // !defined(GENERATING_DOCUMENTATION)
1537
851
 
1538
852
  #if defined(GENERATING_DOCUMENTATION)
@@ -1555,50 +869,19 @@ struct completion_signature_of
1555
869
  typedef automatically_determined type;
1556
870
  };
1557
871
 
1558
- template <typename T, typename... Args>
1559
- using completion_signature_of_t =
1560
- typename completion_signature_of<T, Args...>::type;
1561
-
1562
- #elif defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
872
+ #else // defined(GENERATING_DOCUMENTATION)
1563
873
 
1564
874
  template <typename T, typename... Args>
1565
875
  struct completion_signature_of :
1566
- result_of<T(Args..., detail::completion_signature_probe)>::type
876
+ result_of_t<T(Args..., detail::completion_signature_probe)>
1567
877
  {
1568
878
  };
1569
879
 
1570
- #if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
880
+ #endif // defined(GENERATING_DOCUMENTATION)
881
+
1571
882
  template <typename T, typename... Args>
1572
883
  using completion_signature_of_t =
1573
884
  typename completion_signature_of<T, Args...>::type;
1574
- #endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
1575
-
1576
- #else // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1577
-
1578
- template <typename T, typename = void, typename = void, typename = void,
1579
- typename = void, typename = void, typename = void, typename = void,
1580
- typename = void, typename = void>
1581
- struct completion_signature_of;
1582
-
1583
- template <typename T>
1584
- struct completion_signature_of<T> :
1585
- result_of<T(detail::completion_signature_probe)>::type
1586
- {
1587
- };
1588
-
1589
- #define BOOST_ASIO_PRIVATE_COMPLETION_SIG_OF_DEF(n) \
1590
- template <typename T, BOOST_ASIO_VARIADIC_TPARAMS(n)> \
1591
- struct completion_signature_of<T, BOOST_ASIO_VARIADIC_TARGS(n)> : \
1592
- result_of< \
1593
- T(BOOST_ASIO_VARIADIC_TARGS(n), \
1594
- detail::completion_signature_probe)>::type \
1595
- { \
1596
- }; \
1597
- /**/
1598
- BOOST_ASIO_VARIADIC_GENERATE(BOOST_ASIO_PRIVATE_COMPLETION_SIG_OF_DEF)
1599
- #undef BOOST_ASIO_PRIVATE_COMPLETION_SIG_OF_DEF
1600
-
1601
- #endif // defined(BOOST_ASIO_HAS_VARIADIC_TEMPLATES)
1602
885
 
1603
886
  namespace detail {
1604
887
 
@@ -1610,7 +893,8 @@ struct default_completion_token_impl
1610
893
 
1611
894
  template <typename T>
1612
895
  struct default_completion_token_impl<T,
1613
- typename void_type<typename T::default_completion_token_type>::type>
896
+ void_t<typename T::default_completion_token_type>
897
+ >
1614
898
  {
1615
899
  typedef typename T::default_completion_token_type type;
1616
900
  };
@@ -1644,27 +928,14 @@ struct default_completion_token
1644
928
  };
1645
929
  #endif
1646
930
 
1647
- #if defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
1648
-
1649
931
  template <typename T>
1650
932
  using default_completion_token_t = typename default_completion_token<T>::type;
1651
933
 
1652
- #endif // defined(BOOST_ASIO_HAS_ALIAS_TEMPLATES)
1653
-
1654
- #if defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS)
1655
-
1656
934
  #define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(e) \
1657
935
  = typename ::boost::asio::default_completion_token<e>::type
1658
936
  #define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(e) \
1659
937
  = typename ::boost::asio::default_completion_token<e>::type()
1660
938
 
1661
- #else // defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS)
1662
-
1663
- #define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(e)
1664
- #define BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(e)
1665
-
1666
- #endif // defined(BOOST_ASIO_HAS_DEFAULT_FUNCTION_TEMPLATE_ARGUMENTS)
1667
-
1668
939
  } // namespace asio
1669
940
  } // namespace boost
1670
941