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
  // impl/read_until.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)
@@ -24,9 +24,7 @@
24
24
  #include <boost/asio/buffers_iterator.hpp>
25
25
  #include <boost/asio/detail/base_from_cancellation_state.hpp>
26
26
  #include <boost/asio/detail/bind_handler.hpp>
27
- #include <boost/asio/detail/handler_alloc_helpers.hpp>
28
27
  #include <boost/asio/detail/handler_cont_helpers.hpp>
29
- #include <boost/asio/detail/handler_invoke_helpers.hpp>
30
28
  #include <boost/asio/detail/handler_tracking.hpp>
31
29
  #include <boost/asio/detail/handler_type_requirements.hpp>
32
30
  #include <boost/asio/detail/limits.hpp>
@@ -77,34 +75,34 @@ namespace detail
77
75
 
78
76
  template <typename SyncReadStream, typename DynamicBuffer_v1>
79
77
  inline std::size_t read_until(SyncReadStream& s,
80
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, char delim,
81
- typename constraint<
82
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
83
- >::type,
84
- typename constraint<
85
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
86
- >::type)
78
+ DynamicBuffer_v1&& buffers, char delim,
79
+ constraint_t<
80
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
81
+ >,
82
+ constraint_t<
83
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
84
+ >)
87
85
  {
88
86
  boost::system::error_code ec;
89
87
  std::size_t bytes_transferred = read_until(s,
90
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim, ec);
88
+ static_cast<DynamicBuffer_v1&&>(buffers), delim, ec);
91
89
  boost::asio::detail::throw_error(ec, "read_until");
92
90
  return bytes_transferred;
93
91
  }
94
92
 
95
93
  template <typename SyncReadStream, typename DynamicBuffer_v1>
96
94
  std::size_t read_until(SyncReadStream& s,
97
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
95
+ DynamicBuffer_v1&& buffers,
98
96
  char delim, boost::system::error_code& ec,
99
- typename constraint<
100
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
101
- >::type,
102
- typename constraint<
103
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
104
- >::type)
97
+ constraint_t<
98
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
99
+ >,
100
+ constraint_t<
101
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
102
+ >)
105
103
  {
106
- typename decay<DynamicBuffer_v1>::type b(
107
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
104
+ decay_t<DynamicBuffer_v1> b(
105
+ static_cast<DynamicBuffer_v1&&>(buffers));
108
106
 
109
107
  std::size_t search_position = 0;
110
108
  for (;;)
@@ -150,35 +148,35 @@ std::size_t read_until(SyncReadStream& s,
150
148
 
151
149
  template <typename SyncReadStream, typename DynamicBuffer_v1>
152
150
  inline std::size_t read_until(SyncReadStream& s,
153
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
151
+ DynamicBuffer_v1&& buffers,
154
152
  BOOST_ASIO_STRING_VIEW_PARAM delim,
155
- typename constraint<
156
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
157
- >::type,
158
- typename constraint<
159
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
160
- >::type)
153
+ constraint_t<
154
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
155
+ >,
156
+ constraint_t<
157
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
158
+ >)
161
159
  {
162
160
  boost::system::error_code ec;
163
161
  std::size_t bytes_transferred = read_until(s,
164
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim, ec);
162
+ static_cast<DynamicBuffer_v1&&>(buffers), delim, ec);
165
163
  boost::asio::detail::throw_error(ec, "read_until");
166
164
  return bytes_transferred;
167
165
  }
168
166
 
169
167
  template <typename SyncReadStream, typename DynamicBuffer_v1>
170
168
  std::size_t read_until(SyncReadStream& s,
171
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
169
+ DynamicBuffer_v1&& buffers,
172
170
  BOOST_ASIO_STRING_VIEW_PARAM delim, boost::system::error_code& ec,
173
- typename constraint<
174
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
175
- >::type,
176
- typename constraint<
177
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
178
- >::type)
171
+ constraint_t<
172
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
173
+ >,
174
+ constraint_t<
175
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
176
+ >)
179
177
  {
180
- typename decay<DynamicBuffer_v1>::type b(
181
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
178
+ decay_t<DynamicBuffer_v1> b(
179
+ static_cast<DynamicBuffer_v1&&>(buffers));
182
180
 
183
181
  std::size_t search_position = 0;
184
182
  for (;;)
@@ -234,37 +232,48 @@ std::size_t read_until(SyncReadStream& s,
234
232
  #if !defined(BOOST_ASIO_NO_EXTENSIONS)
235
233
  #if defined(BOOST_ASIO_HAS_BOOST_REGEX)
236
234
 
237
- template <typename SyncReadStream, typename DynamicBuffer_v1>
238
- inline std::size_t read_until(SyncReadStream& s,
239
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
240
- const boost::regex& expr,
241
- typename constraint<
242
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
243
- >::type,
244
- typename constraint<
245
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
246
- >::type)
235
+ namespace detail {
236
+
237
+ struct regex_match_flags
238
+ {
239
+ template <typename T>
240
+ operator T() const
241
+ {
242
+ return T::match_default | T::match_partial;
243
+ }
244
+ };
245
+
246
+ } // namespace detail
247
+
248
+ template <typename SyncReadStream, typename DynamicBuffer_v1, typename Traits>
249
+ inline std::size_t read_until(SyncReadStream& s, DynamicBuffer_v1&& buffers,
250
+ const boost::basic_regex<char, Traits>& expr,
251
+ constraint_t<
252
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
253
+ >,
254
+ constraint_t<
255
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
256
+ >)
247
257
  {
248
258
  boost::system::error_code ec;
249
259
  std::size_t bytes_transferred = read_until(s,
250
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), expr, ec);
260
+ static_cast<DynamicBuffer_v1&&>(buffers), expr, ec);
251
261
  boost::asio::detail::throw_error(ec, "read_until");
252
262
  return bytes_transferred;
253
263
  }
254
264
 
255
- template <typename SyncReadStream, typename DynamicBuffer_v1>
256
- std::size_t read_until(SyncReadStream& s,
257
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
258
- const boost::regex& expr, boost::system::error_code& ec,
259
- typename constraint<
260
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
261
- >::type,
262
- typename constraint<
263
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
264
- >::type)
265
+ template <typename SyncReadStream, typename DynamicBuffer_v1, typename Traits>
266
+ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v1&& buffers,
267
+ const boost::basic_regex<char, Traits>& expr, boost::system::error_code& ec,
268
+ constraint_t<
269
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
270
+ >,
271
+ constraint_t<
272
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
273
+ >)
265
274
  {
266
- typename decay<DynamicBuffer_v1>::type b(
267
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
275
+ decay_t<DynamicBuffer_v1> b(
276
+ static_cast<DynamicBuffer_v1&&>(buffers));
268
277
 
269
278
  std::size_t search_position = 0;
270
279
  for (;;)
@@ -279,10 +288,10 @@ std::size_t read_until(SyncReadStream& s,
279
288
 
280
289
  // Look for a match.
281
290
  boost::match_results<iterator,
282
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
291
+ typename std::vector<boost::sub_match<iterator>>::allocator_type>
283
292
  match_results;
284
- if (regex_search(start_pos, end, match_results, expr,
285
- boost::match_default | boost::match_partial))
293
+ if (regex_search(start_pos, end, match_results,
294
+ expr, detail::regex_match_flags()))
286
295
  {
287
296
  if (match_results[0].matched)
288
297
  {
@@ -324,21 +333,21 @@ std::size_t read_until(SyncReadStream& s,
324
333
  template <typename SyncReadStream,
325
334
  typename DynamicBuffer_v1, typename MatchCondition>
326
335
  inline std::size_t read_until(SyncReadStream& s,
327
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
336
+ DynamicBuffer_v1&& buffers,
328
337
  MatchCondition match_condition,
329
- typename constraint<
338
+ constraint_t<
330
339
  is_match_condition<MatchCondition>::value
331
- >::type,
332
- typename constraint<
333
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
334
- >::type,
335
- typename constraint<
336
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
337
- >::type)
340
+ >,
341
+ constraint_t<
342
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
343
+ >,
344
+ constraint_t<
345
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
346
+ >)
338
347
  {
339
348
  boost::system::error_code ec;
340
349
  std::size_t bytes_transferred = read_until(s,
341
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
350
+ static_cast<DynamicBuffer_v1&&>(buffers),
342
351
  match_condition, ec);
343
352
  boost::asio::detail::throw_error(ec, "read_until");
344
353
  return bytes_transferred;
@@ -347,20 +356,20 @@ inline std::size_t read_until(SyncReadStream& s,
347
356
  template <typename SyncReadStream,
348
357
  typename DynamicBuffer_v1, typename MatchCondition>
349
358
  std::size_t read_until(SyncReadStream& s,
350
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
359
+ DynamicBuffer_v1&& buffers,
351
360
  MatchCondition match_condition, boost::system::error_code& ec,
352
- typename constraint<
361
+ constraint_t<
353
362
  is_match_condition<MatchCondition>::value
354
- >::type,
355
- typename constraint<
356
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
357
- >::type,
358
- typename constraint<
359
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
360
- >::type)
363
+ >,
364
+ constraint_t<
365
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
366
+ >,
367
+ constraint_t<
368
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
369
+ >)
361
370
  {
362
- typename decay<DynamicBuffer_v1>::type b(
363
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers));
371
+ decay_t<DynamicBuffer_v1> b(
372
+ static_cast<DynamicBuffer_v1&&>(buffers));
364
373
 
365
374
  std::size_t search_position = 0;
366
375
  for (;;)
@@ -444,16 +453,18 @@ inline std::size_t read_until(SyncReadStream& s,
444
453
 
445
454
  #if defined(BOOST_ASIO_HAS_BOOST_REGEX)
446
455
 
447
- template <typename SyncReadStream, typename Allocator>
456
+ template <typename SyncReadStream, typename Allocator, typename Traits>
448
457
  inline std::size_t read_until(SyncReadStream& s,
449
- boost::asio::basic_streambuf<Allocator>& b, const boost::regex& expr)
458
+ boost::asio::basic_streambuf<Allocator>& b,
459
+ const boost::basic_regex<char, Traits>& expr)
450
460
  {
451
461
  return read_until(s, basic_streambuf_ref<Allocator>(b), expr);
452
462
  }
453
463
 
454
- template <typename SyncReadStream, typename Allocator>
464
+ template <typename SyncReadStream, typename Allocator, typename Traits>
455
465
  inline std::size_t read_until(SyncReadStream& s,
456
- boost::asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
466
+ boost::asio::basic_streambuf<Allocator>& b,
467
+ const boost::basic_regex<char, Traits>& expr,
457
468
  boost::system::error_code& ec)
458
469
  {
459
470
  return read_until(s, basic_streambuf_ref<Allocator>(b), expr, ec);
@@ -464,7 +475,7 @@ inline std::size_t read_until(SyncReadStream& s,
464
475
  template <typename SyncReadStream, typename Allocator, typename MatchCondition>
465
476
  inline std::size_t read_until(SyncReadStream& s,
466
477
  boost::asio::basic_streambuf<Allocator>& b, MatchCondition match_condition,
467
- typename constraint<is_match_condition<MatchCondition>::value>::type)
478
+ constraint_t<is_match_condition<MatchCondition>::value>)
468
479
  {
469
480
  return read_until(s, basic_streambuf_ref<Allocator>(b), match_condition);
470
481
  }
@@ -473,7 +484,7 @@ template <typename SyncReadStream, typename Allocator, typename MatchCondition>
473
484
  inline std::size_t read_until(SyncReadStream& s,
474
485
  boost::asio::basic_streambuf<Allocator>& b,
475
486
  MatchCondition match_condition, boost::system::error_code& ec,
476
- typename constraint<is_match_condition<MatchCondition>::value>::type)
487
+ constraint_t<is_match_condition<MatchCondition>::value>)
477
488
  {
478
489
  return read_until(s, basic_streambuf_ref<Allocator>(b), match_condition, ec);
479
490
  }
@@ -485,13 +496,13 @@ inline std::size_t read_until(SyncReadStream& s,
485
496
  template <typename SyncReadStream, typename DynamicBuffer_v2>
486
497
  inline std::size_t read_until(SyncReadStream& s,
487
498
  DynamicBuffer_v2 buffers, char delim,
488
- typename constraint<
499
+ constraint_t<
489
500
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
490
- >::type)
501
+ >)
491
502
  {
492
503
  boost::system::error_code ec;
493
504
  std::size_t bytes_transferred = read_until(s,
494
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim, ec);
505
+ static_cast<DynamicBuffer_v2&&>(buffers), delim, ec);
495
506
  boost::asio::detail::throw_error(ec, "read_until");
496
507
  return bytes_transferred;
497
508
  }
@@ -499,9 +510,9 @@ inline std::size_t read_until(SyncReadStream& s,
499
510
  template <typename SyncReadStream, typename DynamicBuffer_v2>
500
511
  std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
501
512
  char delim, boost::system::error_code& ec,
502
- typename constraint<
513
+ constraint_t<
503
514
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
504
- >::type)
515
+ >)
505
516
  {
506
517
  DynamicBuffer_v2& b = buffers;
507
518
 
@@ -554,13 +565,13 @@ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
554
565
  template <typename SyncReadStream, typename DynamicBuffer_v2>
555
566
  inline std::size_t read_until(SyncReadStream& s,
556
567
  DynamicBuffer_v2 buffers, BOOST_ASIO_STRING_VIEW_PARAM delim,
557
- typename constraint<
568
+ constraint_t<
558
569
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
559
- >::type)
570
+ >)
560
571
  {
561
572
  boost::system::error_code ec;
562
573
  std::size_t bytes_transferred = read_until(s,
563
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim, ec);
574
+ static_cast<DynamicBuffer_v2&&>(buffers), delim, ec);
564
575
  boost::asio::detail::throw_error(ec, "read_until");
565
576
  return bytes_transferred;
566
577
  }
@@ -568,9 +579,9 @@ inline std::size_t read_until(SyncReadStream& s,
568
579
  template <typename SyncReadStream, typename DynamicBuffer_v2>
569
580
  std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
570
581
  BOOST_ASIO_STRING_VIEW_PARAM delim, boost::system::error_code& ec,
571
- typename constraint<
582
+ constraint_t<
572
583
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
573
- >::type)
584
+ >)
574
585
  {
575
586
  DynamicBuffer_v2& b = buffers;
576
587
 
@@ -632,26 +643,26 @@ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
632
643
  #if !defined(BOOST_ASIO_NO_EXTENSIONS)
633
644
  #if defined(BOOST_ASIO_HAS_BOOST_REGEX)
634
645
 
635
- template <typename SyncReadStream, typename DynamicBuffer_v2>
636
- inline std::size_t read_until(SyncReadStream& s,
637
- DynamicBuffer_v2 buffers, const boost::regex& expr,
638
- typename constraint<
646
+ template <typename SyncReadStream, typename DynamicBuffer_v2, typename Traits>
647
+ inline std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
648
+ const boost::basic_regex<char, Traits>& expr,
649
+ constraint_t<
639
650
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
640
- >::type)
651
+ >)
641
652
  {
642
653
  boost::system::error_code ec;
643
654
  std::size_t bytes_transferred = read_until(s,
644
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), expr, ec);
655
+ static_cast<DynamicBuffer_v2&&>(buffers), expr, ec);
645
656
  boost::asio::detail::throw_error(ec, "read_until");
646
657
  return bytes_transferred;
647
658
  }
