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