passenger 6.0.20 → 6.0.21

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