648
659
 
649
- template <typename SyncReadStream, typename DynamicBuffer_v2>
660
+ template <typename SyncReadStream, typename DynamicBuffer_v2, typename Traits>
650
661
  std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
651
- const boost::regex& expr, boost::system::error_code& ec,
652
- typename constraint<
662
+ const boost::basic_regex<char, Traits>& expr, boost::system::error_code& ec,
663
+ constraint_t<
653
664
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
654
- >::type)
665
+ >)
655
666
  {
656
667
  DynamicBuffer_v2& b = buffers;
657
668
 
@@ -669,10 +680,10 @@ std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
669
680
 
670
681
  // Look for a match.
671
682
  boost::match_results<iterator,
672
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
683
+ typename std::vector<boost::sub_match<iterator>>::allocator_type>
673
684
  match_results;
674
- if (regex_search(start_pos, end, match_results, expr,
675
- boost::match_default | boost::match_partial))
685
+ if (regex_search(start_pos, end, match_results,
686
+ expr, detail::regex_match_flags()))
676
687
  {
677
688
  if (match_results[0].matched)
678
689
  {
@@ -718,16 +729,16 @@ template <typename SyncReadStream,
718
729
  typename DynamicBuffer_v2, typename MatchCondition>
719
730
  inline std::size_t read_until(SyncReadStream& s,
720
731
  DynamicBuffer_v2 buffers, MatchCondition match_condition,
721
- typename constraint<
732
+ constraint_t<
722
733
  is_match_condition<MatchCondition>::value
723
- >::type,
724
- typename constraint<
734
+ >,
735
+ constraint_t<
725
736
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
726
- >::type)
737
+ >)
727
738
  {
728
739
  boost::system::error_code ec;
729
740
  std::size_t bytes_transferred = read_until(s,
730
- BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
741
+ static_cast<DynamicBuffer_v2&&>(buffers),
731
742
  match_condition, ec);
732
743
  boost::asio::detail::throw_error(ec, "read_until");
733
744
  return bytes_transferred;
@@ -737,12 +748,12 @@ template <typename SyncReadStream,
737
748
  typename DynamicBuffer_v2, typename MatchCondition>
738
749
  std::size_t read_until(SyncReadStream& s, DynamicBuffer_v2 buffers,
739
750
  MatchCondition match_condition, boost::system::error_code& ec,
740
- typename constraint<
751
+ constraint_t<
741
752
  is_match_condition<MatchCondition>::value
742
- >::type,
743
- typename constraint<
753
+ >,
754
+ constraint_t<
744
755
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
745
- >::type)
756
+ >)
746
757
  {
747
758
  DynamicBuffer_v2& b = buffers;
748
759
 
@@ -811,20 +822,19 @@ namespace detail
811
822
  public:
812
823
  template <typename BufferSequence>
813
824
  read_until_delim_op_v1(AsyncReadStream& stream,
814
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
825
+ BufferSequence&& buffers,
815
826
  char delim, ReadHandler& handler)
816
827
  : base_from_cancellation_state<ReadHandler>(
817
828
  handler, enable_partial_cancellation()),
818
829
  stream_(stream),
819
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
830
+ buffers_(static_cast<BufferSequence&&>(buffers)),
820
831
  delim_(delim),
821
832
  start_(0),
822
833
  search_position_(0),
823
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
834
+ handler_(static_cast<ReadHandler&&>(handler))
824
835
  {
825
836
  }
826
837
 
827
- #if defined(BOOST_ASIO_HAS_MOVE)
828
838
  read_until_delim_op_v1(const read_until_delim_op_v1& other)
829
839
  : base_from_cancellation_state<ReadHandler>(other),
830
840
  stream_(other.stream_),
@@ -838,17 +848,15 @@ namespace detail
838
848
 
839
849
  read_until_delim_op_v1(read_until_delim_op_v1&& other)
840
850
  : base_from_cancellation_state<ReadHandler>(
841
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
842
- ReadHandler>)(other)),
851
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
843
852
  stream_(other.stream_),
844
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
853
+ buffers_(static_cast<DynamicBuffer_v1&&>(other.buffers_)),
845
854
  delim_(other.delim_),
846
855
  start_(other.start_),
847
856
  search_position_(other.search_position_),
848
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
857
+ handler_(static_cast<ReadHandler&&>(other.handler_))
849
858
  {
850
859
  }
851
- #endif // defined(BOOST_ASIO_HAS_MOVE)
852
860
 
853
861
  void operator()(boost::system::error_code ec,
854
862
  std::size_t bytes_transferred, int start = 0)
@@ -908,7 +916,7 @@ namespace detail
908
916
  BOOST_ASIO_HANDLER_LOCATION((
909
917
  __FILE__, __LINE__, "async_read_until"));
910
918
  stream_.async_read_some(buffers_.prepare(bytes_to_read),
911
- BOOST_ASIO_MOVE_CAST(read_until_delim_op_v1)(*this));
919
+ static_cast<read_until_delim_op_v1&&>(*this));
912
920
  }
913
921
  return; default:
914
922
  buffers_.commit(bytes_transferred);
@@ -929,7 +937,7 @@ namespace detail
929
937
  (ec || search_position_ == not_found)
930
938
  ? 0 : search_position_;
931
939
 
932
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
940
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
933
941
  }
934
942
  }
935
943
 
@@ -942,36 +950,6 @@ namespace detail
942
950
  ReadHandler handler_;
943
951
  };
944
952
 
945
- template <typename AsyncReadStream,
946
- typename DynamicBuffer_v1, typename ReadHandler>
947
- inline asio_handler_allocate_is_deprecated
948
- asio_handler_allocate(std::size_t size,
949
- read_until_delim_op_v1<AsyncReadStream,
950
- DynamicBuffer_v1, ReadHandler>* this_handler)
951
- {
952
- #if defined(BOOST_ASIO_NO_DEPRECATED)
953
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
954
- return asio_handler_allocate_is_no_longer_used();
955
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
956
- return boost_asio_handler_alloc_helpers::allocate(
957
- size, this_handler->handler_);
958
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
959
- }
960
-
961
- template <typename AsyncReadStream,
962
- typename DynamicBuffer_v1, typename ReadHandler>
963
- inline asio_handler_deallocate_is_deprecated
964
- asio_handler_deallocate(void* pointer, std::size_t size,
965
- read_until_delim_op_v1<AsyncReadStream,
966
- DynamicBuffer_v1, ReadHandler>* this_handler)
967
- {
968
- boost_asio_handler_alloc_helpers::deallocate(
969
- pointer, size, this_handler->handler_);
970
- #if defined(BOOST_ASIO_NO_DEPRECATED)
971
- return asio_handler_deallocate_is_no_longer_used();
972
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
973
- }
974
-
975
953
  template <typename AsyncReadStream,
976
954
  typename DynamicBuffer_v1, typename ReadHandler>
977
955
  inline bool asio_handler_is_continuation(
@@ -983,34 +961,6 @@ namespace detail
983
961
  this_handler->handler_);
984
962
  }
985
963
 
986
- template <typename Function, typename AsyncReadStream,
987
- typename DynamicBuffer_v1, typename ReadHandler>
988
- inline asio_handler_invoke_is_deprecated
989
- asio_handler_invoke(Function& function,
990
- read_until_delim_op_v1<AsyncReadStream,
991
- DynamicBuffer_v1, ReadHandler>* this_handler)
992
- {
993
- boost_asio_handler_invoke_helpers::invoke(
994
- function, this_handler->handler_);
995
- #if defined(BOOST_ASIO_NO_DEPRECATED)
996
- return asio_handler_invoke_is_no_longer_used();
997
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
998
- }
999
-
1000
- template <typename Function, typename AsyncReadStream,
1001
- typename DynamicBuffer_v1, typename ReadHandler>
1002
- inline asio_handler_invoke_is_deprecated
1003
- asio_handler_invoke(const Function& function,
1004
- read_until_delim_op_v1<AsyncReadStream,
1005
- DynamicBuffer_v1, ReadHandler>* this_handler)
1006
- {
1007
- boost_asio_handler_invoke_helpers::invoke(
1008
- function, this_handler->handler_);
1009
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1010
- return asio_handler_invoke_is_no_longer_used();
1011
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1012
- }
1013
-
1014
964
  template <typename AsyncReadStream>
1015
965
  class initiate_async_read_until_delim_v1
1016
966
  {
@@ -1022,14 +972,14 @@ namespace detail
1022
972
  {
1023
973
  }
1024
974
 
1025
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
975
+ executor_type get_executor() const noexcept
1026
976
  {
1027
977
  return stream_.get_executor();
1028
978
  }
1029
979
 
1030
980
  template <typename ReadHandler, typename DynamicBuffer_v1>
1031
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
1032
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
981
+ void operator()(ReadHandler&& handler,
982
+ DynamicBuffer_v1&& buffers,
1033
983
  char delim) const
1034
984
  {
1035
985
  // If you get an error on the following line it means that your handler
@@ -1038,9 +988,9 @@ namespace detail
1038
988
 
1039
989
  non_const_lvalue<ReadHandler> handler2(handler);
1040
990
  read_until_delim_op_v1<AsyncReadStream,
1041
- typename decay<DynamicBuffer_v1>::type,
1042
- typename decay<ReadHandler>::type>(
1043
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
991
+ decay_t<DynamicBuffer_v1>,
992
+ decay_t<ReadHandler>>(
993
+ stream_, static_cast<DynamicBuffer_v1&&>(buffers),
1044
994
  delim, handler2.value)(boost::system::error_code(), 0, 1);
1045
995
  }
1046
996
 
@@ -1060,20 +1010,18 @@ struct associator<Associator,
1060
1010
  DefaultCandidate>
1061
1011
  : Associator<ReadHandler, DefaultCandidate>
1062
1012
  {
1063
- static typename Associator<ReadHandler, DefaultCandidate>::type
1064
- get(const detail::read_until_delim_op_v1<AsyncReadStream,
1065
- DynamicBuffer_v1, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
1013
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
1014
+ const detail::read_until_delim_op_v1<AsyncReadStream,
1015
+ DynamicBuffer_v1, ReadHandler>& h) noexcept
1066
1016
  {
1067
1017
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
1068
1018
  }
1069
1019
 
1070
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
1071
- typename Associator<ReadHandler, DefaultCandidate>::type)
1072
- get(const detail::read_until_delim_op_v1<AsyncReadStream,
1020
+ static auto get(
1021
+ const detail::read_until_delim_op_v1<AsyncReadStream,
1073
1022
  DynamicBuffer_v1, ReadHandler>& h,
1074
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
1075
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
1076
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
1023
+ const DefaultCandidate& c) noexcept
1024
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
1077
1025
  {
1078
1026
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
1079
1027
  }
@@ -1084,27 +1032,24 @@ struct associator<Associator,
1084
1032
  template <typename AsyncReadStream, typename DynamicBuffer_v1,
1085
1033
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
1086
1034
  std::size_t)) ReadToken>
1087
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1088
- void (boost::system::error_code, std::size_t))
1089
- async_read_until(AsyncReadStream& s,
1090
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1091
- char delim, BOOST_ASIO_MOVE_ARG(ReadToken) token,
1092
- typename constraint<
1093
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1094
- >::type,
1095
- typename constraint<
1096
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1097
- >::type)
1098
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1035
+ inline auto async_read_until(AsyncReadStream& s,
1036
+ DynamicBuffer_v1&& buffers, char delim, ReadToken&& token,
1037
+ constraint_t<
1038
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1039
+ >,
1040
+ constraint_t<
1041
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1042
+ >)
1043
+ -> decltype(
1099
1044
  async_initiate<ReadToken,
1100
1045
  void (boost::system::error_code, std::size_t)>(
1101
- declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream> >(),
1102
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim)))
1046
+ declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
1047
+ token, static_cast<DynamicBuffer_v1&&>(buffers), delim))
1103
1048
  {
1104
1049
  return async_initiate<ReadToken,
1105
1050
  void (boost::system::error_code, std::size_t)>(
1106
1051
  detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
1107
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), delim);
1052
+ token, static_cast<DynamicBuffer_v1&&>(buffers), delim);
1108
1053
  }
