passenger 6.0.19 → 6.0.21

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