1109
1054
 
1110
1055
  namespace detail
@@ -1117,20 +1062,19 @@ namespace detail
1117
1062
  public:
1118
1063
  template <typename BufferSequence>
1119
1064
  read_until_delim_string_op_v1(AsyncReadStream& stream,
1120
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
1065
+ BufferSequence&& buffers,
1121
1066
  const std::string& delim, ReadHandler& handler)
1122
1067
  : base_from_cancellation_state<ReadHandler>(
1123
1068
  handler, enable_partial_cancellation()),
1124
1069
  stream_(stream),
1125
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
1070
+ buffers_(static_cast<BufferSequence&&>(buffers)),
1126
1071
  delim_(delim),
1127
1072
  start_(0),
1128
1073
  search_position_(0),
1129
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
1074
+ handler_(static_cast<ReadHandler&&>(handler))
1130
1075
  {
1131
1076
  }
1132
1077
 
1133
- #if defined(BOOST_ASIO_HAS_MOVE)
1134
1078
  read_until_delim_string_op_v1(const read_until_delim_string_op_v1& other)
1135
1079
  : base_from_cancellation_state<ReadHandler>(other),
1136
1080
  stream_(other.stream_),
@@ -1144,17 +1088,15 @@ namespace detail
1144
1088
 
1145
1089
  read_until_delim_string_op_v1(read_until_delim_string_op_v1&& other)
1146
1090
  : base_from_cancellation_state<ReadHandler>(
1147
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
1148
- ReadHandler>)(other)),
1091
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
1149
1092
  stream_(other.stream_),
1150
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1151
- delim_(BOOST_ASIO_MOVE_CAST(std::string)(other.delim_)),
1093
+ buffers_(static_cast<DynamicBuffer_v1&&>(other.buffers_)),
1094
+ delim_(static_cast<std::string&&>(other.delim_)),
1152
1095
  start_(other.start_),
1153
1096
  search_position_(other.search_position_),
1154
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1097
+ handler_(static_cast<ReadHandler&&>(other.handler_))
1155
1098
  {
1156
1099
  }
1157
- #endif // defined(BOOST_ASIO_HAS_MOVE)
1158
1100
 
1159
1101
  void operator()(boost::system::error_code ec,
1160
1102
  std::size_t bytes_transferred, int start = 0)
@@ -1225,7 +1167,7 @@ namespace detail
1225
1167
  BOOST_ASIO_HANDLER_LOCATION((
1226
1168
  __FILE__, __LINE__, "async_read_until"));
1227
1169
  stream_.async_read_some(buffers_.prepare(bytes_to_read),
1228
- BOOST_ASIO_MOVE_CAST(read_until_delim_string_op_v1)(*this));
1170
+ static_cast<read_until_delim_string_op_v1&&>(*this));
1229
1171
  }
1230
1172
  return; default:
1231
1173
  buffers_.commit(bytes_transferred);
@@ -1246,7 +1188,7 @@ namespace detail
1246
1188
  (ec || search_position_ == not_found)
1247
1189
  ? 0 : search_position_;
1248
1190
 
1249
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
1191
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
1250
1192
  }
1251
1193
  }
1252
1194
 
@@ -1259,36 +1201,6 @@ namespace detail
1259
1201
  ReadHandler handler_;
1260
1202
  };
1261
1203
 
1262
- template <typename AsyncReadStream,
1263
- typename DynamicBuffer_v1, typename ReadHandler>
1264
- inline asio_handler_allocate_is_deprecated
1265
- asio_handler_allocate(std::size_t size,
1266
- read_until_delim_string_op_v1<AsyncReadStream,
1267
- DynamicBuffer_v1, ReadHandler>* this_handler)
1268
- {
1269
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1270
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
1271
- return asio_handler_allocate_is_no_longer_used();
1272
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
1273
- return boost_asio_handler_alloc_helpers::allocate(
1274
- size, this_handler->handler_);
1275
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1276
- }
1277
-
1278
- template <typename AsyncReadStream,
1279
- typename DynamicBuffer_v1, typename ReadHandler>
1280
- inline asio_handler_deallocate_is_deprecated
1281
- asio_handler_deallocate(void* pointer, std::size_t size,
1282
- read_until_delim_string_op_v1<AsyncReadStream,
1283
- DynamicBuffer_v1, ReadHandler>* this_handler)
1284
- {
1285
- boost_asio_handler_alloc_helpers::deallocate(
1286
- pointer, size, this_handler->handler_);
1287
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1288
- return asio_handler_deallocate_is_no_longer_used();
1289
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1290
- }
1291
-
1292
1204
  template <typename AsyncReadStream,
1293
1205
  typename DynamicBuffer_v1, typename ReadHandler>
1294
1206
  inline bool asio_handler_is_continuation(
@@ -1300,34 +1212,6 @@ namespace detail
1300
1212
  this_handler->handler_);
1301
1213
  }
1302
1214
 
1303
- template <typename Function, typename AsyncReadStream,
1304
- typename DynamicBuffer_v1, typename ReadHandler>
1305
- inline asio_handler_invoke_is_deprecated
1306
- asio_handler_invoke(Function& function,
1307
- read_until_delim_string_op_v1<AsyncReadStream,
1308
- DynamicBuffer_v1, ReadHandler>* this_handler)
1309
- {
1310
- boost_asio_handler_invoke_helpers::invoke(
1311
- function, this_handler->handler_);
1312
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1313
- return asio_handler_invoke_is_no_longer_used();
1314
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1315
- }
1316
-
1317
- template <typename Function, typename AsyncReadStream,
1318
- typename DynamicBuffer_v1, typename ReadHandler>
1319
- inline asio_handler_invoke_is_deprecated
1320
- asio_handler_invoke(const Function& function,
1321
- read_until_delim_string_op_v1<AsyncReadStream,
1322
- DynamicBuffer_v1, ReadHandler>* this_handler)
1323
- {
1324
- boost_asio_handler_invoke_helpers::invoke(
1325
- function, this_handler->handler_);
1326
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1327
- return asio_handler_invoke_is_no_longer_used();
1328
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1329
- }
1330
-
1331
1215
  template <typename AsyncReadStream>
1332
1216
  class initiate_async_read_until_delim_string_v1
1333
1217
  {
@@ -1339,14 +1223,14 @@ namespace detail
1339
1223
  {
1340
1224
  }
1341
1225
 
1342
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
1226
+ executor_type get_executor() const noexcept
1343
1227
  {
1344
1228
  return stream_.get_executor();
1345
1229
  }
1346
1230
 
1347
1231
  template <typename ReadHandler, typename DynamicBuffer_v1>
1348
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
1349
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1232
+ void operator()(ReadHandler&& handler,
1233
+ DynamicBuffer_v1&& buffers,
1350
1234
  const std::string& delim) const
1351
1235
  {
1352
1236
  // If you get an error on the following line it means that your handler
@@ -1355,9 +1239,9 @@ namespace detail
1355
1239
 
1356
1240
  non_const_lvalue<ReadHandler> handler2(handler);
1357
1241
  read_until_delim_string_op_v1<AsyncReadStream,
1358
- typename decay<DynamicBuffer_v1>::type,
1359
- typename decay<ReadHandler>::type>(
1360
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1242
+ decay_t<DynamicBuffer_v1>,
1243
+ decay_t<ReadHandler>>(
1244
+ stream_, static_cast<DynamicBuffer_v1&&>(buffers),
1361
1245
  delim, handler2.value)(boost::system::error_code(), 0, 1);
1362
1246
  }
1363
1247
 
@@ -1377,20 +1261,18 @@ struct associator<Associator,
1377
1261
  DefaultCandidate>
1378
1262
  : Associator<ReadHandler, DefaultCandidate>
1379
1263
  {
1380
- static typename Associator<ReadHandler, DefaultCandidate>::type
1381
- get(const detail::read_until_delim_string_op_v1<AsyncReadStream,
1382
- DynamicBuffer_v1, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
1264
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
1265
+ const detail::read_until_delim_string_op_v1<
1266
+ AsyncReadStream, DynamicBuffer_v1, ReadHandler>& h) noexcept
1383
1267
  {
1384
1268
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
1385
1269
  }
1386
1270
 
1387
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
1388
- typename Associator<ReadHandler, DefaultCandidate>::type)
1389
- get(const detail::read_until_delim_string_op_v1<AsyncReadStream,
1390
- DynamicBuffer_v1, ReadHandler>& h,
1391
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
1392
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
1393
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
1271
+ static auto get(
1272
+ const detail::read_until_delim_string_op_v1<
1273
+ AsyncReadStream, DynamicBuffer_v1, ReadHandler>& h,
1274
+ const DefaultCandidate& c) noexcept
1275
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
1394
1276
  {
1395
1277
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
1396
1278
  }
@@ -1401,30 +1283,26 @@ struct associator<Associator,
1401
1283
  template <typename AsyncReadStream, typename DynamicBuffer_v1,
1402
1284
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
1403
1285
  std::size_t)) ReadToken>
1404
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1405
- void (boost::system::error_code, std::size_t))
1406
- async_read_until(AsyncReadStream& s,
1407
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1408
- BOOST_ASIO_STRING_VIEW_PARAM delim,
1409
- BOOST_ASIO_MOVE_ARG(ReadToken) token,
1410
- typename constraint<
1411
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1412
- >::type,
1413
- typename constraint<
1414
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1415
- >::type)
1416
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1286
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
1287
+ BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token,
1288
+ constraint_t<
1289
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1290
+ >,
1291
+ constraint_t<
1292
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1293
+ >)
1294
+ -> decltype(
1417
1295
  async_initiate<ReadToken,
1418
1296
  void (boost::system::error_code, std::size_t)>(
1419
1297
  declval<detail::initiate_async_read_until_delim_string_v1<
1420
- AsyncReadStream> >(),
1421
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1422
- static_cast<std::string>(delim))))
1298
+ AsyncReadStream>>(),
1299
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
1300
+ static_cast<std::string>(delim)))
1423
1301
  {
1424
1302
  return async_initiate<ReadToken,
1425
1303
  void (boost::system::error_code, std::size_t)>(
1426
1304
  detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
1427
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1305
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
1428
1306
  static_cast<std::string>(delim));
1429
1307
  }
1430
1308
 
@@ -1439,22 +1317,20 @@ namespace detail
1439
1317
  : public base_from_cancellation_state<ReadHandler>
1440
1318
  {
1441
1319
  public:
1442
- template <typename BufferSequence>
1443
- read_until_expr_op_v1(AsyncReadStream& stream,
1444
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
1445
- const boost::regex& expr, ReadHandler& handler)
1320
+ template <typename BufferSequence, typename Traits>
1321
+ read_until_expr_op_v1(AsyncReadStream& stream, BufferSequence&& buffers,
1322
+ const boost::basic_regex<char, Traits>& expr, ReadHandler& handler)
1446
1323
  : base_from_cancellation_state<ReadHandler>(
1447
1324
  handler, enable_partial_cancellation()),
1448
1325
  stream_(stream),
1449
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
1326
+ buffers_(static_cast<BufferSequence&&>(buffers)),
1450
1327
  expr_(expr),
1451
1328
  start_(0),
1452
1329
  search_position_(0),
1453
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
1330
+ handler_(static_cast<ReadHandler&&>(handler))
1454
1331
  {
1455
1332
  }
1456
1333
 
1457
- #if defined(BOOST_ASIO_HAS_MOVE)
1458
1334
  read_until_expr_op_v1(const read_until_expr_op_v1& other)
1459
1335
  : base_from_cancellation_state<ReadHandler>(other),
1460
1336
  stream_(other.stream_),
@@ -1468,17 +1344,15 @@ namespace detail
1468
1344
 
1469
1345
  read_until_expr_op_v1(read_until_expr_op_v1&& other)
1470
1346
  : base_from_cancellation_state<ReadHandler>(
1471
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
1472
- ReadHandler>)(other)),
1347
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
1473
1348
  stream_(other.stream_),
1474
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1349
+ buffers_(static_cast<DynamicBuffer_v1&&>(other.buffers_)),
1475
1350
  expr_(other.expr_),
1476
1351
  start_(other.start_),
1477
1352
  search_position_(other.search_position_),
1478
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1353
+ handler_(static_cast<ReadHandler&&>(other.handler_))
1479
1354
  {
1480
1355
  }
1481
- #endif // defined(BOOST_ASIO_HAS_MOVE)
1482
1356
 
1483
1357
  void operator()(boost::system::error_code ec,
1484
1358
  std::size_t bytes_transferred, int start = 0)
@@ -1502,10 +1376,10 @@ namespace detail
1502
1376
 
1503
1377
  // Look for a match.
1504
1378
  boost::match_results<iterator,
1505
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
1379
+ typename std::vector<boost::sub_match<iterator>>::allocator_type>
1506
1380
  match_results;
1507
- bool match = regex_search(start_pos, end, match_results, expr_,
1508
- boost::match_default | boost::match_partial);
1381
+ bool match = regex_search(start_pos, end,
1382
+ match_results, expr_, regex_match_flags());
1509
1383
  if (match && match_results[0].matched)
1510
1384
  {
1511
1385
  // Full match. We're done.
@@ -1552,7 +1426,7 @@ namespace detail
1552
1426
  BOOST_ASIO_HANDLER_LOCATION((
1553
1427
  __FILE__, __LINE__, "async_read_until"));
1554
1428
  stream_.async_read_some(buffers_.prepare(bytes_to_read),
1555
- BOOST_ASIO_MOVE_CAST(read_until_expr_op_v1)(*this));
1429
+ static_cast<read_until_expr_op_v1&&>(*this));
1556
1430
  }
1557
1431
  return; default:
1558
1432
  buffers_.commit(bytes_transferred);
@@ -1573,7 +1447,7 @@ namespace detail
1573
1447
  (ec || search_position_ == not_found)
1574
1448
  ? 0 : search_position_;
1575
1449
 
1576
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
1450
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
1577
1451
  }
1578
1452
  }
1579
1453
 
@@ -1586,36 +1460,6 @@ namespace detail
1586
1460
  ReadHandler handler_;
1587
1461
  };
1588
1462
 
1589
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1590
- typename RegEx, typename ReadHandler>
1591
- inline asio_handler_allocate_is_deprecated
1592
- asio_handler_allocate(std::size_t size,
1593
- read_until_expr_op_v1<AsyncReadStream,
1594
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1595
- {
1596
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1597
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
1598
- return asio_handler_allocate_is_no_longer_used();
1599
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
1600
- return boost_asio_handler_alloc_helpers::allocate(
1601
- size, this_handler->handler_);
1602
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1603
- }
1604
-
1605
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1606
- typename RegEx, typename ReadHandler>
1607
- inline asio_handler_deallocate_is_deprecated
1608
- asio_handler_deallocate(void* pointer, std::size_t size,
1609
- read_until_expr_op_v1<AsyncReadStream,
1610
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1611
- {
1612
- boost_asio_handler_alloc_helpers::deallocate(
1613
- pointer, size, this_handler->handler_);
1614
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1615
- return asio_handler_deallocate_is_no_longer_used();
1616
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1617
- }
1618
-
1619
1463
  template <typename AsyncReadStream, typename DynamicBuffer_v1,
1620
1464
  typename RegEx, typename ReadHandler>
1621
1465
  inline bool asio_handler_is_continuation(
@@ -1627,34 +1471,6 @@ namespace detail
1627
1471
  this_handler->handler_);
1628
1472
  }
1629
1473
 
1630
- template <typename Function, typename AsyncReadStream,
1631
- typename DynamicBuffer_v1, typename RegEx, typename ReadHandler>
1632
- inline asio_handler_invoke_is_deprecated
1633
- asio_handler_invoke(Function& function,
1634
- read_until_expr_op_v1<AsyncReadStream,
1635
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1636
- {
1637
- boost_asio_handler_invoke_helpers::invoke(
1638
- function, this_handler->handler_);
1639
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1640
- return asio_handler_invoke_is_no_longer_used();
1641
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1642
- }
1643
-
1644
- template <typename Function, typename AsyncReadStream,
1645
- typename DynamicBuffer_v1, typename RegEx, typename ReadHandler>
1646
- inline asio_handler_invoke_is_deprecated
1647
- asio_handler_invoke(const Function& function,
1648
- read_until_expr_op_v1<AsyncReadStream,
1649
- DynamicBuffer_v1, RegEx, ReadHandler>* this_handler)
1650
- {
1651
- boost_asio_handler_invoke_helpers::invoke(
1652
- function, this_handler->handler_);
1653
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1654
- return asio_handler_invoke_is_no_longer_used();
1655
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1656
- }
1657
-
1658
1474
  template <typename AsyncReadStream>
1659
1475
  class initiate_async_read_until_expr_v1
1660
1476
  {
@@ -1666,14 +1482,14 @@ namespace detail
1666
1482
  {
1667
1483
  }
1668
1484
 
1669
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
1485
+ executor_type get_executor() const noexcept
1670
1486
  {
1671
1487
  return stream_.get_executor();
1672
1488
  }
1673
1489
 
1674
1490
  template <typename ReadHandler, typename DynamicBuffer_v1, typename RegEx>
1675
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
1676
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers, const RegEx& expr) const
1491
+ void operator()(ReadHandler&& handler,
1492
+ DynamicBuffer_v1&& buffers, const RegEx& expr) const
1677
1493
  {
1678
1494
  // If you get an error on the following line it means that your handler
1679
1495
  // does not meet the documented type requirements for a ReadHandler.
@@ -1681,9 +1497,9 @@ namespace detail
1681
1497
 
1682
1498
  non_const_lvalue<ReadHandler> handler2(handler);
1683
1499
  read_until_expr_op_v1<AsyncReadStream,
1684
- typename decay<DynamicBuffer_v1>::type,
1685
- RegEx, typename decay<ReadHandler>::type>(
1686
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1500
+ decay_t<DynamicBuffer_v1>,
1501
+ RegEx, decay_t<ReadHandler>>(
1502
+ stream_, static_cast<DynamicBuffer_v1&&>(buffers),
1687
1503
  expr, handler2.value)(boost::system::error_code(), 0, 1);
1688
1504
  }
1689
1505
 
@@ -1703,20 +1519,18 @@ struct associator<Associator,
1703
1519
  DefaultCandidate>
1704
1520
  : Associator<ReadHandler, DefaultCandidate>
1705
1521
  {
1706
- static typename Associator<ReadHandler, DefaultCandidate>::type
1707
- get(const detail::read_until_expr_op_v1<AsyncReadStream,
1708
- DynamicBuffer_v1, RegEx, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
1522
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
1523
+ const detail::read_until_expr_op_v1<AsyncReadStream,
1524
+ DynamicBuffer_v1, RegEx, ReadHandler>& h) noexcept
1709
1525
  {
1710
1526
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
1711
1527
  }
1712
1528
 
1713
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
1714
- typename Associator<ReadHandler, DefaultCandidate>::type)
1715
- get(const detail::read_until_expr_op_v1<AsyncReadStream,
1529
+ static auto get(
1530
+ const detail::read_until_expr_op_v1<AsyncReadStream,
1716
1531
  DynamicBuffer_v1, RegEx, ReadHandler>& h,
1717
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
1718
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
1719
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
1532
+ const DefaultCandidate& c) noexcept
1533
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
1720
1534
  {
1721
1535
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
1722
1536
  }
@@ -1724,31 +1538,27 @@ struct associator<Associator,
1724
1538
 
1725
1539
  #endif // !defined(GENERATING_DOCUMENTATION)
1726
1540
 
1727
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1541
+ template <typename AsyncReadStream, typename DynamicBuffer_v1, typename Traits,
1728
1542
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
1729
1543
  std::size_t)) ReadToken>
1730
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
1731
- void (boost::system::error_code, std::size_t))
1732
- async_read_until(AsyncReadStream& s,
1733
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1734
- const boost::regex& expr,
1735
- BOOST_ASIO_MOVE_ARG(ReadToken) token,
1736
- typename constraint<
1737
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
1738
- >::type,
1739
- typename constraint<
1740
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
1741
- >::type)
1742
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1544
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
1545
+ const boost::basic_regex<char, Traits>& expr, ReadToken&& token,
1546
+ constraint_t<
1547
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1548
+ >,
1549
+ constraint_t<
1550
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1551
+ >)
1552
+ -> decltype(
1743
1553
  async_initiate<ReadToken,
1744
1554
  void (boost::system::error_code, std::size_t)>(
1745
- declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream> >(),
1746
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), expr)))
1555
+ declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
1556
+ token, static_cast<DynamicBuffer_v1&&>(buffers), expr))
1747
1557
  {
1748
1558
  return async_initiate<ReadToken,
1749
1559
  void (boost::system::error_code, std::size_t)>(
1750
1560
  detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
1751
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers), expr);
1561
+ token, static_cast<DynamicBuffer_v1&&>(buffers), expr);
1752
1562
  }
1753
1563
 
1754
1564
  #endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
@@ -1763,20 +1573,19 @@ namespace detail
1763
1573
  public:
1764
1574
  template <typename BufferSequence>
1765
1575
  read_until_match_op_v1(AsyncReadStream& stream,
1766
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
1576
+ BufferSequence&& buffers,
1767
1577
  MatchCondition match_condition, ReadHandler& handler)
1768
1578
  : base_from_cancellation_state<ReadHandler>(
1769
1579
  handler, enable_partial_cancellation()),
1770
1580
  stream_(stream),
1771
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
1581
+ buffers_(static_cast<BufferSequence&&>(buffers)),
1772
1582
  match_condition_(match_condition),
1773
1583
  start_(0),
1774
1584
  search_position_(0),
1775
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
1585
+ handler_(static_cast<ReadHandler&&>(handler))
1776
1586
  {
1777
1587
  }
1778
1588
 
1779
- #if defined(BOOST_ASIO_HAS_MOVE)
1780
1589
  read_until_match_op_v1(const read_until_match_op_v1& other)
1781
1590
  : base_from_cancellation_state<ReadHandler>(other),
1782
1591
  stream_(other.stream_),
@@ -1790,17 +1599,15 @@ namespace detail
1790
1599
 
1791
1600
  read_until_match_op_v1(read_until_match_op_v1&& other)
1792
1601
  : base_from_cancellation_state<ReadHandler>(
1793
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
1794
- ReadHandler>)(other)),
1602
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
1795
1603
  stream_(other.stream_),
1796
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(other.buffers_)),
1604
+ buffers_(static_cast<DynamicBuffer_v1&&>(other.buffers_)),
1797
1605
  match_condition_(other.match_condition_),
1798
1606
  start_(other.start_),
1799
1607
  search_position_(other.search_position_),
1800
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1608
+ handler_(static_cast<ReadHandler&&>(other.handler_))
1801
1609
  {
1802
1610
  }
1803
- #endif // defined(BOOST_ASIO_HAS_MOVE)
1804
1611
 
1805
1612
  void operator()(boost::system::error_code ec,
1806
1613
  std::size_t bytes_transferred, int start = 0)
@@ -1870,7 +1677,7 @@ namespace detail
1870
1677
  BOOST_ASIO_HANDLER_LOCATION((
1871
1678
  __FILE__, __LINE__, "async_read_until"));
1872
1679
  stream_.async_read_some(buffers_.prepare(bytes_to_read),
1873
- BOOST_ASIO_MOVE_CAST(read_until_match_op_v1)(*this));
1680
+ static_cast<read_until_match_op_v1&&>(*this));
1874
1681
  }
1875
1682
  return; default:
1876
1683
  buffers_.commit(bytes_transferred);
@@ -1891,7 +1698,7 @@ namespace detail
1891
1698
  (ec || search_position_ == not_found)
1892
1699
  ? 0 : search_position_;
1893
1700
 
1894
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
1701
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
1895
1702
  }
1896
1703
  }
1897
1704
 
@@ -1904,36 +1711,6 @@ namespace detail
1904
1711
  ReadHandler handler_;
1905
1712
  };
1906
1713
 
1907
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1908
- typename MatchCondition, typename ReadHandler>
1909
- inline asio_handler_allocate_is_deprecated
1910
- asio_handler_allocate(std::size_t size,
1911
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1912
- MatchCondition, ReadHandler>* this_handler)
1913
- {
1914
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1915
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
1916
- return asio_handler_allocate_is_no_longer_used();
1917
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
1918
- return boost_asio_handler_alloc_helpers::allocate(
1919
- size, this_handler->handler_);
1920
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1921
- }
1922
-
1923
- template <typename AsyncReadStream, typename DynamicBuffer_v1,
1924
- typename MatchCondition, typename ReadHandler>
1925
- inline asio_handler_deallocate_is_deprecated
1926
- asio_handler_deallocate(void* pointer, std::size_t size,
1927
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1928
- MatchCondition, ReadHandler>* this_handler)
1929
- {
1930
- boost_asio_handler_alloc_helpers::deallocate(
1931
- pointer, size, this_handler->handler_);
1932
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1933
- return asio_handler_deallocate_is_no_longer_used();
1934
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1935
- }
1936
-
1937
1714
  template <typename AsyncReadStream, typename DynamicBuffer_v1,
1938
1715
  typename MatchCondition, typename ReadHandler>
1939
1716
  inline bool asio_handler_is_continuation(
@@ -1945,36 +1722,6 @@ namespace detail
1945
1722
  this_handler->handler_);
1946
1723
  }
1947
1724
 
1948
- template <typename Function, typename AsyncReadStream,
1949
- typename DynamicBuffer_v1, typename MatchCondition,
1950
- typename ReadHandler>
1951
- inline asio_handler_invoke_is_deprecated
1952
- asio_handler_invoke(Function& function,
1953
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1954
- MatchCondition, ReadHandler>* this_handler)
1955
- {
1956
- boost_asio_handler_invoke_helpers::invoke(
1957
- function, this_handler->handler_);
1958
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1959
- return asio_handler_invoke_is_no_longer_used();
1960
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1961
- }
1962
-
1963
- template <typename Function, typename AsyncReadStream,
1964
- typename DynamicBuffer_v1, typename MatchCondition,
1965
- typename ReadHandler>
1966
- inline asio_handler_invoke_is_deprecated
1967
- asio_handler_invoke(const Function& function,
1968
- read_until_match_op_v1<AsyncReadStream, DynamicBuffer_v1,
1969
- MatchCondition, ReadHandler>* this_handler)
1970
- {
1971
- boost_asio_handler_invoke_helpers::invoke(
1972
- function, this_handler->handler_);
1973
- #if defined(BOOST_ASIO_NO_DEPRECATED)
1974
- return asio_handler_invoke_is_no_longer_used();
1975
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
1976
- }
1977
-
1978
1725
  template <typename AsyncReadStream>
1979
1726
  class initiate_async_read_until_match_v1
1980
1727
  {
@@ -1986,15 +1733,15 @@ namespace detail
1986
1733
  {
1987
1734
  }
1988
1735
 
1989
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
1736
+ executor_type get_executor() const noexcept
1990
1737
  {
1991
1738
  return stream_.get_executor();
1992
1739
  }
1993
1740
 
1994
1741
  template <typename ReadHandler,
1995
1742
  typename DynamicBuffer_v1, typename MatchCondition>
1996
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
1997
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
1743
+ void operator()(ReadHandler&& handler,
1744
+ DynamicBuffer_v1&& buffers,
1998
1745
  MatchCondition match_condition) const
1999
1746
  {
2000
1747
  // If you get an error on the following line it means that your handler
@@ -2003,9 +1750,9 @@ namespace detail
2003
1750
 
2004
1751
  non_const_lvalue<ReadHandler> handler2(handler);
2005
1752
  read_until_match_op_v1<AsyncReadStream,
2006
- typename decay<DynamicBuffer_v1>::type,
2007
- MatchCondition, typename decay<ReadHandler>::type>(
2008
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1753
+ decay_t<DynamicBuffer_v1>,
1754
+ MatchCondition, decay_t<ReadHandler>>(
1755
+ stream_, static_cast<DynamicBuffer_v1&&>(buffers),
2009
1756
  match_condition, handler2.value)(boost::system::error_code(), 0, 1);
2010
1757
  }
2011
1758
 
@@ -2025,20 +1772,18 @@ struct associator<Associator,
2025
1772
  DefaultCandidate>
2026
1773
  : Associator<ReadHandler, DefaultCandidate>
2027
1774
  {
2028
- static typename Associator<ReadHandler, DefaultCandidate>::type
2029
- get(const detail::read_until_match_op_v1<AsyncReadStream,
2030
- DynamicBuffer_v1, MatchCondition, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
1775
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
1776
+ const detail::read_until_match_op_v1<AsyncReadStream,
1777
+ DynamicBuffer_v1, MatchCondition, ReadHandler>& h) noexcept
2031
1778
  {
2032
1779
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
2033
1780
  }
2034
1781
 
2035
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
2036
- typename Associator<ReadHandler, DefaultCandidate>::type)
2037
- get(const detail::read_until_match_op_v1<AsyncReadStream,
1782
+ static auto get(
1783
+ const detail::read_until_match_op_v1<AsyncReadStream,
2038
1784
  DynamicBuffer_v1, MatchCondition, ReadHandler>& h,
2039
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
2040
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
2041
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
1785
+ const DefaultCandidate& c) noexcept
1786
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
2042
1787
  {
2043
1788
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
2044
1789
  }
@@ -2050,31 +1795,28 @@ template <typename AsyncReadStream,
2050
1795
  typename DynamicBuffer_v1, typename MatchCondition,
2051
1796
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2052
1797
  std::size_t)) ReadToken>
2053
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2054
- void (boost::system::error_code, std::size_t))
2055
- async_read_until(AsyncReadStream& s,
2056
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v1) buffers,
2057
- MatchCondition match_condition, BOOST_ASIO_MOVE_ARG(ReadToken) token,
2058
- typename constraint<
1798
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v1&& buffers,
1799
+ MatchCondition match_condition, ReadToken&& token,
1800
+ constraint_t<
2059
1801
  is_match_condition<MatchCondition>::value
2060
- >::type,
2061
- typename constraint<
2062
- is_dynamic_buffer_v1<typename decay<DynamicBuffer_v1>::type>::value
2063
- >::type,
2064
- typename constraint<
2065
- !is_dynamic_buffer_v2<typename decay<DynamicBuffer_v1>::type>::value
2066
- >::type)
2067
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
1802
+ >,
1803
+ constraint_t<
1804
+ is_dynamic_buffer_v1<decay_t<DynamicBuffer_v1>>::value
1805
+ >,
1806
+ constraint_t<
1807
+ !is_dynamic_buffer_v2<decay_t<DynamicBuffer_v1>>::value
1808
+ >)
1809
+ -> decltype(
2068
1810
  async_initiate<ReadToken,
2069
1811
  void (boost::system::error_code, std::size_t)>(
2070
- declval<detail::initiate_async_read_until_match_v1<AsyncReadStream> >(),
2071
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
2072
- match_condition)))
1812
+ declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
1813
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
1814
+ match_condition))
2073
1815
  {
2074
1816
  return async_initiate<ReadToken,
2075
1817
  void (boost::system::error_code, std::size_t)>(
2076
1818
  detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
2077
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v1)(buffers),
1819
+ token, static_cast<DynamicBuffer_v1&&>(buffers),
2078
1820
  match_condition);
2079
1821
  }
2080
1822
 
@@ -2083,52 +1825,59 @@ async_read_until(AsyncReadStream& s,
2083
1825
  template <typename AsyncReadStream, typename Allocator,
2084
1826
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2085
1827
  std::size_t)) ReadToken>
2086
- inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2087
- void (boost::system::error_code, std::size_t))
2088
- async_read_until(AsyncReadStream& s,
2089
- boost::asio::basic_streambuf<Allocator>& b,
2090
- char delim, BOOST_ASIO_MOVE_ARG(ReadToken) token)
2091
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2092
- async_read_until(s, basic_streambuf_ref<Allocator>(b),
2093
- delim, BOOST_ASIO_MOVE_CAST(ReadToken)(token))))
1828
+ inline auto async_read_until(AsyncReadStream& s,
1829
+ boost::asio::basic_streambuf<Allocator>& b, char delim, ReadToken&& token)
1830
+ -> decltype(
1831
+ async_initiate<ReadToken,
1832
+ void (boost::system::error_code, std::size_t)>(
1833
+ declval<detail::initiate_async_read_until_delim_v1<AsyncReadStream>>(),
1834
+ token, basic_streambuf_ref<Allocator>(b), delim))
2094
1835
  {
2095
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
2096
- delim, BOOST_ASIO_MOVE_CAST(ReadToken)(token));
1836
+ return async_initiate<ReadToken,
1837
+ void (boost::system::error_code, std::size_t)>(
1838
+ detail::initiate_async_read_until_delim_v1<AsyncReadStream>(s),
1839
+ token, basic_streambuf_ref<Allocator>(b), delim);
2097
1840
  }
2098
1841
 
2099
1842
  template <typename AsyncReadStream, typename Allocator,
2100
1843
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2101
1844
  std::size_t)) ReadToken>
2102
- inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2103
- void (boost::system::error_code, std::size_t))
2104
- async_read_until(AsyncReadStream& s,
1845
+ inline auto async_read_until(AsyncReadStream& s,
2105
1846
  boost::asio::basic_streambuf<Allocator>& b,
2106
- BOOST_ASIO_STRING_VIEW_PARAM delim,
2107
- BOOST_ASIO_MOVE_ARG(ReadToken) token)
2108
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2109
- async_read_until(s, basic_streambuf_ref<Allocator>(b),
2110
- delim, BOOST_ASIO_MOVE_CAST(ReadToken)(token))))
1847
+ BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token)
1848
+ -> decltype(
1849
+ async_initiate<ReadToken,
1850
+ void (boost::system::error_code, std::size_t)>(
1851
+ declval<detail::initiate_async_read_until_delim_string_v1<
1852
+ AsyncReadStream>>(),
1853
+ token, basic_streambuf_ref<Allocator>(b),
1854
+ static_cast<std::string>(delim)))
2111
1855
  {
2112
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
2113
- delim, BOOST_ASIO_MOVE_CAST(ReadToken)(token));
1856
+ return async_initiate<ReadToken,
1857
+ void (boost::system::error_code, std::size_t)>(
1858
+ detail::initiate_async_read_until_delim_string_v1<AsyncReadStream>(s),
1859
+ token, basic_streambuf_ref<Allocator>(b),
1860
+ static_cast<std::string>(delim));
2114
1861
  }
2115
1862
 
2116
1863
  #if defined(BOOST_ASIO_HAS_BOOST_REGEX)
2117
1864
 
2118
- template <typename AsyncReadStream, typename Allocator,
1865
+ template <typename AsyncReadStream, typename Allocator, typename Traits,
2119
1866
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2120
1867
  std::size_t)) ReadToken>
2121
- inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2122
- void (boost::system::error_code, std::size_t))
2123
- async_read_until(AsyncReadStream& s,
2124
- boost::asio::basic_streambuf<Allocator>& b, const boost::regex& expr,
2125
- BOOST_ASIO_MOVE_ARG(ReadToken) token)
2126
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2127
- async_read_until(s, basic_streambuf_ref<Allocator>(b),
2128
- expr, BOOST_ASIO_MOVE_CAST(ReadToken)(token))))
1868
+ inline auto async_read_until(AsyncReadStream& s,
1869
+ boost::asio::basic_streambuf<Allocator>& b,
1870
+ const boost::basic_regex<char, Traits>& expr, ReadToken&& token)
1871
+ -> decltype(
1872
+ async_initiate<ReadToken,
1873
+ void (boost::system::error_code, std::size_t)>(
1874
+ declval<detail::initiate_async_read_until_expr_v1<AsyncReadStream>>(),
1875
+ token, basic_streambuf_ref<Allocator>(b), expr))
2129
1876
  {
2130
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
2131
- expr, BOOST_ASIO_MOVE_CAST(ReadToken)(token));
1877
+ return async_initiate<ReadToken,
1878
+ void (boost::system::error_code, std::size_t)>(
1879
+ detail::initiate_async_read_until_expr_v1<AsyncReadStream>(s),
1880
+ token, basic_streambuf_ref<Allocator>(b), expr);
2132
1881
  }
2133
1882
 
2134
1883
  #endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
@@ -2136,18 +1885,20 @@ async_read_until(AsyncReadStream& s,
2136
1885
  template <typename AsyncReadStream, typename Allocator, typename MatchCondition,
2137
1886
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2138
1887
  std::size_t)) ReadToken>
2139
- inline BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2140
- void (boost::system::error_code, std::size_t))
2141
- async_read_until(AsyncReadStream& s,
1888
+ inline auto async_read_until(AsyncReadStream& s,
2142
1889
  boost::asio::basic_streambuf<Allocator>& b,
2143
- MatchCondition match_condition, BOOST_ASIO_MOVE_ARG(ReadToken) token,
2144
- typename constraint<is_match_condition<MatchCondition>::value>::type)
2145
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2146
- async_read_until(s, basic_streambuf_ref<Allocator>(b),
2147
- match_condition, BOOST_ASIO_MOVE_CAST(ReadToken)(token))))
1890
+ MatchCondition match_condition, ReadToken&& token,
1891
+ constraint_t<is_match_condition<MatchCondition>::value>)
1892
+ -> decltype(
1893
+ async_initiate<ReadToken,
1894
+ void (boost::system::error_code, std::size_t)>(
1895
+ declval<detail::initiate_async_read_until_match_v1<AsyncReadStream>>(),
1896
+ token, basic_streambuf_ref<Allocator>(b), match_condition))
2148
1897
  {
2149
- return async_read_until(s, basic_streambuf_ref<Allocator>(b),
2150
- match_condition, BOOST_ASIO_MOVE_CAST(ReadToken)(token));
1898
+ return async_initiate<ReadToken,
1899
+ void (boost::system::error_code, std::size_t)>(
1900
+ detail::initiate_async_read_until_match_v1<AsyncReadStream>(s),
1901
+ token, basic_streambuf_ref<Allocator>(b), match_condition);
2151
1902
  }
2152
1903
 
2153
1904
  #endif // !defined(BOOST_ASIO_NO_IOSTREAM)
@@ -2164,21 +1915,20 @@ namespace detail
2164
1915
  public:
2165
1916
  template <typename BufferSequence>
2166
1917
  read_until_delim_op_v2(AsyncReadStream& stream,
2167
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
1918
+ BufferSequence&& buffers,
2168
1919
  char delim, ReadHandler& handler)
2169
1920
  : base_from_cancellation_state<ReadHandler>(
2170
1921
  handler, enable_partial_cancellation()),
2171
1922
  stream_(stream),
2172
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
1923
+ buffers_(static_cast<BufferSequence&&>(buffers)),
2173
1924
  delim_(delim),
2174
1925
  start_(0),
2175
1926
  search_position_(0),
2176
1927
  bytes_to_read_(0),
2177
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
1928
+ handler_(static_cast<ReadHandler&&>(handler))
2178
1929
  {
2179
1930
  }
2180
1931
 
2181
- #if defined(BOOST_ASIO_HAS_MOVE)
2182
1932
  read_until_delim_op_v2(const read_until_delim_op_v2& other)
2183
1933
  : base_from_cancellation_state<ReadHandler>(other),
2184
1934
  stream_(other.stream_),
@@ -2193,18 +1943,16 @@ namespace detail
2193
1943
 
2194
1944
  read_until_delim_op_v2(read_until_delim_op_v2&& other)
2195
1945
  : base_from_cancellation_state<ReadHandler>(
2196
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
2197
- ReadHandler>)(other)),
1946
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
2198
1947
  stream_(other.stream_),
2199
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
1948
+ buffers_(static_cast<DynamicBuffer_v2&&>(other.buffers_)),
2200
1949
  delim_(other.delim_),
2201
1950
  start_(other.start_),
2202
1951
  search_position_(other.search_position_),
2203
1952
  bytes_to_read_(other.bytes_to_read_),
2204
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
1953
+ handler_(static_cast<ReadHandler&&>(other.handler_))
2205
1954
  {
2206
1955
  }
2207
- #endif // defined(BOOST_ASIO_HAS_MOVE)
2208
1956
 
2209
1957
  void operator()(boost::system::error_code ec,
2210
1958
  std::size_t bytes_transferred, int start = 0)
@@ -2268,7 +2016,7 @@ namespace detail
2268
2016
  BOOST_ASIO_HANDLER_LOCATION((
2269
2017
  __FILE__, __LINE__, "async_read_until"));
2270
2018
  stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2271
- BOOST_ASIO_MOVE_CAST(read_until_delim_op_v2)(*this));
2019
+ static_cast<read_until_delim_op_v2&&>(*this));
2272
2020
  }
2273
2021
  return; default:
2274
2022
  buffers_.shrink(bytes_to_read_ - bytes_transferred);
@@ -2289,7 +2037,7 @@ namespace detail
2289
2037
  (ec || search_position_ == not_found)
2290
2038
  ? 0 : search_position_;
2291
2039
 
2292
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
2040
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
2293
2041
  }
2294
2042
  }
2295
2043
 
@@ -2303,36 +2051,6 @@ namespace detail
2303
2051
  ReadHandler handler_;
2304
2052
  };
2305
2053
 
2306
- template <typename AsyncReadStream,
2307
- typename DynamicBuffer_v2, typename ReadHandler>
2308
- inline asio_handler_allocate_is_deprecated
2309
- asio_handler_allocate(std::size_t size,
2310
- read_until_delim_op_v2<AsyncReadStream,
2311
- DynamicBuffer_v2, ReadHandler>* this_handler)
2312
- {
2313
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2314
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
2315
- return asio_handler_allocate_is_no_longer_used();
2316
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
2317
- return boost_asio_handler_alloc_helpers::allocate(
2318
- size, this_handler->handler_);
2319
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2320
- }
2321
-
2322
- template <typename AsyncReadStream,
2323
- typename DynamicBuffer_v2, typename ReadHandler>
2324
- inline asio_handler_deallocate_is_deprecated
2325
- asio_handler_deallocate(void* pointer, std::size_t size,
2326
- read_until_delim_op_v2<AsyncReadStream,
2327
- DynamicBuffer_v2, ReadHandler>* this_handler)
2328
- {
2329
- boost_asio_handler_alloc_helpers::deallocate(
2330
- pointer, size, this_handler->handler_);
2331
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2332
- return asio_handler_deallocate_is_no_longer_used();
2333
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2334
- }
2335
-
2336
2054
  template <typename AsyncReadStream,
2337
2055
  typename DynamicBuffer_v2, typename ReadHandler>
2338
2056
  inline bool asio_handler_is_continuation(
@@ -2344,34 +2062,6 @@ namespace detail
2344
2062
  this_handler->handler_);
2345
2063
  }
2346
2064
 
2347
- template <typename Function, typename AsyncReadStream,
2348
- typename DynamicBuffer_v2, typename ReadHandler>
2349
- inline asio_handler_invoke_is_deprecated
2350
- asio_handler_invoke(Function& function,
2351
- read_until_delim_op_v2<AsyncReadStream,
2352
- DynamicBuffer_v2, ReadHandler>* this_handler)
2353
- {
2354
- boost_asio_handler_invoke_helpers::invoke(
2355
- function, this_handler->handler_);
2356
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2357
- return asio_handler_invoke_is_no_longer_used();
2358
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2359
- }
2360
-
2361
- template <typename Function, typename AsyncReadStream,
2362
- typename DynamicBuffer_v2, typename ReadHandler>
2363
- inline asio_handler_invoke_is_deprecated
2364
- asio_handler_invoke(const Function& function,
2365
- read_until_delim_op_v2<AsyncReadStream,
2366
- DynamicBuffer_v2, ReadHandler>* this_handler)
2367
- {
2368
- boost_asio_handler_invoke_helpers::invoke(
2369
- function, this_handler->handler_);
2370
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2371
- return asio_handler_invoke_is_no_longer_used();
2372
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2373
- }
2374
-
2375
2065
  template <typename AsyncReadStream>
2376
2066
  class initiate_async_read_until_delim_v2
2377
2067
  {
@@ -2383,14 +2073,14 @@ namespace detail
2383
2073
  {
2384
2074
  }
2385
2075
 
2386
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
2076
+ executor_type get_executor() const noexcept
2387
2077
  {
2388
2078
  return stream_.get_executor();
2389
2079
  }
2390
2080
 
2391
2081
  template <typename ReadHandler, typename DynamicBuffer_v2>
2392
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
2393
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v2) buffers, char delim) const
2082
+ void operator()(ReadHandler&& handler,
2083
+ DynamicBuffer_v2&& buffers, char delim) const
2394
2084
  {
2395
2085
  // If you get an error on the following line it means that your handler
2396
2086
  // does not meet the documented type requirements for a ReadHandler.
@@ -2398,9 +2088,9 @@ namespace detail
2398
2088
 
2399
2089
  non_const_lvalue<ReadHandler> handler2(handler);
2400
2090
  read_until_delim_op_v2<AsyncReadStream,
2401
- typename decay<DynamicBuffer_v2>::type,
2402
- typename decay<ReadHandler>::type>(
2403
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2091
+ decay_t<DynamicBuffer_v2>,
2092
+ decay_t<ReadHandler>>(
2093
+ stream_, static_cast<DynamicBuffer_v2&&>(buffers),
2404
2094
  delim, handler2.value)(boost::system::error_code(), 0, 1);
2405
2095
  }
2406
2096
 
@@ -2420,20 +2110,18 @@ struct associator<Associator,
2420
2110
  DefaultCandidate>
2421
2111
  : Associator<ReadHandler, DefaultCandidate>
2422
2112
  {
2423
- static typename Associator<ReadHandler, DefaultCandidate>::type
2424
- get(const detail::read_until_delim_op_v2<AsyncReadStream,
2425
- DynamicBuffer_v2, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
2113
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
2114
+ const detail::read_until_delim_op_v2<AsyncReadStream,
2115
+ DynamicBuffer_v2, ReadHandler>& h) noexcept
2426
2116
  {
2427
2117
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
2428
2118
  }
2429
2119
 
2430
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
2431
- typename Associator<ReadHandler, DefaultCandidate>::type)
2432
- get(const detail::read_until_delim_op_v2<AsyncReadStream,
2120
+ static auto get(
2121
+ const detail::read_until_delim_op_v2<AsyncReadStream,
2433
2122
  DynamicBuffer_v2, ReadHandler>& h,
2434
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
2435
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
2436
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
2123
+ const DefaultCandidate& c) noexcept
2124
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
2437
2125
  {
2438
2126
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
2439
2127
  }
@@ -2444,23 +2132,21 @@ struct associator<Associator,
2444
2132
  template <typename AsyncReadStream, typename DynamicBuffer_v2,
2445
2133
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2446
2134
  std::size_t)) ReadToken>
2447
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2448
- void (boost::system::error_code, std::size_t))
2449
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2450
- char delim, BOOST_ASIO_MOVE_ARG(ReadToken) token,
2451
- typename constraint<
2135
+ inline auto async_read_until(AsyncReadStream& s,
2136
+ DynamicBuffer_v2 buffers, char delim, ReadToken&& token,
2137
+ constraint_t<
2452
2138
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2453
- >::type)
2454
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2139
+ >)
2140
+ -> decltype(
2455
2141
  async_initiate<ReadToken,
2456
2142
  void (boost::system::error_code, std::size_t)>(
2457
- declval<detail::initiate_async_read_until_delim_v2<AsyncReadStream> >(),
2458
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim)))
2143
+ declval<detail::initiate_async_read_until_delim_v2<AsyncReadStream>>(),
2144
+ token, static_cast<DynamicBuffer_v2&&>(buffers), delim))
2459
2145
  {
2460
2146
  return async_initiate<ReadToken,
2461
2147
  void (boost::system::error_code, std::size_t)>(
2462
2148
  detail::initiate_async_read_until_delim_v2<AsyncReadStream>(s),
2463
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), delim);
2149
+ token, static_cast<DynamicBuffer_v2&&>(buffers), delim);
2464
2150
  }
2465
2151
 
2466
2152
  namespace detail
@@ -2473,21 +2159,20 @@ namespace detail
2473
2159
  public:
2474
2160
  template <typename BufferSequence>
2475
2161
  read_until_delim_string_op_v2(AsyncReadStream& stream,
2476
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
2162
+ BufferSequence&& buffers,
2477
2163
  const std::string& delim, ReadHandler& handler)
2478
2164
  : base_from_cancellation_state<ReadHandler>(
2479
2165
  handler, enable_partial_cancellation()),
2480
2166
  stream_(stream),
2481
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
2167
+ buffers_(static_cast<BufferSequence&&>(buffers)),
2482
2168
  delim_(delim),
2483
2169
  start_(0),
2484
2170
  search_position_(0),
2485
2171
  bytes_to_read_(0),
2486
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
2172
+ handler_(static_cast<ReadHandler&&>(handler))
2487
2173
  {
2488
2174
  }
2489
2175
 
2490
- #if defined(BOOST_ASIO_HAS_MOVE)
2491
2176
  read_until_delim_string_op_v2(const read_until_delim_string_op_v2& other)
2492
2177
  : base_from_cancellation_state<ReadHandler>(other),
2493
2178
  stream_(other.stream_),
@@ -2502,18 +2187,16 @@ namespace detail
2502
2187
 
2503
2188
  read_until_delim_string_op_v2(read_until_delim_string_op_v2&& other)
2504
2189
  : base_from_cancellation_state<ReadHandler>(
2505
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
2506
- ReadHandler>)(other)),
2190
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
2507
2191
  stream_(other.stream_),
2508
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2509
- delim_(BOOST_ASIO_MOVE_CAST(std::string)(other.delim_)),
2192
+ buffers_(static_cast<DynamicBuffer_v2&&>(other.buffers_)),
2193
+ delim_(static_cast<std::string&&>(other.delim_)),
2510
2194
  start_(other.start_),
2511
2195
  search_position_(other.search_position_),
2512
2196
  bytes_to_read_(other.bytes_to_read_),
2513
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2197
+ handler_(static_cast<ReadHandler&&>(other.handler_))
2514
2198
  {
2515
2199
  }
2516
- #endif // defined(BOOST_ASIO_HAS_MOVE)
2517
2200
 
2518
2201
  void operator()(boost::system::error_code ec,
2519
2202
  std::size_t bytes_transferred, int start = 0)
@@ -2588,7 +2271,7 @@ namespace detail
2588
2271
  BOOST_ASIO_HANDLER_LOCATION((
2589
2272
  __FILE__, __LINE__, "async_read_until"));
2590
2273
  stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2591
- BOOST_ASIO_MOVE_CAST(read_until_delim_string_op_v2)(*this));
2274
+ static_cast<read_until_delim_string_op_v2&&>(*this));
2592
2275
  }
2593
2276
  return; default:
2594
2277
  buffers_.shrink(bytes_to_read_ - bytes_transferred);
@@ -2609,7 +2292,7 @@ namespace detail
2609
2292
  (ec || search_position_ == not_found)
2610
2293
  ? 0 : search_position_;
2611
2294
 
2612
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
2295
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
2613
2296
  }
2614
2297
  }
2615
2298
 
@@ -2623,36 +2306,6 @@ namespace detail
2623
2306
  ReadHandler handler_;
2624
2307
  };
2625
2308
 
2626
- template <typename AsyncReadStream,
2627
- typename DynamicBuffer_v2, typename ReadHandler>
2628
- inline asio_handler_allocate_is_deprecated
2629
- asio_handler_allocate(std::size_t size,
2630
- read_until_delim_string_op_v2<AsyncReadStream,
2631
- DynamicBuffer_v2, ReadHandler>* this_handler)
2632
- {
2633
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2634
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
2635
- return asio_handler_allocate_is_no_longer_used();
2636
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
2637
- return boost_asio_handler_alloc_helpers::allocate(
2638
- size, this_handler->handler_);
2639
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2640
- }
2641
-
2642
- template <typename AsyncReadStream,
2643
- typename DynamicBuffer_v2, typename ReadHandler>
2644
- inline asio_handler_deallocate_is_deprecated
2645
- asio_handler_deallocate(void* pointer, std::size_t size,
2646
- read_until_delim_string_op_v2<AsyncReadStream,
2647
- DynamicBuffer_v2, ReadHandler>* this_handler)
2648
- {
2649
- boost_asio_handler_alloc_helpers::deallocate(
2650
- pointer, size, this_handler->handler_);
2651
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2652
- return asio_handler_deallocate_is_no_longer_used();
2653
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2654
- }
2655
-
2656
2309
  template <typename AsyncReadStream,
2657
2310
  typename DynamicBuffer_v2, typename ReadHandler>
2658
2311
  inline bool asio_handler_is_continuation(
@@ -2664,34 +2317,6 @@ namespace detail
2664
2317
  this_handler->handler_);
2665
2318
  }
2666
2319
 
2667
- template <typename Function, typename AsyncReadStream,
2668
- typename DynamicBuffer_v2, typename ReadHandler>
2669
- inline asio_handler_invoke_is_deprecated
2670
- asio_handler_invoke(Function& function,
2671
- read_until_delim_string_op_v2<AsyncReadStream,
2672
- DynamicBuffer_v2, ReadHandler>* this_handler)
2673
- {
2674
- boost_asio_handler_invoke_helpers::invoke(
2675
- function, this_handler->handler_);
2676
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2677
- return asio_handler_invoke_is_no_longer_used();
2678
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2679
- }
2680
-
2681
- template <typename Function, typename AsyncReadStream,
2682
- typename DynamicBuffer_v2, typename ReadHandler>
2683
- inline asio_handler_invoke_is_deprecated
2684
- asio_handler_invoke(const Function& function,
2685
- read_until_delim_string_op_v2<AsyncReadStream,
2686
- DynamicBuffer_v2, ReadHandler>* this_handler)
2687
- {
2688
- boost_asio_handler_invoke_helpers::invoke(
2689
- function, this_handler->handler_);
2690
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2691
- return asio_handler_invoke_is_no_longer_used();
2692
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2693
- }
2694
-
2695
2320
  template <typename AsyncReadStream>
2696
2321
  class initiate_async_read_until_delim_string_v2
2697
2322
  {
@@ -2703,14 +2328,14 @@ namespace detail
2703
2328
  {
2704
2329
  }
2705
2330
 
2706
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
2331
+ executor_type get_executor() const noexcept
2707
2332
  {
2708
2333
  return stream_.get_executor();
2709
2334
  }
2710
2335
 
2711
2336
  template <typename ReadHandler, typename DynamicBuffer_v2>
2712
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
2713
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
2337
+ void operator()(ReadHandler&& handler,
2338
+ DynamicBuffer_v2&& buffers,
2714
2339
  const std::string& delim) const
2715
2340
  {
2716
2341
  // If you get an error on the following line it means that your handler
@@ -2719,9 +2344,9 @@ namespace detail
2719
2344
 
2720
2345
  non_const_lvalue<ReadHandler> handler2(handler);
2721
2346
  read_until_delim_string_op_v2<AsyncReadStream,
2722
- typename decay<DynamicBuffer_v2>::type,
2723
- typename decay<ReadHandler>::type>(
2724
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2347
+ decay_t<DynamicBuffer_v2>,
2348
+ decay_t<ReadHandler>>(
2349
+ stream_, static_cast<DynamicBuffer_v2&&>(buffers),
2725
2350
  delim, handler2.value)(boost::system::error_code(), 0, 1);
2726
2351
  }
2727
2352
 
@@ -2741,20 +2366,18 @@ struct associator<Associator,
2741
2366
  DefaultCandidate>
2742
2367
  : Associator<ReadHandler, DefaultCandidate>
2743
2368
  {
2744
- static typename Associator<ReadHandler, DefaultCandidate>::type
2745
- get(const detail::read_until_delim_string_op_v2<AsyncReadStream,
2746
- DynamicBuffer_v2, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
2369
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
2370
+ const detail::read_until_delim_string_op_v2<
2371
+ AsyncReadStream, DynamicBuffer_v2, ReadHandler>& h) noexcept
2747
2372
  {
2748
2373
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
2749
2374
  }
2750
2375
 
2751
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
2752
- typename Associator<ReadHandler, DefaultCandidate>::type)
2753
- get(const detail::read_until_delim_string_op_v2<AsyncReadStream,
2754
- DynamicBuffer_v2, ReadHandler>& h,
2755
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
2756
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
2757
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
2376
+ static auto get(
2377
+ const detail::read_until_delim_string_op_v2<
2378
+ AsyncReadStream, DynamicBuffer_v2, ReadHandler>& h,
2379
+ const DefaultCandidate& c) noexcept
2380
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
2758
2381
  {
2759
2382
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
2760
2383
  }
@@ -2766,26 +2389,23 @@ template <typename AsyncReadStream,
2766
2389
  typename DynamicBuffer_v2,
2767
2390
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
2768
2391
  std::size_t)) ReadToken>
2769
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
2770
- void (boost::system::error_code, std::size_t))
2771
- async_read_until(AsyncReadStream& s,
2772
- DynamicBuffer_v2 buffers, BOOST_ASIO_STRING_VIEW_PARAM delim,
2773
- BOOST_ASIO_MOVE_ARG(ReadToken) token,
2774
- typename constraint<
2392
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2393
+ BOOST_ASIO_STRING_VIEW_PARAM delim, ReadToken&& token,
2394
+ constraint_t<
2775
2395
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
2776
- >::type)
2777
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2396
+ >)
2397
+ -> decltype(
2778
2398
  async_initiate<ReadToken,
2779
2399
  void (boost::system::error_code, std::size_t)>(
2780
2400
  declval<detail::initiate_async_read_until_delim_string_v2<
2781
- AsyncReadStream> >(),
2782
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2783
- static_cast<std::string>(delim))))
2401
+ AsyncReadStream>>(),
2402
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
2403
+ static_cast<std::string>(delim)))
2784
2404
  {
2785
2405
  return async_initiate<ReadToken,
2786
2406
  void (boost::system::error_code, std::size_t)>(
2787
2407
  detail::initiate_async_read_until_delim_string_v2<AsyncReadStream>(s),
2788
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2408
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
2789
2409
  static_cast<std::string>(delim));
2790
2410
  }
2791
2411
 
@@ -2800,23 +2420,21 @@ namespace detail
2800
2420
  : public base_from_cancellation_state<ReadHandler>
2801
2421
  {
2802
2422
  public:
2803
- template <typename BufferSequence>
2804
- read_until_expr_op_v2(AsyncReadStream& stream,
2805
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
2806
- const boost::regex& expr, ReadHandler& handler)
2423
+ template <typename BufferSequence, typename Traits>
2424
+ read_until_expr_op_v2(AsyncReadStream& stream, BufferSequence&& buffers,
2425
+ const boost::basic_regex<char, Traits>& expr, ReadHandler& handler)
2807
2426
  : base_from_cancellation_state<ReadHandler>(
2808
2427
  handler, enable_partial_cancellation()),
2809
2428
  stream_(stream),
2810
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
2429
+ buffers_(static_cast<BufferSequence&&>(buffers)),
2811
2430
  expr_(expr),
2812
2431
  start_(0),
2813
2432
  search_position_(0),
2814
2433
  bytes_to_read_(0),
2815
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
2434
+ handler_(static_cast<ReadHandler&&>(handler))
2816
2435
  {
2817
2436
  }
2818
2437
 
2819
- #if defined(BOOST_ASIO_HAS_MOVE)
2820
2438
  read_until_expr_op_v2(const read_until_expr_op_v2& other)
2821
2439
  : base_from_cancellation_state<ReadHandler>(other),
2822
2440
  stream_(other.stream_),
@@ -2831,18 +2449,16 @@ namespace detail
2831
2449
 
2832
2450
  read_until_expr_op_v2(read_until_expr_op_v2&& other)
2833
2451
  : base_from_cancellation_state<ReadHandler>(
2834
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
2835
- ReadHandler>)(other)),
2452
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
2836
2453
  stream_(other.stream_),
2837
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2454
+ buffers_(static_cast<DynamicBuffer_v2&&>(other.buffers_)),
2838
2455
  expr_(other.expr_),
2839
2456
  start_(other.start_),
2840
2457
  search_position_(other.search_position_),
2841
2458
  bytes_to_read_(other.bytes_to_read_),
2842
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2459
+ handler_(static_cast<ReadHandler&&>(other.handler_))
2843
2460
  {
2844
2461
  }
2845
- #endif // defined(BOOST_ASIO_HAS_MOVE)
2846
2462
 
2847
2463
  void operator()(boost::system::error_code ec,
2848
2464
  std::size_t bytes_transferred, int start = 0)
@@ -2868,10 +2484,10 @@ namespace detail
2868
2484
 
2869
2485
  // Look for a match.
2870
2486
  boost::match_results<iterator,
2871
- typename std::vector<boost::sub_match<iterator> >::allocator_type>
2487
+ typename std::vector<boost::sub_match<iterator>>::allocator_type>
2872
2488
  match_results;
2873
- bool match = regex_search(start_pos, end, match_results, expr_,
2874
- boost::match_default | boost::match_partial);
2489
+ bool match = regex_search(start_pos, end,
2490
+ match_results, expr_, regex_match_flags());
2875
2491
  if (match && match_results[0].matched)
2876
2492
  {
2877
2493
  // Full match. We're done.
@@ -2920,7 +2536,7 @@ namespace detail
2920
2536
  BOOST_ASIO_HANDLER_LOCATION((
2921
2537
  __FILE__, __LINE__, "async_read_until"));
2922
2538
  stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
2923
- BOOST_ASIO_MOVE_CAST(read_until_expr_op_v2)(*this));
2539
+ static_cast<read_until_expr_op_v2&&>(*this));
2924
2540
  }
2925
2541
  return; default:
2926
2542
  buffers_.shrink(bytes_to_read_ - bytes_transferred);
@@ -2941,7 +2557,7 @@ namespace detail
2941
2557
  (ec || search_position_ == not_found)
2942
2558
  ? 0 : search_position_;
2943
2559
 
2944
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
2560
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
2945
2561
  }
2946
2562
  }
2947
2563
 
@@ -2955,36 +2571,6 @@ namespace detail
2955
2571
  ReadHandler handler_;
2956
2572
  };
2957
2573
 
2958
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2959
- typename RegEx, typename ReadHandler>
2960
- inline asio_handler_allocate_is_deprecated
2961
- asio_handler_allocate(std::size_t size,
2962
- read_until_expr_op_v2<AsyncReadStream,
2963
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2964
- {
2965
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2966
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
2967
- return asio_handler_allocate_is_no_longer_used();
2968
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
2969
- return boost_asio_handler_alloc_helpers::allocate(
2970
- size, this_handler->handler_);
2971
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2972
- }
2973
-
2974
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2975
- typename RegEx, typename ReadHandler>
2976
- inline asio_handler_deallocate_is_deprecated
2977
- asio_handler_deallocate(void* pointer, std::size_t size,
2978
- read_until_expr_op_v2<AsyncReadStream,
2979
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
2980
- {
2981
- boost_asio_handler_alloc_helpers::deallocate(
2982
- pointer, size, this_handler->handler_);
2983
- #if defined(BOOST_ASIO_NO_DEPRECATED)
2984
- return asio_handler_deallocate_is_no_longer_used();
2985
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
2986
- }
2987
-
2988
2574
  template <typename AsyncReadStream, typename DynamicBuffer_v2,
2989
2575
  typename RegEx, typename ReadHandler>
2990
2576
  inline bool asio_handler_is_continuation(
@@ -2996,34 +2582,6 @@ namespace detail
2996
2582
  this_handler->handler_);
2997
2583
  }
2998
2584
 
2999
- template <typename Function, typename AsyncReadStream,
3000
- typename DynamicBuffer_v2, typename RegEx, typename ReadHandler>
3001
- inline asio_handler_invoke_is_deprecated
3002
- asio_handler_invoke(Function& function,
3003
- read_until_expr_op_v2<AsyncReadStream,
3004
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
3005
- {
3006
- boost_asio_handler_invoke_helpers::invoke(
3007
- function, this_handler->handler_);
3008
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3009
- return asio_handler_invoke_is_no_longer_used();
3010
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3011
- }
3012
-
3013
- template <typename Function, typename AsyncReadStream,
3014
- typename DynamicBuffer_v2, typename RegEx, typename ReadHandler>
3015
- inline asio_handler_invoke_is_deprecated
3016
- asio_handler_invoke(const Function& function,
3017
- read_until_expr_op_v2<AsyncReadStream,
3018
- DynamicBuffer_v2, RegEx, ReadHandler>* this_handler)
3019
- {
3020
- boost_asio_handler_invoke_helpers::invoke(
3021
- function, this_handler->handler_);
3022
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3023
- return asio_handler_invoke_is_no_longer_used();
3024
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3025
- }
3026
-
3027
2585
  template <typename AsyncReadStream>
3028
2586
  class initiate_async_read_until_expr_v2
3029
2587
  {
@@ -3035,14 +2593,14 @@ namespace detail
3035
2593
  {
3036
2594
  }
3037
2595
 
3038
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
2596
+ executor_type get_executor() const noexcept
3039
2597
  {
3040
2598
  return stream_.get_executor();
3041
2599
  }
3042
2600
 
3043
2601
  template <typename ReadHandler, typename DynamicBuffer_v2, typename RegEx>
3044
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
3045
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
2602
+ void operator()(ReadHandler&& handler,
2603
+ DynamicBuffer_v2&& buffers,
3046
2604
  const RegEx& expr) const
3047
2605
  {
3048
2606
  // If you get an error on the following line it means that your handler
@@ -3051,9 +2609,9 @@ namespace detail
3051
2609
 
3052
2610
  non_const_lvalue<ReadHandler> handler2(handler);
3053
2611
  read_until_expr_op_v2<AsyncReadStream,
3054
- typename decay<DynamicBuffer_v2>::type,
3055
- RegEx, typename decay<ReadHandler>::type>(
3056
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2612
+ decay_t<DynamicBuffer_v2>,
2613
+ RegEx, decay_t<ReadHandler>>(
2614
+ stream_, static_cast<DynamicBuffer_v2&&>(buffers),
3057
2615
  expr, handler2.value)(boost::system::error_code(), 0, 1);
3058
2616
  }
3059
2617
 
@@ -3073,20 +2631,18 @@ struct associator<Associator,
3073
2631
  DefaultCandidate>
3074
2632
  : Associator<ReadHandler, DefaultCandidate>
3075
2633
  {
3076
- static typename Associator<ReadHandler, DefaultCandidate>::type
3077
- get(const detail::read_until_expr_op_v2<AsyncReadStream,
3078
- DynamicBuffer_v2, RegEx, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
2634
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
2635
+ const detail::read_until_expr_op_v2<AsyncReadStream,
2636
+ DynamicBuffer_v2, RegEx, ReadHandler>& h) noexcept
3079
2637
  {
3080
2638
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
3081
2639
  }
3082
2640
 
3083
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
3084
- typename Associator<ReadHandler, DefaultCandidate>::type)
3085
- get(const detail::read_until_expr_op_v2<AsyncReadStream,
2641
+ static auto get(
2642
+ const detail::read_until_expr_op_v2<AsyncReadStream,
3086
2643
  DynamicBuffer_v2, RegEx, ReadHandler>& h,
3087
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
3088
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
3089
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
2644
+ const DefaultCandidate& c) noexcept
2645
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
3090
2646
  {
3091
2647
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
3092
2648
  }
@@ -3094,26 +2650,24 @@ struct associator<Associator,
3094
2650
 
3095
2651
  #endif // !defined(GENERATING_DOCUMENTATION)
3096
2652
 
3097
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
2653
+ template <typename AsyncReadStream, typename DynamicBuffer_v2, typename Traits,
3098
2654
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
3099
2655
  std::size_t)) ReadToken>
3100
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
3101
- void (boost::system::error_code, std::size_t))
3102
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
3103
- const boost::regex& expr, BOOST_ASIO_MOVE_ARG(ReadToken) token,
3104
- typename constraint<
2656
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2657
+ const boost::basic_regex<char, Traits>& expr, ReadToken&& token,
2658
+ constraint_t<
3105
2659
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3106
- >::type)
3107
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2660
+ >)
2661
+ -> decltype(
3108
2662
  async_initiate<ReadToken,
3109
2663
  void (boost::system::error_code, std::size_t)>(
3110
- declval<detail::initiate_async_read_until_expr_v2<AsyncReadStream> >(),
3111
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), expr)))
2664
+ declval<detail::initiate_async_read_until_expr_v2<AsyncReadStream>>(),
2665
+ token, static_cast<DynamicBuffer_v2&&>(buffers), expr))
3112
2666
  {
3113
2667
  return async_initiate<ReadToken,
3114
2668
  void (boost::system::error_code, std::size_t)>(
3115
2669
  detail::initiate_async_read_until_expr_v2<AsyncReadStream>(s),
3116
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers), expr);
2670
+ token, static_cast<DynamicBuffer_v2&&>(buffers), expr);
3117
2671
  }
3118
2672
 
3119
2673
  #endif // defined(BOOST_ASIO_HAS_BOOST_REGEX)
@@ -3128,21 +2682,20 @@ namespace detail
3128
2682
  public:
3129
2683
  template <typename BufferSequence>
3130
2684
  read_until_match_op_v2(AsyncReadStream& stream,
3131
- BOOST_ASIO_MOVE_ARG(BufferSequence) buffers,
2685
+ BufferSequence&& buffers,
3132
2686
  MatchCondition match_condition, ReadHandler& handler)
3133
2687
  : base_from_cancellation_state<ReadHandler>(
3134
2688
  handler, enable_partial_cancellation()),
3135
2689
  stream_(stream),
3136
- buffers_(BOOST_ASIO_MOVE_CAST(BufferSequence)(buffers)),
2690
+ buffers_(static_cast<BufferSequence&&>(buffers)),
3137
2691
  match_condition_(match_condition),
3138
2692
  start_(0),
3139
2693
  search_position_(0),
3140
2694
  bytes_to_read_(0),
3141
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(handler))
2695
+ handler_(static_cast<ReadHandler&&>(handler))
3142
2696
  {
3143
2697
  }
3144
2698
 
3145
- #if defined(BOOST_ASIO_HAS_MOVE)
3146
2699
  read_until_match_op_v2(const read_until_match_op_v2& other)
3147
2700
  : base_from_cancellation_state<ReadHandler>(other),
3148
2701
  stream_(other.stream_),
@@ -3157,18 +2710,16 @@ namespace detail
3157
2710
 
3158
2711
  read_until_match_op_v2(read_until_match_op_v2&& other)
3159
2712
  : base_from_cancellation_state<ReadHandler>(
3160
- BOOST_ASIO_MOVE_CAST(base_from_cancellation_state<
3161
- ReadHandler>)(other)),
2713
+ static_cast<base_from_cancellation_state<ReadHandler>&&>(other)),
3162
2714
  stream_(other.stream_),
3163
- buffers_(BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(other.buffers_)),
2715
+ buffers_(static_cast<DynamicBuffer_v2&&>(other.buffers_)),
3164
2716
  match_condition_(other.match_condition_),
3165
2717
  start_(other.start_),
3166
2718
  search_position_(other.search_position_),
3167
2719
  bytes_to_read_(other.bytes_to_read_),
3168
- handler_(BOOST_ASIO_MOVE_CAST(ReadHandler)(other.handler_))
2720
+ handler_(static_cast<ReadHandler&&>(other.handler_))
3169
2721
  {
3170
2722
  }
3171
- #endif // defined(BOOST_ASIO_HAS_MOVE)
3172
2723
 
3173
2724
  void operator()(boost::system::error_code ec,
3174
2725
  std::size_t bytes_transferred, int start = 0)
@@ -3242,7 +2793,7 @@ namespace detail
3242
2793
  BOOST_ASIO_HANDLER_LOCATION((
3243
2794
  __FILE__, __LINE__, "async_read_until"));
3244
2795
  stream_.async_read_some(buffers_.data(pos, bytes_to_read_),
3245
- BOOST_ASIO_MOVE_CAST(read_until_match_op_v2)(*this));
2796
+ static_cast<read_until_match_op_v2&&>(*this));
3246
2797
  }
3247
2798
  return; default:
3248
2799
  buffers_.shrink(bytes_to_read_ - bytes_transferred);
@@ -3263,7 +2814,7 @@ namespace detail
3263
2814
  (ec || search_position_ == not_found)
3264
2815
  ? 0 : search_position_;
3265
2816
 
3266
- BOOST_ASIO_MOVE_OR_LVALUE(ReadHandler)(handler_)(result_ec, result_n);
2817
+ static_cast<ReadHandler&&>(handler_)(result_ec, result_n);
3267
2818
  }
3268
2819
  }
3269
2820
 
@@ -3277,36 +2828,6 @@ namespace detail
3277
2828
  ReadHandler handler_;
3278
2829
  };
3279
2830
 
3280
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3281
- typename MatchCondition, typename ReadHandler>
3282
- inline asio_handler_allocate_is_deprecated
3283
- asio_handler_allocate(std::size_t size,
3284
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3285
- MatchCondition, ReadHandler>* this_handler)
3286
- {
3287
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3288
- boost_asio_handler_alloc_helpers::allocate(size, this_handler->handler_);
3289
- return asio_handler_allocate_is_no_longer_used();
3290
- #else // defined(BOOST_ASIO_NO_DEPRECATED)
3291
- return boost_asio_handler_alloc_helpers::allocate(
3292
- size, this_handler->handler_);
3293
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3294
- }
3295
-
3296
- template <typename AsyncReadStream, typename DynamicBuffer_v2,
3297
- typename MatchCondition, typename ReadHandler>
3298
- inline asio_handler_deallocate_is_deprecated
3299
- asio_handler_deallocate(void* pointer, std::size_t size,
3300
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3301
- MatchCondition, ReadHandler>* this_handler)
3302
- {
3303
- boost_asio_handler_alloc_helpers::deallocate(
3304
- pointer, size, this_handler->handler_);
3305
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3306
- return asio_handler_deallocate_is_no_longer_used();
3307
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3308
- }
3309
-
3310
2831
  template <typename AsyncReadStream, typename DynamicBuffer_v2,
3311
2832
  typename MatchCondition, typename ReadHandler>
3312
2833
  inline bool asio_handler_is_continuation(
@@ -3318,36 +2839,6 @@ namespace detail
3318
2839
  this_handler->handler_);
3319
2840
  }
3320
2841
 
3321
- template <typename Function, typename AsyncReadStream,
3322
- typename DynamicBuffer_v2, typename MatchCondition,
3323
- typename ReadHandler>
3324
- inline asio_handler_invoke_is_deprecated
3325
- asio_handler_invoke(Function& function,
3326
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3327
- MatchCondition, ReadHandler>* this_handler)
3328
- {
3329
- boost_asio_handler_invoke_helpers::invoke(
3330
- function, this_handler->handler_);
3331
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3332
- return asio_handler_invoke_is_no_longer_used();
3333
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3334
- }
3335
-
3336
- template <typename Function, typename AsyncReadStream,
3337
- typename DynamicBuffer_v2, typename MatchCondition,
3338
- typename ReadHandler>
3339
- inline asio_handler_invoke_is_deprecated
3340
- asio_handler_invoke(const Function& function,
3341
- read_until_match_op_v2<AsyncReadStream, DynamicBuffer_v2,
3342
- MatchCondition, ReadHandler>* this_handler)
3343
- {
3344
- boost_asio_handler_invoke_helpers::invoke(
3345
- function, this_handler->handler_);
3346
- #if defined(BOOST_ASIO_NO_DEPRECATED)
3347
- return asio_handler_invoke_is_no_longer_used();
3348
- #endif // defined(BOOST_ASIO_NO_DEPRECATED)
3349
- }
3350
-
3351
2842
  template <typename AsyncReadStream>
3352
2843
  class initiate_async_read_until_match_v2
3353
2844
  {
@@ -3359,15 +2850,15 @@ namespace detail
3359
2850
  {
3360
2851
  }
3361
2852
 
3362
- executor_type get_executor() const BOOST_ASIO_NOEXCEPT
2853
+ executor_type get_executor() const noexcept
3363
2854
  {
3364
2855
  return stream_.get_executor();
3365
2856
  }
3366
2857
 
3367
2858
  template <typename ReadHandler,
3368
2859
  typename DynamicBuffer_v2, typename MatchCondition>
3369
- void operator()(BOOST_ASIO_MOVE_ARG(ReadHandler) handler,
3370
- BOOST_ASIO_MOVE_ARG(DynamicBuffer_v2) buffers,
2860
+ void operator()(ReadHandler&& handler,
2861
+ DynamicBuffer_v2&& buffers,
3371
2862
  MatchCondition match_condition) const
3372
2863
  {
3373
2864
  // If you get an error on the following line it means that your handler
@@ -3375,11 +2866,10 @@ namespace detail
3375
2866
  BOOST_ASIO_READ_HANDLER_CHECK(ReadHandler, handler) type_check;
3376
2867
 
3377
2868
  non_const_lvalue<ReadHandler> handler2(handler);
3378
- read_until_match_op_v2<AsyncReadStream,
3379
- typename decay<DynamicBuffer_v2>::type,
3380
- MatchCondition, typename decay<ReadHandler>::type>(
3381
- stream_, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
3382
- match_condition, handler2.value)(boost::system::error_code(), 0, 1);
2869
+ read_until_match_op_v2<AsyncReadStream, decay_t<DynamicBuffer_v2>,
2870
+ MatchCondition, decay_t<ReadHandler>>(
2871
+ stream_, static_cast<DynamicBuffer_v2&&>(buffers),
2872
+ match_condition, handler2.value)(boost::system::error_code(), 0, 1);
3383
2873
  }
3384
2874
 
3385
2875
  private:
@@ -3398,20 +2888,18 @@ struct associator<Associator,
3398
2888
  DefaultCandidate>
3399
2889
  : Associator<ReadHandler, DefaultCandidate>
3400
2890
  {
3401
- static typename Associator<ReadHandler, DefaultCandidate>::type
3402
- get(const detail::read_until_match_op_v2<AsyncReadStream,
3403
- DynamicBuffer_v2, MatchCondition, ReadHandler>& h) BOOST_ASIO_NOEXCEPT
2891
+ static typename Associator<ReadHandler, DefaultCandidate>::type get(
2892
+ const detail::read_until_match_op_v2<AsyncReadStream,
2893
+ DynamicBuffer_v2, MatchCondition, ReadHandler>& h) noexcept
3404
2894
  {
3405
2895
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_);
3406
2896
  }
3407
2897
 
3408
- static BOOST_ASIO_AUTO_RETURN_TYPE_PREFIX2(
3409
- typename Associator<ReadHandler, DefaultCandidate>::type)
3410
- get(const detail::read_until_match_op_v2<AsyncReadStream,
2898
+ static auto get(
2899
+ const detail::read_until_match_op_v2<AsyncReadStream,
3411
2900
  DynamicBuffer_v2, MatchCondition, ReadHandler>& h,
3412
- const DefaultCandidate& c) BOOST_ASIO_NOEXCEPT
3413
- BOOST_ASIO_AUTO_RETURN_TYPE_SUFFIX((
3414
- Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c)))
2901
+ const DefaultCandidate& c) noexcept
2902
+ -> decltype(Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c))
3415
2903
  {
3416
2904
  return Associator<ReadHandler, DefaultCandidate>::get(h.handler_, c);
3417
2905
  }
@@ -3423,27 +2911,25 @@ template <typename AsyncReadStream,
3423
2911
  typename DynamicBuffer_v2, typename MatchCondition,
3424
2912
  BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code,
3425
2913
  std::size_t)) ReadToken>
3426
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_PREFIX(ReadToken,
3427
- void (boost::system::error_code, std::size_t))
3428
- async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
3429
- MatchCondition match_condition, BOOST_ASIO_MOVE_ARG(ReadToken) token,
3430
- typename constraint<
2914
+ inline auto async_read_until(AsyncReadStream& s, DynamicBuffer_v2 buffers,
2915
+ MatchCondition match_condition, ReadToken&& token,
2916
+ constraint_t<
3431
2917
  is_match_condition<MatchCondition>::value
3432
- >::type,
3433
- typename constraint<
2918
+ >,
2919
+ constraint_t<
3434
2920
  is_dynamic_buffer_v2<DynamicBuffer_v2>::value
3435
- >::type)
3436
- BOOST_ASIO_INITFN_AUTO_RESULT_TYPE_SUFFIX((
2921
+ >)
2922
+ -> decltype(
3437
2923
  async_initiate<ReadToken,
3438
2924
  void (boost::system::error_code, std::size_t)>(
3439
- declval<detail::initiate_async_read_until_match_v2<AsyncReadStream> >(),
3440
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
3441
- match_condition)))
2925
+ declval<detail::initiate_async_read_until_match_v2<AsyncReadStream>>(),
2926
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
2927
+ match_condition))
3442
2928
  {
3443
2929
  return async_initiate<ReadToken,
3444
2930
  void (boost::system::error_code, std::size_t)>(
3445
2931
  detail::initiate_async_read_until_match_v2<AsyncReadStream>(s),
3446
- token, BOOST_ASIO_MOVE_CAST(DynamicBuffer_v2)(buffers),
2932
+ token, static_cast<DynamicBuffer_v2&&>(buffers),
3447
2933
  match_condition);
3448
2934
  }
3449
2935