passenger 6.0.7 → 6.0.8

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 (1573) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +29 -0
  3. data/CONTRIBUTORS +1 -0
  4. data/README.md +2 -9
  5. data/build/common_library.rb +4 -4
  6. data/build/packaging.rb +4 -2
  7. data/build/support/cxx_dependency_map.rb +1 -0
  8. data/dev/copy_boost_headers +1 -1
  9. data/resources/release.txt +1 -0
  10. data/resources/templates/config/installation_utils/user_support_binaries_dir_not_writable.txt.erb +1 -0
  11. data/resources/templates/standalone/global.erb +4 -0
  12. data/src/agent/Core/AdminPanelConnector.h +1 -1
  13. data/src/agent/Core/ApplicationPool/Group.h +1 -1
  14. data/src/agent/Core/ApplicationPool/Group/InternalUtils.cpp +2 -2
  15. data/src/agent/Core/ApplicationPool/Group/OutOfBandWork.cpp +1 -1
  16. data/src/agent/Core/ApplicationPool/Options.h +2 -2
  17. data/src/agent/Core/ApplicationPool/Pool.h +1 -1
  18. data/src/agent/Core/ApplicationPool/Pool/ProcessUtils.cpp +1 -1
  19. data/src/agent/Core/Config.h +2 -2
  20. data/src/agent/Core/Controller/Config.h +2 -2
  21. data/src/agent/Core/SpawningKit/Handshake/BackgroundIOCapturer.h +1 -1
  22. data/src/agent/Core/SpawningKit/Handshake/Perform.h +1 -1
  23. data/src/agent/Core/SpawningKit/PipeWatcher.h +1 -1
  24. data/src/agent/Core/SpawningKit/SmartSpawner.h +1 -1
  25. data/src/agent/Core/SpawningKit/Spawner.h +1 -0
  26. data/src/agent/Core/TelemetryCollector.h +1 -1
  27. data/src/agent/Shared/ApiServerUtils.h +1 -1
  28. data/src/agent/Watchdog/Config.h +1 -1
  29. data/src/agent/Watchdog/InstanceDirToucher.cpp +1 -1
  30. data/src/agent/Watchdog/WatchdogMain.cpp +1 -1
  31. data/src/cxx_supportlib/BackgroundEventLoop.cpp +1 -1
  32. data/src/cxx_supportlib/ConfigKit/Schema.h +1 -1
  33. data/src/cxx_supportlib/ConfigKit/Translator.h +1 -1
  34. data/src/cxx_supportlib/Constants.h +2 -2
  35. data/src/cxx_supportlib/FileTools/FileManip.cpp +10 -1
  36. data/src/cxx_supportlib/FileTools/FileManip.h +16 -0
  37. data/src/cxx_supportlib/IOTools/BufferedIO.h +1 -1
  38. data/src/cxx_supportlib/IOTools/MessageIO.h +1 -1
  39. data/src/cxx_supportlib/SafeLibev.h +1 -1
  40. data/src/cxx_supportlib/ServerKit/AcceptLoadBalancer.h +1 -1
  41. data/src/cxx_supportlib/SystemTools/ProcessMetricsCollector.h +1 -1
  42. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +9 -12
  43. data/src/cxx_supportlib/oxt/dynamic_thread_group.hpp +5 -1
  44. data/src/cxx_supportlib/oxt/thread.hpp +1 -1
  45. data/src/cxx_supportlib/vendor-copy/websocketpp/changelog.md +107 -5
  46. data/src/cxx_supportlib/vendor-copy/websocketpp/readme.md +2 -2
  47. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/close.hpp +12 -1
  48. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/asio.hpp +13 -3
  49. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/memory.hpp +0 -1
  50. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/common/thread.hpp +6 -2
  51. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/config/core.hpp +13 -1
  52. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/connection.hpp +6 -15
  53. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/endpoint.hpp +24 -24
  54. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/disabled.hpp +1 -0
  55. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/extensions/permessage_deflate/enabled.hpp +84 -19
  56. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/frame.hpp +3 -0
  57. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/impl/parser.hpp +4 -0
  58. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/http/parser.hpp +10 -0
  59. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/connection_impl.hpp +150 -147
  60. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/impl/endpoint_impl.hpp +4 -4
  61. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/base.hpp +1 -1
  62. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/processors/hybi13.hpp +47 -25
  63. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/client_endpoint.hpp +3 -3
  64. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/roles/server_endpoint.hpp +14 -9
  65. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/sha1/sha1.hpp +189 -189
  66. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/connection.hpp +59 -66
  67. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/endpoint.hpp +73 -38
  68. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/none.hpp +9 -7
  69. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/asio/security/tls.hpp +12 -22
  70. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/base/endpoint.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/connection.hpp +11 -11
  72. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/debug/endpoint.hpp +1 -1
  73. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/connection.hpp +13 -13
  74. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/iostream/endpoint.hpp +3 -3
  75. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/transport/stub/connection.hpp +8 -8
  76. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/uri.hpp +1 -0
  77. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/utilities.hpp +2 -4
  78. data/src/cxx_supportlib/vendor-copy/websocketpp/websocketpp/version.hpp +3 -3
  79. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/compare.hpp +3 -3
  80. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +2 -2
  81. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +1 -1
  82. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/finder.hpp +15 -15
  83. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/formatter.hpp +1 -1
  84. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/trim.hpp +3 -3
  85. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/find_format.hpp +1 -2
  86. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +0 -1
  87. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/iter_find.hpp +8 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/predicate.hpp +4 -3
  89. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/split.hpp +12 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +2 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +47 -17
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +73 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +2 -8
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +37 -20
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +426 -65
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +135 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +432 -257
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +178 -113
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +1 -1
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +433 -257
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +286 -143
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +315 -96
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +241 -64
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +364 -227
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +976 -461
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +21 -44
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +15 -35
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +329 -197
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +1 -1
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +1 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +221 -115
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +11 -47
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +416 -89
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +23 -27
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +31 -30
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +23 -27
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +1 -1
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +473 -0
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +138 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +118 -102
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +3 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +33 -10
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +114 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +20 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +4 -3
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +145 -27
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +109 -0
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +107 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +90 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +11 -6
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +9 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +481 -129
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +29 -12
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +25 -7
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +36 -16
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +36 -16
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +2 -2
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +205 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +1 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +1 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +1 -1
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +55 -6
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +24 -1
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +27 -1
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +1 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +378 -35
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +218 -84
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +12 -8
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +40 -2
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +6 -2
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +11 -6
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +5 -4
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +16 -19
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +4 -4
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +37 -33
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +87 -4
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +8 -3
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +22 -23
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +674 -283
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +15 -6
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +211 -5
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +9 -10
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +6 -5
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +177 -0
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +65 -16
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +4 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +56 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +7 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +63 -52
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +2 -2
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +14 -8
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +15 -2
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +16 -6
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +62 -34
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +15 -7
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +15 -14
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +53 -28
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +20 -10
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +43 -19
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +42 -16
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +26 -13
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +48 -20
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +43 -17
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +82 -80
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +77 -47
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +15 -7
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +1 -1
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -2
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +16 -14
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +31 -13
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +31 -15
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +18 -18
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +22 -19
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +21 -2
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +1 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +11 -7
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +24 -12
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +47 -1
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +2 -2
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +1 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +47 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +13 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -1
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +26 -2
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +5 -2
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +7 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +67 -5
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +1 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +65 -3
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +177 -2
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +13 -8
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +84 -8
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +46 -10
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +27 -14
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +48 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +251 -0
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +2266 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +49 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +1353 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +1066 -0
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +394 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +1020 -0
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +490 -0
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +187 -0
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +203 -0
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +154 -0
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +107 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +130 -0
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +263 -0
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +235 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +92 -0
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +270 -0
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +240 -0
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +42 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +38 -0
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +73 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +919 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +180 -0
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +96 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +723 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +329 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +282 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +50 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +722 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +294 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +88 -0
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +313 -0
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +257 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +257 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +490 -0
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +254 -0
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +454 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +3 -2
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +8 -2
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +129 -12
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -2
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +29 -6
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +30 -4
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +438 -0
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +154 -56
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +148 -52
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +300 -0
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +637 -0
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +299 -243
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +204 -33
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +132 -0
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +199 -34
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +8 -6
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +16 -101
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +6 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +14 -5
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +209 -114
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +4 -3
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +51 -0
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +204 -33
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +619 -132
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +194 -90
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +2278 -445
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/impl → impl}/redirect_error.hpp +148 -52
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +59 -68
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +2 -2
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +4 -1
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +1 -1
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +25 -6
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +114 -13
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +261 -38
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +73 -8
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +281 -0
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +131 -40
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +562 -132
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +185 -91
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +714 -60
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +46 -54
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +35 -27
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +32 -26
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +1 -1
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +1 -1
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +41 -36
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +1 -1
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +1 -1
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +1 -1
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +24 -23
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +200 -190
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +1 -1
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +1 -1
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +21 -19
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -10
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +23 -18
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +11 -11
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +26 -26
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +1 -1
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +1 -1
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +8 -8
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +1 -1
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +1 -1
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +9 -9
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +3 -3
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +3 -3
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +63 -0
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +10 -2
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +14 -19
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +7 -1
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +8 -1
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +60 -0
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -1
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +1 -1
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +189 -74
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +180 -72
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +5 -612
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +2 -2
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +3 -326
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +29 -10
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +660 -0
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +300 -0
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +398 -57
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +51 -28
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +1460 -423
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/{experimental/redirect_error.hpp → redirect_error.hpp} +9 -10
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +528 -0
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +314 -0
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +3 -736
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +3 -422
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +26 -26
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +13 -5
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +2 -1
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +4 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +6 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +6 -1
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +6 -1
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +37 -10
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +3 -3
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +51 -8
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +5 -1
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +6 -1
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +17 -2
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +41 -6
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +1 -1
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +11 -2
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +21 -7
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +92 -0
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +44 -10
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +75 -0
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +5 -1
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +2 -1
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +7 -3
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +235 -97
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +33 -0
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +264 -13
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +16 -4
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +558 -25
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -1
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +47 -0
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +917 -38
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +116 -0
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +116 -0
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +114 -0
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +114 -0
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +102 -0
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +110 -0
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +110 -0
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +110 -0
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +110 -0
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +110 -0
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +110 -0
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +110 -0
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +110 -0
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +110 -0
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +110 -0
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +110 -0
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +110 -0
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +110 -0
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +110 -0
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +110 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +114 -0
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +114 -0
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +236 -0
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +236 -0
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +110 -0
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +110 -0
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +110 -0
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +125 -0
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +125 -0
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +114 -0
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +114 -0
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +2 -2
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +101 -36
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +171 -0
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +295 -42
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +363 -0
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +186 -72
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +188 -73
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +3 -346
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +4 -296
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +38 -9
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +3 -344
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +3 -328
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +372 -54
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +51 -28
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  589. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +93 -0
  590. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +9 -0
  591. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +178 -11
  592. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +12 -3
  593. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +85 -0
  594. data/src/cxx_supportlib/vendor-modified/boost/atomic/capabilities.hpp +2 -191
  595. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -0
  596. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/aligned_variable.hpp +57 -0
  597. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +129 -0
  598. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{atomic_template.hpp → atomic_impl.hpp} +327 -429
  599. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1126 -0
  600. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +23 -4
  601. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +3 -0
  602. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/capabilities.hpp +217 -0
  603. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch32.hpp +46 -0
  604. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_arch_gcc_aarch64.hpp +58 -0
  605. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_alpha.hpp → caps_arch_gcc_alpha.hpp} +4 -4
  606. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_arm.hpp → caps_arch_gcc_arm.hpp} +37 -8
  607. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_ppc.hpp → caps_arch_gcc_ppc.hpp} +19 -6
  608. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_gcc_sparc.hpp → caps_arch_gcc_sparc.hpp} +4 -4
  609. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{hwcaps_gcc_x86.hpp → caps_arch_gcc_x86.hpp} +22 -6
  610. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_arm.hpp → caps_arch_msvc_arm.hpp} +4 -4
  611. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{caps_msvc_x86.hpp → caps_arch_msvc_x86.hpp} +12 -6
  612. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_atomic.hpp +100 -75
  613. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_sync.hpp +0 -7
  614. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +50 -0
  615. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +81 -0
  616. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +39 -15
  617. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations.hpp +50 -0
  618. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_operations_fwd.hpp +38 -0
  619. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +1121 -0
  620. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +1909 -0
  621. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_alpha.hpp → core_arch_ops_gcc_alpha.hpp} +280 -289
  622. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_arm.hpp → core_arch_ops_gcc_arm.hpp} +467 -447
  623. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_ppc.hpp → core_arch_ops_gcc_ppc.hpp} +75 -94
  624. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sparc.hpp → core_arch_ops_gcc_sparc.hpp} +33 -58
  625. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_x86_dcas.hpp → core_arch_ops_gcc_x86.hpp} +507 -20
  626. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_arm.hpp → core_arch_ops_msvc_arm.hpp} +58 -54
  627. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_msvc_x86.hpp → core_arch_ops_msvc_x86.hpp} +69 -101
  628. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations.hpp +49 -0
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +195 -0
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated_fwd.hpp +38 -0
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_fwd.hpp +38 -0
  632. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_cas_based.hpp → core_ops_cas_based.hpp} +9 -22
  633. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +306 -0
  634. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_gcc_sync.hpp → core_ops_gcc_sync.hpp} +75 -52
  635. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_linux_arm.hpp → core_ops_linux_arm.hpp} +32 -43
  636. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +201 -0
  637. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{ops_extending_cas_based.hpp → extending_cas_based_arithmetic.hpp} +12 -9
  638. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_operations_fwd.hpp +4 -1
  639. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +23 -12
  640. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +12 -9
  641. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_operations_fwd.hpp +4 -1
  642. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +60 -40
  643. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +1060 -0
  644. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +1330 -0
  645. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +363 -355
  646. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +94 -91
  647. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +232 -102
  648. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +9 -17
  649. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +6 -4
  650. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +119 -92
  651. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +41 -0
  652. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +60 -0
  653. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +58 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +53 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +90 -0
  656. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +68 -0
  657. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +70 -0
  658. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +69 -0
  659. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +66 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +66 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +41 -0
  662. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +50 -0
  663. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +75 -0
  664. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +53 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +64 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +67 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/footer.hpp +24 -0
  668. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_operations_fwd.hpp +4 -1
  669. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +14 -8
  670. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -3
  671. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +147 -0
  672. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_arm_asm_common.hpp +75 -0
  673. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +66 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/header.hpp +72 -0
  675. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/{integral_extend.hpp → integral_conversions.hpp} +8 -5
  676. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +35 -11
  677. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +46 -0
  678. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +151 -0
  679. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +47 -0
  680. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +43 -0
  681. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch32_common.hpp +53 -0
  682. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_aarch64_common.hpp +53 -0
  683. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +8 -79
  684. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -1
  685. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_msvc_common.hpp +7 -2
  686. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +23 -5
  687. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +64 -27
  688. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +187 -0
  689. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +51 -0
  690. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -2
  691. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +45 -0
  692. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_capabilities.hpp +363 -0
  693. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_dragonfly_umtx.hpp +30 -0
  694. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_freebsd_umtx.hpp +40 -0
  695. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_futex.hpp +31 -0
  696. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +55 -0
  697. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations.hpp +28 -0
  698. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_operations_fwd.hpp +43 -0
  699. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +75 -0
  700. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +97 -0
  701. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +119 -0
  702. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +111 -0
  703. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +143 -0
  704. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +150 -0
  705. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +7 -18
  706. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +85 -0
  707. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +40 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +85 -0
  709. data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +20 -1
  710. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +11 -11
  711. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +1 -1
  712. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +25 -11
  713. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +18 -18
  714. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +1 -1
  715. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +1 -1
  716. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +26 -6
  717. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +2 -2
  718. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +8 -5
  719. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +107 -105
  720. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -21
  721. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +25 -31
  722. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  723. data/src/cxx_supportlib/vendor-modified/boost/config/abi_prefix.hpp +1 -1
  724. data/src/cxx_supportlib/vendor-modified/boost/config/abi_suffix.hpp +1 -3
  725. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +72 -22
  726. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -1
  727. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +13 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +155 -10
  729. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +2 -0
  730. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +5 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +2 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +21 -5
  733. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +2 -0
  734. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +7 -0
  736. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +2 -0
  737. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +2 -0
  738. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +2 -0
  739. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +2 -0
  740. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +2 -0
  741. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +15 -7
  742. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +5 -0
  743. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
  744. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -1
  745. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_stdlib_config.hpp +13 -2
  746. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +68 -4
  747. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +3 -0
  748. data/src/cxx_supportlib/vendor-modified/boost/config/platform/vxworks.hpp +63 -74
  749. data/src/cxx_supportlib/vendor-modified/boost/config/requires_threads.hpp +1 -1
  750. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +10 -4
  751. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcomo.hpp +1 -0
  752. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +2 -0
  753. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +9 -1
  754. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/modena.hpp +1 -0
  755. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/msl.hpp +1 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/roguewave.hpp +2 -1
  757. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/sgi.hpp +1 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/stlport.hpp +6 -5
  759. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/vacpp.hpp +1 -0
  760. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/xlcpp_zos.hpp +1 -0
  761. data/src/cxx_supportlib/vendor-modified/boost/config/user.hpp +2 -2
  762. data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +15 -0
  763. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +10 -10
  764. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +13 -13
  765. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +19 -3
  766. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +117 -29
  767. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +250 -208
  768. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +7 -7
  769. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  770. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +4 -4
  771. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_list.hpp +2 -1
  772. data/src/cxx_supportlib/vendor-modified/boost/container/detail/block_slist.hpp +2 -1
  773. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +2 -2
  774. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_or_allocator_rebind.hpp +4 -0
  775. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +21 -116
  776. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +11 -8
  777. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +14 -14
  778. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +30 -24
  779. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +7 -0
  780. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +133 -117
  781. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +2 -2
  782. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +83 -18
  783. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +6 -6
  784. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +103 -69
  785. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +6 -0
  786. data/src/cxx_supportlib/vendor-modified/boost/container/detail/version_type.hpp +3 -12
  787. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +6 -2
  788. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +51 -45
  789. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +24 -22
  790. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +83 -77
  791. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +82 -87
  792. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +17 -2
  793. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +2 -2
  794. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +278 -2
  795. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/flat_set.hpp +3 -3
  796. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +1 -4
  797. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +30 -1
  798. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +5 -4
  799. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +90 -6
  800. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +4 -4
  801. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/unsynchronized_pool_resource.hpp +4 -4
  802. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
  803. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +63 -67
  804. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +48 -42
  805. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +150 -105
  806. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +174 -155
  807. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +157 -105
  808. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +54 -53
  809. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +15 -15
  810. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +207 -207
  811. data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +0 -51
  812. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +4 -3
  813. data/src/cxx_supportlib/vendor-modified/boost/core/addressof.hpp +2 -2
  814. data/src/cxx_supportlib/vendor-modified/boost/core/alloc_construct.hpp +169 -0
  815. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +633 -0
  816. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +6 -4
  817. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +148 -0
  818. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +16 -6
  819. data/src/cxx_supportlib/vendor-modified/boost/core/first_scalar.hpp +45 -0
  820. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +157 -50
  821. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +82 -1
  822. data/src/cxx_supportlib/vendor-modified/boost/core/no_exceptions_support.hpp +14 -2
  823. data/src/cxx_supportlib/vendor-modified/boost/core/noinit_adaptor.hpp +87 -0
  824. data/src/cxx_supportlib/vendor-modified/boost/core/nvp.hpp +57 -0
  825. data/src/cxx_supportlib/vendor-modified/boost/core/pointer_traits.hpp +1 -0
  826. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +1 -1
  827. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +1 -1
  828. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -3
  829. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +2 -2
  830. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +155 -0
  831. data/src/cxx_supportlib/vendor-modified/boost/core/use_default.hpp +17 -0
  832. data/src/cxx_supportlib/vendor-modified/boost/cstdint.hpp +5 -5
  833. data/src/cxx_supportlib/vendor-modified/boost/current_function.hpp +3 -3
  834. data/src/cxx_supportlib/vendor-modified/boost/date_time/c_time.hpp +9 -4
  835. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +4 -17
  836. data/src/cxx_supportlib/vendor-modified/boost/date_time/constrained_value.hpp +19 -11
  837. data/src/cxx_supportlib/vendor-modified/boost/date_time/date.hpp +23 -23
  838. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration.hpp +17 -22
  839. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_duration_types.hpp +44 -49
  840. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_facet.hpp +5 -6
  841. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_generators.hpp +24 -19
  842. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_parsing.hpp +51 -25
  843. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_rules.hpp +56 -56
  844. data/src/cxx_supportlib/vendor-modified/boost/date_time/dst_transition_generators.hpp +2 -2
  845. data/src/cxx_supportlib/vendor-modified/boost/date_time/find_match.hpp +42 -0
  846. data/src/cxx_supportlib/vendor-modified/boost/date_time/format_date_parser.hpp +98 -98
  847. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_date.hpp +22 -14
  848. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_day.hpp +4 -4
  849. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration.hpp +44 -32
  850. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_duration_types.hpp +2 -2
  851. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_month.hpp +51 -23
  852. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_serialize.hpp +29 -27
  853. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_weekday.hpp +43 -9
  854. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/greg_year.hpp +3 -3
  855. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian/parsers.hpp +32 -13
  856. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.hpp +15 -17
  857. data/src/cxx_supportlib/vendor-modified/boost/date_time/gregorian_calendar.ipp +27 -22
  858. data/src/cxx_supportlib/vendor-modified/boost/date_time/int_adapter.hpp +57 -37
  859. data/src/cxx_supportlib/vendor-modified/boost/date_time/local_time/local_time_io.hpp +3 -0
  860. data/src/cxx_supportlib/vendor-modified/boost/date_time/locale_config.hpp +3 -3
  861. data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +44 -47
  862. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_formatter.hpp +34 -31
  863. data/src/cxx_supportlib/vendor-modified/boost/date_time/period_parser.hpp +27 -28
  864. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/date_duration_operators.hpp +8 -8
  865. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_config.hpp +13 -26
  866. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +4 -4
  867. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/ptime.hpp +22 -4
  868. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_serialize.hpp +28 -12
  869. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_formatter.hpp +1 -0
  870. data/src/cxx_supportlib/vendor-modified/boost/date_time/special_values_parser.hpp +0 -5
  871. data/src/cxx_supportlib/vendor-modified/boost/date_time/string_parse_tree.hpp +5 -3
  872. data/src/cxx_supportlib/vendor-modified/boost/date_time/strings_from_facet.hpp +4 -2
  873. data/src/cxx_supportlib/vendor-modified/boost/date_time/time.hpp +24 -3
  874. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +56 -44
  875. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_facet.hpp +8 -11
  876. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_parsing.hpp +3 -8
  877. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_resolution_traits.hpp +18 -18
  878. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_counted.hpp +65 -50
  879. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_system_split.hpp +43 -30
  880. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_base.hpp +1 -1
  881. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_zone_names.hpp +1 -1
  882. data/src/cxx_supportlib/vendor-modified/boost/date_time/tz_db_base.hpp +0 -1
  883. data/src/cxx_supportlib/vendor-modified/boost/date_time/wrapping_int.hpp +16 -15
  884. data/src/cxx_supportlib/vendor-modified/boost/date_time/year_month_day.hpp +7 -5
  885. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -4
  886. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +10 -4
  887. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +10 -4
  888. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +12 -7
  889. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +63 -8
  890. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +9 -4
  891. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +9 -4
  892. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/shared_ptr.hpp +2 -2
  893. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +9 -4
  894. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +15 -6
  895. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +19 -57
  896. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +9 -4
  897. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +11 -6
  898. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +9 -4
  899. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +9 -4
  900. data/src/cxx_supportlib/vendor-modified/boost/exception_ptr.hpp +2 -2
  901. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +13 -6
  902. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +4 -12
  903. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +22 -4
  904. data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +2 -2
  905. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +1 -1
  906. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +30 -28
  907. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +83 -0
  908. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +6 -6
  909. data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +53 -0
  910. data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +2 -3
  911. data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +1 -0
  912. data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +1 -1
  913. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +22 -22
  914. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +11 -11
  915. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +22 -22
  916. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +11 -11
  917. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +2 -2
  918. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +3 -3
  919. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +12 -12
  920. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +18 -9
  921. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +12 -4
  922. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +10 -10
  923. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +1 -1
  924. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +15 -3
  925. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +7 -12
  926. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +1 -0
  927. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +13 -1
  928. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +23 -11
  929. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +6 -1
  930. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +13 -17
  931. data/src/cxx_supportlib/vendor-modified/boost/intrusive/intrusive_fwd.hpp +3 -0
  932. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +9 -9
  933. data/src/cxx_supportlib/vendor-modified/boost/intrusive/options.hpp +9 -1
  934. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +6 -0
  935. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +14 -14
  936. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +2 -2
  937. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +11 -11
  938. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -1
  939. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +22 -22
  940. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +22 -22
  941. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +11 -11
  942. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +11 -11
  943. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +22 -22
  944. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +11 -11
  945. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +93 -66
  946. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +17 -14
  947. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +67 -60
  948. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +9 -9
  949. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +361 -315
  950. data/src/cxx_supportlib/vendor-modified/boost/io_fwd.hpp +45 -49
  951. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +4 -4
  952. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +3 -2
  953. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +3 -3
  954. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +1 -1
  955. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  956. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +18 -13
  957. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +43 -43
  958. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +2 -2
  959. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +1 -1
  960. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  961. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -5
  962. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  963. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +1 -1
  964. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +1 -1
  965. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +1 -1
  966. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +2 -2
  967. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +10 -3
  968. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +1 -1
  969. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +7 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +4 -2
  971. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_traits_defaults.cpp +2 -2
  972. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +3 -1
  973. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +5 -5
  974. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +7 -0
  975. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +1 -1
  976. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once.cpp +0 -1
  977. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +4 -3
  978. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +12 -7
  979. data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +50 -52
  980. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +41 -7
  981. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +23 -3
  982. data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +6 -6
  983. data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +2 -2
  984. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +6 -12
  985. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +35 -26
  986. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +18 -12
  987. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +103 -318
  988. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +437 -10
  989. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge_sort.hpp +68 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/set_difference.hpp +1 -1
  991. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +15 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  993. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils_core.hpp +11 -6
  994. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +2 -1
  995. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +1 -1
  996. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +1 -1
  997. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
  998. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/common_name_wknd.hpp +2 -2
  999. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/adl.hpp +1 -1
  1000. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/arrays.hpp +1 -1
  1001. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bcc.hpp +2 -2
  1002. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/bind.hpp +1 -1
  1003. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/compiler.hpp +2 -2
  1004. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ctps.hpp +1 -1
  1005. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/dtp.hpp +3 -3
  1006. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/forwarding.hpp +1 -1
  1007. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/integral.hpp +1 -1
  1008. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/operators.hpp +1 -1
  1009. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/overload_resolution.hpp +1 -1
  1010. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/preprocessor.hpp +1 -1
  1011. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/config/ttp.hpp +2 -2
  1012. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/count_impl.hpp +1 -1
  1013. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/fold_impl_body.hpp +3 -3
  1014. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/has_rebind.hpp +4 -4
  1015. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/integral_wrapper.hpp +1 -1
  1016. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/lambda_support.hpp +3 -3
  1017. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/nested_type_wknd.hpp +1 -1
  1018. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/size_impl.hpp +1 -1
  1019. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/static_cast.hpp +1 -1
  1020. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +2 -2
  1021. data/src/cxx_supportlib/vendor-modified/boost/mpl/if.hpp +1 -1
  1022. data/src/cxx_supportlib/vendor-modified/boost/mpl/integral_c.hpp +1 -1
  1023. data/src/cxx_supportlib/vendor-modified/boost/mpl/lower_bound.hpp +1 -1
  1024. data/src/cxx_supportlib/vendor-modified/boost/mpl/numeric_cast.hpp +1 -1
  1025. data/src/cxx_supportlib/vendor-modified/boost/mpl/upper_bound.hpp +1 -1
  1026. data/src/cxx_supportlib/vendor-modified/boost/mpl/vector/aux_/at.hpp +1 -1
  1027. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +4 -3
  1028. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +4 -3
  1029. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +31 -24
  1030. data/src/cxx_supportlib/vendor-modified/boost/optional/bad_optional_access.hpp +9 -0
  1031. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +1 -1
  1032. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +9 -4
  1033. data/src/cxx_supportlib/vendor-modified/boost/parameter/are_tagged_arguments.hpp +125 -0
  1034. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/always_true_predicate.hpp +42 -0
  1035. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +1252 -358
  1036. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/as_lvalue.hpp +25 -0
  1037. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/augment_predicate.hpp +198 -0
  1038. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/cast.hpp +7 -136
  1039. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +90 -59
  1040. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/has_nested_template_fn.hpp +111 -0
  1041. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_maybe.hpp +42 -16
  1042. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_placeholder.hpp +64 -0
  1043. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/is_tagged_argument.hpp +95 -0
  1044. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/lambda_tag.hpp +16 -0
  1045. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +128 -97
  1046. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +93 -0
  1047. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/as_parameter_requirements.hpp +32 -0
  1048. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduce_tag.hpp +217 -0
  1049. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/deduced_item.hpp +34 -0
  1050. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/insert_tagged.hpp +23 -0
  1051. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/is_named_argument.hpp +43 -0
  1052. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +47 -0
  1053. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +438 -0
  1054. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_deduced_items.hpp +53 -0
  1055. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_items.hpp +45 -0
  1056. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_parameter_spec_items.hpp +244 -0
  1057. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/parameter_requirements.hpp +25 -0
  1058. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/predicate.hpp +87 -0
  1059. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/satisfies.hpp +142 -0
  1060. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_deduced.hpp +59 -0
  1061. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg.hpp +30 -0
  1062. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +67 -0
  1063. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_template_keyword_arg.hpp +30 -0
  1064. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_type.hpp +89 -0
  1065. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +41 -0
  1066. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parameter_requirements.hpp +7 -20
  1067. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/parenthesized_type.hpp +8 -31
  1068. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/argument_pack.hpp +91 -0
  1069. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/match.hpp +55 -0
  1070. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pp_impl/unwrap_predicate.hpp +97 -0
  1071. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each.hpp +1638 -0
  1072. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_for_each_inc.hpp +1796 -0
  1073. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/binary_seq_to_args.hpp +65 -0
  1074. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/convert_binary_seq.hpp +57 -0
  1075. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/flatten.hpp +7 -110
  1076. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each.hpp +7 -98
  1077. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/for_each_pred.hpp +1029 -0
  1078. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/argument_specs.hpp +24 -0
  1079. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/arity_range.hpp +42 -0
  1080. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/flatten.hpp +143 -0
  1081. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/for_each.hpp +152 -0
  1082. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/forwarding_overloads.hpp +509 -0
  1083. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +730 -0
  1084. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_layer.hpp +474 -0
  1085. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_dispatch_tuple.hpp +33 -0
  1086. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +43 -0
  1087. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_name.hpp +152 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/no_spec_overloads.hpp +331 -0
  1089. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_return_type.hpp +122 -0
  1090. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/parenthesized_type.hpp +34 -0
  1091. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +109 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/split_args.hpp +71 -0
  1093. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/inc_binary_seq.hpp +78 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +31 -0
  1095. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +32 -0
  1096. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_begin.hpp +165 -0
  1097. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/no_perfect_forwarding_end.hpp +24 -0
  1098. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/nullptr.hpp +18 -0
  1099. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +92 -0
  1100. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/qualifier.hpp +88 -0
  1101. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_enum.hpp +26 -0
  1102. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/seq_merge.hpp +1807 -0
  1103. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/result_of0.hpp +46 -29
  1104. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +94 -42
  1105. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +149 -27
  1106. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +865 -159
  1107. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument_fwd.hpp +38 -0
  1108. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/template_keyword.hpp +76 -34
  1109. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +159 -76
  1110. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default.hpp +17 -0
  1111. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/use_default_tag.hpp +29 -0
  1112. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +25 -16
  1113. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/yesno.hpp +30 -14
  1114. data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +154 -70
  1115. data/src/cxx_supportlib/vendor-modified/boost/parameter/compose.hpp +210 -0
  1116. data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +75 -6
  1117. data/src/cxx_supportlib/vendor-modified/boost/parameter/deduced.hpp +132 -0
  1118. data/src/cxx_supportlib/vendor-modified/boost/parameter/is_argument_pack.hpp +29 -0
  1119. data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword.hpp +724 -102
  1120. data/src/cxx_supportlib/vendor-modified/boost/parameter/keyword_fwd.hpp +23 -0
  1121. data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +205 -72
  1122. data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +37 -44
  1123. data/src/cxx_supportlib/vendor-modified/boost/parameter/name.hpp +100 -126
  1124. data/src/cxx_supportlib/vendor-modified/boost/parameter/nested_keyword.hpp +111 -0
  1125. data/src/cxx_supportlib/vendor-modified/boost/parameter/optional.hpp +67 -0
  1126. data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +553 -884
  1127. data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor.hpp +156 -1016
  1128. data/src/cxx_supportlib/vendor-modified/boost/parameter/preprocessor_no_spec.hpp +74 -0
  1129. data/src/cxx_supportlib/vendor-modified/boost/parameter/required.hpp +66 -0
  1130. data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +87 -0
  1131. data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +152 -70
  1132. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  1133. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +17 -16
  1134. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +86 -32
  1135. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +11 -10
  1136. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +14 -13
  1137. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +17 -16
  1138. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +28 -27
  1139. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +21 -20
  1140. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +19 -18
  1141. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +23 -22
  1142. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +10 -9
  1143. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +8 -7
  1144. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +43 -0
  1145. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +16 -15
  1146. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +12 -11
  1147. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +16 -15
  1148. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +10 -9
  1149. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +10 -9
  1150. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86.h +4 -4
  1151. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +26 -25
  1152. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +16 -15
  1153. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +9 -8
  1154. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/borland.h +12 -11
  1155. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/clang.h +10 -9
  1156. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/comeau.h +10 -9
  1157. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +12 -11
  1158. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/diab.h +10 -9
  1159. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/digitalmars.h +10 -9
  1160. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/dignus.h +10 -9
  1161. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/edg.h +10 -9
  1162. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ekopath.h +10 -9
  1163. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc.h +11 -10
  1164. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/gcc_xml.h +9 -8
  1165. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/greenhills.h +12 -11
  1166. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/hp_acc.h +10 -9
  1167. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/iar.h +10 -9
  1168. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/ibm.h +15 -14
  1169. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/intel.h +18 -17
  1170. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/kai.h +10 -9
  1171. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/llvm.h +9 -8
  1172. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metaware.h +9 -8
  1173. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/metrowerks.h +14 -13
  1174. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/microtec.h +9 -8
  1175. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/mpw.h +12 -11
  1176. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +10 -9
  1177. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/palm.h +10 -9
  1178. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/pgi.h +10 -9
  1179. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sgi_mipspro.h +12 -11
  1180. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/sunpro.h +14 -13
  1181. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/tendra.h +9 -8
  1182. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/visualc.h +13 -12
  1183. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/watcom.h +10 -9
  1184. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd.h +95 -46
  1185. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm.h +21 -19
  1186. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/arm/versions.h +16 -10
  1187. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc.h +21 -19
  1188. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/ppc/versions.h +27 -21
  1189. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86.h +39 -37
  1190. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86/versions.h +73 -67
  1191. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd.h +25 -23
  1192. data/src/cxx_supportlib/vendor-modified/boost/predef/hardware/simd/x86_amd/versions.h +24 -19
  1193. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +11 -10
  1194. data/src/cxx_supportlib/vendor-modified/boost/predef/language/objc.h +9 -8
  1195. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdc.h +10 -9
  1196. data/src/cxx_supportlib/vendor-modified/boost/predef/language/stdcpp.h +39 -32
  1197. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/cloudabi.h +10 -9
  1198. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/gnu.h +12 -11
  1199. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/uc.h +10 -9
  1200. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/vms.h +9 -8
  1201. data/src/cxx_supportlib/vendor-modified/boost/predef/library/c/zos.h +10 -9
  1202. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +10 -9
  1203. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/dinkumware.h +11 -10
  1204. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/libcomo.h +10 -9
  1205. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/modena.h +10 -9
  1206. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msl.h +12 -11
  1207. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/roguewave.h +11 -10
  1208. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/sgi.h +10 -9
  1209. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +12 -11
  1210. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stlport.h +13 -12
  1211. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/vacpp.h +9 -8
  1212. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +97 -35
  1213. data/src/cxx_supportlib/vendor-modified/boost/predef/os.h +0 -1
  1214. data/src/cxx_supportlib/vendor-modified/boost/predef/os/aix.h +14 -13
  1215. data/src/cxx_supportlib/vendor-modified/boost/predef/os/amigaos.h +10 -9
  1216. data/src/cxx_supportlib/vendor-modified/boost/predef/os/beos.h +9 -8
  1217. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd.h +22 -23
  1218. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +9 -8
  1219. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +9 -8
  1220. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +10 -9
  1221. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +16 -15
  1222. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +59 -58
  1223. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +10 -9
  1224. data/src/cxx_supportlib/vendor-modified/boost/predef/os/haiku.h +9 -8
  1225. data/src/cxx_supportlib/vendor-modified/boost/predef/os/hpux.h +11 -10
  1226. data/src/cxx_supportlib/vendor-modified/boost/predef/os/ios.h +12 -11
  1227. data/src/cxx_supportlib/vendor-modified/boost/predef/os/irix.h +10 -9
  1228. data/src/cxx_supportlib/vendor-modified/boost/predef/os/linux.h +14 -10
  1229. data/src/cxx_supportlib/vendor-modified/boost/predef/os/macos.h +14 -13
  1230. data/src/cxx_supportlib/vendor-modified/boost/predef/os/os400.h +9 -8
  1231. data/src/cxx_supportlib/vendor-modified/boost/predef/os/qnxnto.h +12 -11
  1232. data/src/cxx_supportlib/vendor-modified/boost/predef/os/solaris.h +10 -9
  1233. data/src/cxx_supportlib/vendor-modified/boost/predef/os/unix.h +24 -22
  1234. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +11 -10
  1235. data/src/cxx_supportlib/vendor-modified/boost/predef/os/windows.h +16 -15
  1236. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +12 -11
  1237. data/src/cxx_supportlib/vendor-modified/boost/predef/other/workaround.h +22 -14
  1238. data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +1 -0
  1239. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/android.h +44 -0
  1240. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/cloudabi.h +9 -8
  1241. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/ios.h +14 -9
  1242. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw.h +12 -11
  1243. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw32.h +10 -9
  1244. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/mingw64.h +10 -9
  1245. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_desktop.h +10 -9
  1246. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_phone.h +9 -8
  1247. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_runtime.h +10 -9
  1248. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_server.h +9 -8
  1249. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_store.h +10 -9
  1250. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_system.h +9 -8
  1251. data/src/cxx_supportlib/vendor-modified/boost/predef/platform/windows_uwp.h +12 -11
  1252. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  1253. data/src/cxx_supportlib/vendor-modified/boost/predef/version_number.h +16 -14
  1254. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +20 -20
  1255. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_list.hpp +7 -7
  1256. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_seq.hpp +7 -7
  1257. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/to_tuple.hpp +7 -7
  1258. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +2 -2
  1259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities.hpp +2 -0
  1260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/check_empty.hpp +19 -0
  1261. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/detail/is_empty.hpp +3 -3
  1262. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +28 -1
  1263. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/va_opt.hpp +34 -0
  1264. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +16 -16
  1265. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_tuple.hpp +14 -14
  1266. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +7 -7
  1267. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +3 -3
  1268. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/is_empty.hpp +11 -11
  1269. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each.hpp +27 -27
  1270. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/for_each_i.hpp +28 -28
  1271. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/replace.hpp +7 -7
  1272. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +9 -9
  1273. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +3 -3
  1274. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +4 -4
  1275. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +2 -2
  1276. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +16 -16
  1277. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +16 -16
  1278. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +1 -1
  1279. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +1 -1
  1280. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +10 -10
  1281. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +16 -16
  1282. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +2 -2
  1283. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +2 -2
  1284. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +2 -2
  1285. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +2 -2
  1286. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic.hpp +1 -0
  1287. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +39 -0
  1288. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +3 -3
  1289. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +28 -0
  1290. data/src/cxx_supportlib/vendor-modified/boost/random/detail/integer_log2.hpp +1 -1
  1291. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +4 -0
  1292. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +0 -6
  1293. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +4 -10
  1294. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  1295. data/src/cxx_supportlib/vendor-modified/boost/range/config.hpp +1 -1
  1296. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +4 -10
  1297. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +0 -32
  1298. data/src/cxx_supportlib/vendor-modified/boost/range/rbegin.hpp +0 -13
  1299. data/src/cxx_supportlib/vendor-modified/boost/range/rend.hpp +0 -13
  1300. data/src/cxx_supportlib/vendor-modified/boost/range/size.hpp +1 -1
  1301. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +33 -7
  1302. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -2
  1303. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +1 -1
  1304. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -1
  1305. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +7 -0
  1306. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +17 -6
  1307. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +27 -5
  1308. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +36 -15
  1309. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +4 -4
  1310. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +1 -1
  1311. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +105 -0
  1312. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +54 -0
  1313. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +1 -1
  1314. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +13 -1
  1315. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +1 -1
  1316. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +26 -16
  1317. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +16 -6
  1318. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +11 -11
  1319. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +6 -6
  1320. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +7 -0
  1321. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +2 -0
  1322. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +7 -7
  1323. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +1 -1
  1324. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +3 -3
  1325. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +1 -1
  1326. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +1 -1
  1327. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +3 -3
  1328. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +92 -388
  1329. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/bad_weak_ptr.hpp +5 -5
  1330. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +8 -4
  1331. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +7 -0
  1332. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +63 -0
  1333. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +11 -0
  1334. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_nt.hpp +7 -0
  1335. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +7 -0
  1336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +7 -0
  1337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +8 -1
  1338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +13 -2
  1339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +6 -6
  1340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_sp_deleter.hpp +3 -3
  1341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +87 -47
  1342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_convertible.hpp +1 -1
  1343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +12 -16
  1344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +13 -3
  1345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +10 -3
  1346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +13 -3
  1347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +148 -0
  1348. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +13 -3
  1349. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +13 -3
  1350. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +13 -3
  1351. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +13 -3
  1352. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +13 -3
  1353. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +25 -16
  1354. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +16 -8
  1355. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +14 -4
  1356. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +10 -3
  1357. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +25 -17
  1358. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +10 -3
  1359. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +13 -3
  1360. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +23 -26
  1361. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +27 -0
  1362. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +69 -0
  1363. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +51 -0
  1364. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_sleep.hpp +104 -0
  1365. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_typeinfo_.hpp +58 -0
  1366. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +7 -9
  1367. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +7 -0
  1368. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_atomic.hpp +85 -0
  1369. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +7 -0
  1370. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +7 -0
  1371. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_std_atomic.hpp +13 -5
  1372. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +8 -1
  1373. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -146
  1374. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +47 -1
  1375. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +22 -22
  1376. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -1
  1377. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -1
  1378. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -1
  1379. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +3 -3
  1380. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +58 -23
  1381. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +79 -8
  1382. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +2 -2
  1383. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +5 -11
  1384. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +57 -16
  1385. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +32 -16
  1386. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  1387. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_adaptor.hpp +1 -1
  1388. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/deque_base.hpp +1 -1
  1389. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +9 -21
  1390. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +9 -21
  1391. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_adaptor.hpp +1 -1
  1392. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_base.hpp +1 -1
  1393. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/queue_op_status.hpp +3 -1
  1394. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_bounded_queue.hpp +1 -1
  1395. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_deque.hpp +3 -3
  1396. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_priority_queue.hpp +4 -4
  1397. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_queue.hpp +3 -3
  1398. data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/sync_timed_queue.hpp +80 -14
  1399. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -1
  1400. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +11 -2
  1401. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +16 -17
  1402. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/platform_time.hpp +8 -8
  1403. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +4 -11
  1404. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp.orig +841 -0
  1405. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +3 -0
  1406. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor.hpp +2 -0
  1407. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/executor_adaptor.hpp +2 -0
  1408. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/generic_executor_ref.hpp +2 -0
  1409. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/inline_executor.hpp +8 -0
  1410. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/loop_executor.hpp +4 -0
  1411. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduled_thread_pool.hpp +4 -0
  1412. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduler.hpp +2 -0
  1413. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/scheduling_adaptor.hpp +3 -0
  1414. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor.hpp +4 -0
  1415. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/serial_executor_cont.hpp +9 -2
  1416. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/thread_executor.hpp +6 -0
  1417. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/work.hpp +3 -1
  1418. data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +6 -2
  1419. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +1 -0
  1420. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +2 -1
  1421. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +1 -0
  1422. data/src/cxx_supportlib/vendor-modified/boost/thread/interruption.hpp +22 -0
  1423. data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp.orig +54 -0
  1424. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_lockable.hpp +7 -2
  1425. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable.hpp +16 -12
  1426. data/src/cxx_supportlib/vendor-modified/boost/thread/poly_shared_lockable_adapter.hpp +3 -4
  1427. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +18 -24
  1428. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +6 -13
  1429. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +11 -37
  1430. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +29 -28
  1431. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +1 -1
  1432. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +163 -18
  1433. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +1 -69
  1434. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +19 -19
  1435. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +1 -1
  1436. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +9 -6
  1437. data/src/cxx_supportlib/vendor-modified/boost/thread/tss.hpp +23 -41
  1438. data/src/cxx_supportlib/vendor-modified/boost/thread/user_scheduler.hpp +3 -0
  1439. data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +1 -1
  1440. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +138 -59
  1441. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +15 -11
  1442. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +51 -0
  1443. data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
  1444. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +1 -1
  1445. data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +1 -1
  1446. data/src/cxx_supportlib/vendor-modified/boost/type_traits/add_pointer.hpp +1 -1
  1447. data/src/cxx_supportlib/vendor-modified/boost/type_traits/aligned_storage.hpp +1 -1
  1448. data/src/cxx_supportlib/vendor-modified/boost/type_traits/alignment_of.hpp +3 -3
  1449. data/src/cxx_supportlib/vendor-modified/boost/type_traits/conjunction.hpp +40 -0
  1450. data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_cv_ref.hpp +31 -0
  1451. data/src/cxx_supportlib/vendor-modified/boost/type_traits/copy_reference.hpp +35 -0
  1452. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +25 -4
  1453. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_binary_operator.hpp +6 -6
  1454. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +6 -6
  1455. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +6 -6
  1456. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +3 -3
  1457. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +102 -6
  1458. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +415 -255
  1459. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -1
  1460. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +1345 -1542
  1461. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +4 -4
  1462. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +143 -28
  1463. data/src/cxx_supportlib/vendor-modified/boost/type_traits/disjunction.hpp +40 -0
  1464. data/src/cxx_supportlib/vendor-modified/boost/type_traits/extent.hpp +2 -2
  1465. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +6 -6
  1466. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +6 -6
  1467. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_nothrow_copy.hpp +1 -1
  1468. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +6 -6
  1469. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +1 -1
  1470. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_promotion.hpp +2 -2
  1471. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +1 -1
  1472. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_array.hpp +2 -2
  1473. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_base_and_derived.hpp +2 -2
  1474. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_bounded_array.hpp +42 -0
  1475. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +1 -1
  1476. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_compound.hpp +1 -1
  1477. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_const.hpp +1 -1
  1478. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_constructible.hpp +1 -1
  1479. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +3 -3
  1480. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_default_constructible.hpp +1 -1
  1481. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_destructible.hpp +1 -1
  1482. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +3 -3
  1483. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_enum.hpp +4 -4
  1484. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_fundamental.hpp +1 -1
  1485. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -3
  1486. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_lvalue_reference.hpp +1 -1
  1487. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_pointer.hpp +1 -1
  1488. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_pointer.hpp +1 -1
  1489. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_same.hpp +1 -1
  1490. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_scoped_enum.hpp +26 -0
  1491. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_signed.hpp +2 -2
  1492. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +27 -0
  1493. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unbounded_array.hpp +41 -0
  1494. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unscoped_enum.hpp +25 -0
  1495. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_unsigned.hpp +2 -2
  1496. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +2 -2
  1497. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_volatile.hpp +1 -1
  1498. data/src/cxx_supportlib/vendor-modified/boost/type_traits/negation.hpp +23 -0
  1499. data/src/cxx_supportlib/vendor-modified/boost/type_traits/rank.hpp +4 -4
  1500. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_all_extents.hpp +1 -1
  1501. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_const.hpp +1 -1
  1502. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_cv.hpp +1 -1
  1503. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_extent.hpp +1 -1
  1504. data/src/cxx_supportlib/vendor-modified/boost/type_traits/remove_volatile.hpp +1 -1
  1505. data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +2 -2
  1506. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +1 -0
  1507. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +1 -0
  1508. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_iterate.hpp +3 -3
  1509. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +3 -42
  1510. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +4 -43
  1511. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +29 -67
  1512. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1513. data/src/nginx_module/Configuration.c +3 -3
  1514. data/src/nginx_module/config +2 -0
  1515. data/src/nginx_module/ngx_http_passenger_module.c +2 -2
  1516. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  1517. data/src/ruby_supportlib/phusion_passenger/admin_tools.rb +1 -1
  1518. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +4 -1
  1519. data/src/ruby_supportlib/phusion_passenger/common_library.rb +2 -0
  1520. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +1 -1
  1521. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +1 -1
  1522. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -1
  1523. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +17 -9
  1524. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -3
  1525. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +3 -0
  1526. data/src/ruby_supportlib/phusion_passenger/standalone/start_command.rb +1 -1
  1527. metadata +302 -70
  1528. data/src/cxx_supportlib/vendor-modified/boost/asio/datagram_socket_service.hpp +0 -468
  1529. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer_service.hpp +0 -175
  1530. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental.hpp +0 -22
  1531. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +0 -228
  1532. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detached.hpp +0 -67
  1533. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_spawn.hpp +0 -878
  1534. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/detached.hpp +0 -93
  1535. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_type.hpp +0 -52
  1536. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_service.hpp +0 -202
  1537. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor_service.hpp +0 -281
  1538. data/src/cxx_supportlib/vendor-modified/boost/asio/raw_socket_service.hpp +0 -468
  1539. data/src/cxx_supportlib/vendor-modified/boost/asio/seq_packet_socket_service.hpp +0 -418
  1540. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_service.hpp +0 -251
  1541. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_service.hpp +0 -144
  1542. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_acceptor_service.hpp +0 -374
  1543. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_socket_service.hpp +0 -414
  1544. data/src/cxx_supportlib/vendor-modified/boost/asio/waitable_timer_service.hpp +0 -212
  1545. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_handle.hpp +0 -275
  1546. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle_service.hpp +0 -185
  1547. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle_service.hpp +0 -216
  1548. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle_service.hpp +0 -212
  1549. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag.hpp +0 -71
  1550. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_arm.hpp +0 -39
  1551. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_ppc.hpp +0 -37
  1552. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/caps_gcc_x86.hpp +0 -40
  1553. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lockpool.hpp +0 -51
  1554. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations.hpp +0 -24
  1555. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_fwd.hpp +0 -35
  1556. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/operations_lockfree.hpp +0 -30
  1557. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_emulated.hpp +0 -162
  1558. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_atomic.hpp +0 -392
  1559. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86.hpp +0 -563
  1560. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_type.hpp +0 -207
  1561. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +0 -89
  1562. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1563. data/src/cxx_supportlib/vendor-modified/boost/detail/endian.hpp +0 -11
  1564. data/src/cxx_supportlib/vendor-modified/boost/detail/iterator.hpp +0 -39
  1565. data/src/cxx_supportlib/vendor-modified/boost/detail/sp_typeinfo.hpp +0 -36
  1566. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/overloads.hpp +0 -88
  1567. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +0 -28
  1568. data/src/cxx_supportlib/vendor-modified/boost/predef/os/android.h +0 -45
  1569. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_solaris.hpp +0 -59
  1570. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +0 -151
  1571. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +0 -161
  1572. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +0 -116
  1573. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync.hpp +0 -69
@@ -2,7 +2,7 @@
2
2
  // basic_socket.hpp
3
3
  // ~~~~~~~~~~~~~~~~
4
4
  //
5
- // Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff dot com)
5
+ // Copyright (c) 2003-2020 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)
@@ -15,38 +15,45 @@
15
15
  # pragma once
16
16
  #endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
17
 
18
+ #include <boost/asio/any_io_executor.hpp>
18
19
  #include <boost/asio/detail/config.hpp>
19
20
  #include <boost/asio/async_result.hpp>
20
- #include <boost/asio/basic_io_object.hpp>
21
21
  #include <boost/asio/detail/handler_type_requirements.hpp>
22
+ #include <boost/asio/detail/io_object_impl.hpp>
23
+ #include <boost/asio/detail/non_const_lvalue.hpp>
22
24
  #include <boost/asio/detail/throw_error.hpp>
23
25
  #include <boost/asio/detail/type_traits.hpp>
24
26
  #include <boost/asio/error.hpp>
27
+ #include <boost/asio/execution_context.hpp>
25
28
  #include <boost/asio/post.hpp>
26
29
  #include <boost/asio/socket_base.hpp>
27
30
 
31
+ #if defined(BOOST_ASIO_WINDOWS_RUNTIME)
32
+ # include <boost/asio/detail/null_socket_service.hpp>
33
+ #elif defined(BOOST_ASIO_HAS_IOCP)
34
+ # include <boost/asio/detail/win_iocp_socket_service.hpp>
35
+ #else
36
+ # include <boost/asio/detail/reactive_socket_service.hpp>
37
+ #endif
38
+
28
39
  #if defined(BOOST_ASIO_HAS_MOVE)
29
40
  # include <utility>
30
41
  #endif // defined(BOOST_ASIO_HAS_MOVE)
31
42
 
32
- #if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
33
- # if defined(BOOST_ASIO_WINDOWS_RUNTIME)
34
- # include <boost/asio/detail/winrt_ssocket_service.hpp>
35
- # define BOOST_ASIO_SVC_T detail::winrt_ssocket_service<Protocol>
36
- # elif defined(BOOST_ASIO_HAS_IOCP)
37
- # include <boost/asio/detail/win_iocp_socket_service.hpp>
38
- # define BOOST_ASIO_SVC_T detail::win_iocp_socket_service<Protocol>
39
- # else
40
- # include <boost/asio/detail/reactive_socket_service.hpp>
41
- # define BOOST_ASIO_SVC_T detail::reactive_socket_service<Protocol>
42
- # endif
43
- #endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
44
-
45
43
  #include <boost/asio/detail/push_options.hpp>
46
44
 
47
45
  namespace boost {
48
46
  namespace asio {
49
47
 
48
+ #if !defined(BOOST_ASIO_BASIC_SOCKET_FWD_DECL)
49
+ #define BOOST_ASIO_BASIC_SOCKET_FWD_DECL
50
+
51
+ // Forward declaration with defaulted arguments.
52
+ template <typename Protocol, typename Executor = any_io_executor>
53
+ class basic_socket;
54
+
55
+ #endif // !defined(BOOST_ASIO_BASIC_SOCKET_FWD_DECL)
56
+
50
57
  /// Provides socket functionality.
51
58
  /**
52
59
  * The basic_socket class template provides functionality that is common to both
@@ -56,20 +63,34 @@ namespace asio {
56
63
  * @e Distinct @e objects: Safe.@n
57
64
  * @e Shared @e objects: Unsafe.
58
65
  */
59
- template <typename Protocol BOOST_ASIO_SVC_TPARAM>
66
+ template <typename Protocol, typename Executor>
60
67
  class basic_socket
61
- : BOOST_ASIO_SVC_ACCESS basic_io_object<BOOST_ASIO_SVC_T>,
62
- public socket_base
68
+ : public socket_base
63
69
  {
64
70
  public:
65
71
  /// The type of the executor associated with the object.
66
- typedef io_context::executor_type executor_type;
72
+ typedef Executor executor_type;
73
+
74
+ /// Rebinds the socket type to another executor.
75
+ template <typename Executor1>
76
+ struct rebind_executor
77
+ {
78
+ /// The socket type when rebound to the specified executor.
79
+ typedef basic_socket<Protocol, Executor1> other;
80
+ };
67
81
 
68
82
  /// The native representation of a socket.
69
83
  #if defined(GENERATING_DOCUMENTATION)
70
84
  typedef implementation_defined native_handle_type;
85
+ #elif defined(BOOST_ASIO_WINDOWS_RUNTIME)
86
+ typedef typename detail::null_socket_service<
87
+ Protocol>::native_handle_type native_handle_type;
88
+ #elif defined(BOOST_ASIO_HAS_IOCP)
89
+ typedef typename detail::win_iocp_socket_service<
90
+ Protocol>::native_handle_type native_handle_type;
71
91
  #else
72
- typedef typename BOOST_ASIO_SVC_T::native_handle_type native_handle_type;
92
+ typedef typename detail::reactive_socket_service<
93
+ Protocol>::native_handle_type native_handle_type;
73
94
  #endif
74
95
 
75
96
  /// The protocol type.
@@ -80,18 +101,35 @@ public:
80
101
 
81
102
  #if !defined(BOOST_ASIO_NO_EXTENSIONS)
82
103
  /// A basic_socket is always the lowest layer.
83
- typedef basic_socket<Protocol BOOST_ASIO_SVC_TARG> lowest_layer_type;
104
+ typedef basic_socket<Protocol, Executor> lowest_layer_type;
84
105
  #endif // !defined(BOOST_ASIO_NO_EXTENSIONS)
85
106
 
86
107
  /// Construct a basic_socket without opening it.
87
108
  /**
88
109
  * This constructor creates a socket without opening it.
89
110
  *
90
- * @param io_context The io_context object that the socket will use to
111
+ * @param ex The I/O executor that the socket will use, by default, to
91
112
  * dispatch handlers for any asynchronous operations performed on the socket.
92
113
  */
93
- explicit basic_socket(boost::asio::io_context& io_context)
94
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
114
+ explicit basic_socket(const executor_type& ex)
115
+ : impl_(ex)
116
+ {
117
+ }
118
+
119
+ /// Construct a basic_socket without opening it.
120
+ /**
121
+ * This constructor creates a socket without opening it.
122
+ *
123
+ * @param context An execution context which provides the I/O executor that
124
+ * the socket will use, by default, to dispatch handlers for any asynchronous
125
+ * operations performed on the socket.
126
+ */
127
+ template <typename ExecutionContext>
128
+ explicit basic_socket(ExecutionContext& context,
129
+ typename enable_if<
130
+ is_convertible<ExecutionContext&, execution_context&>::value
131
+ >::type* = 0)
132
+ : impl_(context)
95
133
  {
96
134
  }
97
135
 
@@ -99,19 +137,42 @@ public:
99
137
  /**
100
138
  * This constructor creates and opens a socket.
101
139
  *
102
- * @param io_context The io_context object that the socket will use to
140
+ * @param ex The I/O executor that the socket will use, by default, to
103
141
  * dispatch handlers for any asynchronous operations performed on the socket.
104
142
  *
105
143
  * @param protocol An object specifying protocol parameters to be used.
106
144
  *
107
145
  * @throws boost::system::system_error Thrown on failure.
108
146
  */
109
- basic_socket(boost::asio::io_context& io_context,
110
- const protocol_type& protocol)
111
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
147
+ basic_socket(const executor_type& ex, const protocol_type& protocol)
148
+ : impl_(ex)
149
+ {
150
+ boost::system::error_code ec;
151
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
152
+ boost::asio::detail::throw_error(ec, "open");
153
+ }
154
+
155
+ /// Construct and open a basic_socket.
156
+ /**
157
+ * This constructor creates and opens a socket.
158
+ *
159
+ * @param context An execution context which provides the I/O executor that
160
+ * the socket will use, by default, to dispatch handlers for any asynchronous
161
+ * operations performed on the socket.
162
+ *
163
+ * @param protocol An object specifying protocol parameters to be used.
164
+ *
165
+ * @throws boost::system::system_error Thrown on failure.
166
+ */
167
+ template <typename ExecutionContext>
168
+ basic_socket(ExecutionContext& context, const protocol_type& protocol,
169
+ typename enable_if<
170
+ is_convertible<ExecutionContext&, execution_context&>::value
171
+ >::type* = 0)
172
+ : impl_(context)
112
173
  {
113
174
  boost::system::error_code ec;
114
- this->get_service().open(this->get_implementation(), protocol, ec);
175
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
115
176
  boost::asio::detail::throw_error(ec, "open");
116
177
  }
117
178
 
@@ -122,7 +183,7 @@ public:
122
183
  * specified endpoint on the local machine. The protocol used is the protocol
123
184
  * associated with the given endpoint.
124
185
  *
125
- * @param io_context The io_context object that the socket will use to
186
+ * @param ex The I/O executor that the socket will use, by default, to
126
187
  * dispatch handlers for any asynchronous operations performed on the socket.
127
188
  *
128
189
  * @param endpoint An endpoint on the local machine to which the socket will
@@ -130,15 +191,45 @@ public:
130
191
  *
131
192
  * @throws boost::system::system_error Thrown on failure.
132
193
  */
133
- basic_socket(boost::asio::io_context& io_context,
134
- const endpoint_type& endpoint)
135
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
194
+ basic_socket(const executor_type& ex, const endpoint_type& endpoint)
195
+ : impl_(ex)
136
196
  {
137
197
  boost::system::error_code ec;
138
198
  const protocol_type protocol = endpoint.protocol();
139
- this->get_service().open(this->get_implementation(), protocol, ec);
199
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
140
200
  boost::asio::detail::throw_error(ec, "open");
141
- this->get_service().bind(this->get_implementation(), endpoint, ec);
201
+ impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
202
+ boost::asio::detail::throw_error(ec, "bind");
203
+ }
204
+
205
+ /// Construct a basic_socket, opening it and binding it to the given local
206
+ /// endpoint.
207
+ /**
208
+ * This constructor creates a socket and automatically opens it bound to the
209
+ * specified endpoint on the local machine. The protocol used is the protocol
210
+ * associated with the given endpoint.
211
+ *
212
+ * @param context An execution context which provides the I/O executor that
213
+ * the socket will use, by default, to dispatch handlers for any asynchronous
214
+ * operations performed on the socket.
215
+ *
216
+ * @param endpoint An endpoint on the local machine to which the socket will
217
+ * be bound.
218
+ *
219
+ * @throws boost::system::system_error Thrown on failure.
220
+ */
221
+ template <typename ExecutionContext>
222
+ basic_socket(ExecutionContext& context, const endpoint_type& endpoint,
223
+ typename enable_if<
224
+ is_convertible<ExecutionContext&, execution_context&>::value
225
+ >::type* = 0)
226
+ : impl_(context)
227
+ {
228
+ boost::system::error_code ec;
229
+ const protocol_type protocol = endpoint.protocol();
230
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
231
+ boost::asio::detail::throw_error(ec, "open");
232
+ impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
142
233
  boost::asio::detail::throw_error(ec, "bind");
143
234
  }
144
235
 
@@ -146,7 +237,7 @@ public:
146
237
  /**
147
238
  * This constructor creates a socket object to hold an existing native socket.
148
239
  *
149
- * @param io_context The io_context object that the socket will use to
240
+ * @param ex The I/O executor that the socket will use, by default, to
150
241
  * dispatch handlers for any asynchronous operations performed on the socket.
151
242
  *
152
243
  * @param protocol An object specifying protocol parameters to be used.
@@ -155,12 +246,40 @@ public:
155
246
  *
156
247
  * @throws boost::system::system_error Thrown on failure.
157
248
  */
158
- basic_socket(boost::asio::io_context& io_context,
159
- const protocol_type& protocol, const native_handle_type& native_socket)
160
- : basic_io_object<BOOST_ASIO_SVC_T>(io_context)
249
+ basic_socket(const executor_type& ex, const protocol_type& protocol,
250
+ const native_handle_type& native_socket)
251
+ : impl_(ex)
252
+ {
253
+ boost::system::error_code ec;
254
+ impl_.get_service().assign(impl_.get_implementation(),
255
+ protocol, native_socket, ec);
256
+ boost::asio::detail::throw_error(ec, "assign");
257
+ }
258
+
259
+ /// Construct a basic_socket on an existing native socket.
260
+ /**
261
+ * This constructor creates a socket object to hold an existing native socket.
262
+ *
263
+ * @param context An execution context which provides the I/O executor that
264
+ * the socket will use, by default, to dispatch handlers for any asynchronous
265
+ * operations performed on the socket.
266
+ *
267
+ * @param protocol An object specifying protocol parameters to be used.
268
+ *
269
+ * @param native_socket A native socket.
270
+ *
271
+ * @throws boost::system::system_error Thrown on failure.
272
+ */
273
+ template <typename ExecutionContext>
274
+ basic_socket(ExecutionContext& context, const protocol_type& protocol,
275
+ const native_handle_type& native_socket,
276
+ typename enable_if<
277
+ is_convertible<ExecutionContext&, execution_context&>::value
278
+ >::type* = 0)
279
+ : impl_(context)
161
280
  {
162
281
  boost::system::error_code ec;
163
- this->get_service().assign(this->get_implementation(),
282
+ impl_.get_service().assign(impl_.get_implementation(),
164
283
  protocol, native_socket, ec);
165
284
  boost::asio::detail::throw_error(ec, "assign");
166
285
  }
@@ -174,10 +293,10 @@ public:
174
293
  * occur.
175
294
  *
176
295
  * @note Following the move, the moved-from object is in the same state as if
177
- * constructed using the @c basic_socket(io_context&) constructor.
296
+ * constructed using the @c basic_socket(const executor_type&) constructor.
178
297
  */
179
- basic_socket(basic_socket&& other)
180
- : basic_io_object<BOOST_ASIO_SVC_T>(std::move(other))
298
+ basic_socket(basic_socket&& other) BOOST_ASIO_NOEXCEPT
299
+ : impl_(std::move(other.impl_))
181
300
  {
182
301
  }
183
302
 
@@ -189,16 +308,16 @@ public:
189
308
  * occur.
190
309
  *
191
310
  * @note Following the move, the moved-from object is in the same state as if
192
- * constructed using the @c basic_socket(io_context&) constructor.
311
+ * constructed using the @c basic_socket(const executor_type&) constructor.
193
312
  */
194
313
  basic_socket& operator=(basic_socket&& other)
195
314
  {
196
- basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(other));
315
+ impl_ = std::move(other.impl_);
197
316
  return *this;
198
317
  }
199
318
 
200
319
  // All sockets have access to each other's implementations.
201
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
320
+ template <typename Protocol1, typename Executor1>
202
321
  friend class basic_socket;
203
322
 
204
323
  /// Move-construct a basic_socket from a socket of another protocol type.
@@ -209,13 +328,15 @@ public:
209
328
  * occur.
210
329
  *
211
330
  * @note Following the move, the moved-from object is in the same state as if
212
- * constructed using the @c basic_socket(io_context&) constructor.
331
+ * constructed using the @c basic_socket(const executor_type&) constructor.
213
332
  */
214
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
215
- basic_socket(basic_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other,
216
- typename enable_if<is_convertible<Protocol1, Protocol>::value>::type* = 0)
217
- : basic_io_object<BOOST_ASIO_SVC_T>(
218
- other.get_service(), other.get_implementation())
333
+ template <typename Protocol1, typename Executor1>
334
+ basic_socket(basic_socket<Protocol1, Executor1>&& other,
335
+ typename enable_if<
336
+ is_convertible<Protocol1, Protocol>::value
337
+ && is_convertible<Executor1, Executor>::value
338
+ >::type* = 0)
339
+ : impl_(std::move(other.impl_))
219
340
  {
220
341
  }
221
342
 
@@ -227,58 +348,26 @@ public:
227
348
  * occur.
228
349
  *
229
350
  * @note Following the move, the moved-from object is in the same state as if
230
- * constructed using the @c basic_socket(io_context&) constructor.
351
+ * constructed using the @c basic_socket(const executor_type&) constructor.
231
352
  */
232
- template <typename Protocol1 BOOST_ASIO_SVC_TPARAM1>
233
- typename enable_if<is_convertible<Protocol1, Protocol>::value,
234
- basic_socket>::type& operator=(
235
- basic_socket<Protocol1 BOOST_ASIO_SVC_TARG1>&& other)
353
+ template <typename Protocol1, typename Executor1>
354
+ typename enable_if<
355
+ is_convertible<Protocol1, Protocol>::value
356
+ && is_convertible<Executor1, Executor>::value,
357
+ basic_socket&
358
+ >::type operator=(basic_socket<Protocol1, Executor1> && other)
236
359
  {
237
360
  basic_socket tmp(std::move(other));
238
- basic_io_object<BOOST_ASIO_SVC_T>::operator=(std::move(tmp));
361
+ impl_ = std::move(tmp.impl_);
239
362
  return *this;
240
363
  }
241
364
  #endif // defined(BOOST_ASIO_HAS_MOVE) || defined(GENERATING_DOCUMENTATION)
242
365
 
243
- #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
244
- // These functions are provided by basic_io_object<>.
245
- #else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
246
- #if !defined(BOOST_ASIO_NO_DEPRECATED)
247
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
248
- /// object.
249
- /**
250
- * This function may be used to obtain the io_context object that the I/O
251
- * object uses to dispatch handlers for asynchronous operations.
252
- *
253
- * @return A reference to the io_context object that the I/O object will use
254
- * to dispatch handlers. Ownership is not transferred to the caller.
255
- */
256
- boost::asio::io_context& get_io_context()
257
- {
258
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_context();
259
- }
260
-
261
- /// (Deprecated: Use get_executor().) Get the io_context associated with the
262
- /// object.
263
- /**
264
- * This function may be used to obtain the io_context object that the I/O
265
- * object uses to dispatch handlers for asynchronous operations.
266
- *
267
- * @return A reference to the io_context object that the I/O object will use
268
- * to dispatch handlers. Ownership is not transferred to the caller.
269
- */
270
- boost::asio::io_context& get_io_service()
271
- {
272
- return basic_io_object<BOOST_ASIO_SVC_T>::get_io_service();
273
- }
274
- #endif // !defined(BOOST_ASIO_NO_DEPRECATED)
275
-
276
366
  /// Get the executor associated with the object.
277
367
  executor_type get_executor() BOOST_ASIO_NOEXCEPT
278
368
  {
279
- return basic_io_object<BOOST_ASIO_SVC_T>::get_executor();
369
+ return impl_.get_executor();
280
370
  }
281
- #endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
282
371
 
283
372
  #if !defined(BOOST_ASIO_NO_EXTENSIONS)
284
373
  /// Get a reference to the lowest layer.
@@ -320,14 +409,14 @@ public:
320
409
  *
321
410
  * @par Example
322
411
  * @code
323
- * boost::asio::ip::tcp::socket socket(io_context);
412
+ * boost::asio::ip::tcp::socket socket(my_context);
324
413
  * socket.open(boost::asio::ip::tcp::v4());
325
414
  * @endcode
326
415
  */
327
416
  void open(const protocol_type& protocol = protocol_type())
328
417
  {
329
418
  boost::system::error_code ec;
330
- this->get_service().open(this->get_implementation(), protocol, ec);
419
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
331
420
  boost::asio::detail::throw_error(ec, "open");
332
421
  }
333
422
 
@@ -341,7 +430,7 @@ public:
341
430
  *
342
431
  * @par Example
343
432
  * @code
344
- * boost::asio::ip::tcp::socket socket(io_context);
433
+ * boost::asio::ip::tcp::socket socket(my_context);
345
434
  * boost::system::error_code ec;
346
435
  * socket.open(boost::asio::ip::tcp::v4(), ec);
347
436
  * if (ec)
@@ -353,7 +442,7 @@ public:
353
442
  BOOST_ASIO_SYNC_OP_VOID open(const protocol_type& protocol,
354
443
  boost::system::error_code& ec)
355
444
  {
356
- this->get_service().open(this->get_implementation(), protocol, ec);
445
+ impl_.get_service().open(impl_.get_implementation(), protocol, ec);
357
446
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
358
447
  }
359
448
 
@@ -371,7 +460,7 @@ public:
371
460
  const native_handle_type& native_socket)
372
461
  {
373
462
  boost::system::error_code ec;
374
- this->get_service().assign(this->get_implementation(),
463
+ impl_.get_service().assign(impl_.get_implementation(),
375
464
  protocol, native_socket, ec);
376
465
  boost::asio::detail::throw_error(ec, "assign");
377
466
  }
@@ -389,7 +478,7 @@ public:
389
478
  BOOST_ASIO_SYNC_OP_VOID assign(const protocol_type& protocol,
390
479
  const native_handle_type& native_socket, boost::system::error_code& ec)
391
480
  {
392
- this->get_service().assign(this->get_implementation(),
481
+ impl_.get_service().assign(impl_.get_implementation(),
393
482
  protocol, native_socket, ec);
394
483
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
395
484
  }
@@ -397,7 +486,7 @@ public:
397
486
  /// Determine whether the socket is open.
398
487
  bool is_open() const
399
488
  {
400
- return this->get_service().is_open(this->get_implementation());
489
+ return impl_.get_service().is_open(impl_.get_implementation());
401
490
  }
402
491
 
403
492
  /// Close the socket.
@@ -415,7 +504,7 @@ public:
415
504
  void close()
416
505
  {
417
506
  boost::system::error_code ec;
418
- this->get_service().close(this->get_implementation(), ec);
507
+ impl_.get_service().close(impl_.get_implementation(), ec);
419
508
  boost::asio::detail::throw_error(ec, "close");
420
509
  }
421
510
 
@@ -430,7 +519,7 @@ public:
430
519
  *
431
520
  * @par Example
432
521
  * @code
433
- * boost::asio::ip::tcp::socket socket(io_context);
522
+ * boost::asio::ip::tcp::socket socket(my_context);
434
523
  * ...
435
524
  * boost::system::error_code ec;
436
525
  * socket.close(ec);
@@ -445,7 +534,7 @@ public:
445
534
  */
446
535
  BOOST_ASIO_SYNC_OP_VOID close(boost::system::error_code& ec)
447
536
  {
448
- this->get_service().close(this->get_implementation(), ec);
537
+ impl_.get_service().close(impl_.get_implementation(), ec);
449
538
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
450
539
  }
451
540
 
@@ -471,8 +560,8 @@ public:
471
560
  native_handle_type release()
472
561
  {
473
562
  boost::system::error_code ec;
474
- native_handle_type s = this->get_service().release(
475
- this->get_implementation(), ec);
563
+ native_handle_type s = impl_.get_service().release(
564
+ impl_.get_implementation(), ec);
476
565
  boost::asio::detail::throw_error(ec, "release");
477
566
  return s;
478
567
  }
@@ -498,7 +587,7 @@ public:
498
587
  #endif
499
588
  native_handle_type release(boost::system::error_code& ec)
500
589
  {
501
- return this->get_service().release(this->get_implementation(), ec);
590
+ return impl_.get_service().release(impl_.get_implementation(), ec);
502
591
  }
503
592
 
504
593
  /// Get the native socket representation.
@@ -509,7 +598,7 @@ public:
509
598
  */
510
599
  native_handle_type native_handle()
511
600
  {
512
- return this->get_service().native_handle(this->get_implementation());
601
+ return impl_.get_service().native_handle(impl_.get_implementation());
513
602
  }
514
603
 
515
604
  /// Cancel all asynchronous operations associated with the socket.
@@ -556,7 +645,7 @@ public:
556
645
  void cancel()
557
646
  {
558
647
  boost::system::error_code ec;
559
- this->get_service().cancel(this->get_implementation(), ec);
648
+ impl_.get_service().cancel(impl_.get_implementation(), ec);
560
649
  boost::asio::detail::throw_error(ec, "cancel");
561
650
  }
562
651
 
@@ -603,7 +692,7 @@ public:
603
692
  #endif
604
693
  BOOST_ASIO_SYNC_OP_VOID cancel(boost::system::error_code& ec)
605
694
  {
606
- this->get_service().cancel(this->get_implementation(), ec);
695
+ impl_.get_service().cancel(impl_.get_implementation(), ec);
607
696
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
608
697
  }
609
698
 
@@ -620,7 +709,7 @@ public:
620
709
  bool at_mark() const
621
710
  {
622
711
  boost::system::error_code ec;
623
- bool b = this->get_service().at_mark(this->get_implementation(), ec);
712
+ bool b = impl_.get_service().at_mark(impl_.get_implementation(), ec);
624
713
  boost::asio::detail::throw_error(ec, "at_mark");
625
714
  return b;
626
715
  }
@@ -637,7 +726,7 @@ public:
637
726
  */
638
727
  bool at_mark(boost::system::error_code& ec) const
639
728
  {
640
- return this->get_service().at_mark(this->get_implementation(), ec);
729
+ return impl_.get_service().at_mark(impl_.get_implementation(), ec);
641
730
  }
642
731
 
643
732
  /// Determine the number of bytes available for reading.
@@ -653,8 +742,8 @@ public:
653
742
  std::size_t available() const
654
743
  {
655
744
  boost::system::error_code ec;
656
- std::size_t s = this->get_service().available(
657
- this->get_implementation(), ec);
745
+ std::size_t s = impl_.get_service().available(
746
+ impl_.get_implementation(), ec);
658
747
  boost::asio::detail::throw_error(ec, "available");
659
748
  return s;
660
749
  }
@@ -671,7 +760,7 @@ public:
671
760
  */
672
761
  std::size_t available(boost::system::error_code& ec) const
673
762
  {
674
- return this->get_service().available(this->get_implementation(), ec);
763
+ return impl_.get_service().available(impl_.get_implementation(), ec);
675
764
  }
676
765
 
677
766
  /// Bind the socket to the given local endpoint.
@@ -686,7 +775,7 @@ public:
686
775
  *
687
776
  * @par Example
688
777
  * @code
689
- * boost::asio::ip::tcp::socket socket(io_context);
778
+ * boost::asio::ip::tcp::socket socket(my_context);
690
779
  * socket.open(boost::asio::ip::tcp::v4());
691
780
  * socket.bind(boost::asio::ip::tcp::endpoint(
692
781
  * boost::asio::ip::tcp::v4(), 12345));
@@ -695,7 +784,7 @@ public:
695
784
  void bind(const endpoint_type& endpoint)
696
785
  {
697
786
  boost::system::error_code ec;
698
- this->get_service().bind(this->get_implementation(), endpoint, ec);
787
+ impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
699
788
  boost::asio::detail::throw_error(ec, "bind");
700
789
  }
701
790
 
@@ -711,7 +800,7 @@ public:
711
800
  *
712
801
  * @par Example
713
802
  * @code
714
- * boost::asio::ip::tcp::socket socket(io_context);
803
+ * boost::asio::ip::tcp::socket socket(my_context);
715
804
  * socket.open(boost::asio::ip::tcp::v4());
716
805
  * boost::system::error_code ec;
717
806
  * socket.bind(boost::asio::ip::tcp::endpoint(
@@ -725,7 +814,7 @@ public:
725
814
  BOOST_ASIO_SYNC_OP_VOID bind(const endpoint_type& endpoint,
726
815
  boost::system::error_code& ec)
727
816
  {
728
- this->get_service().bind(this->get_implementation(), endpoint, ec);
817
+ impl_.get_service().bind(impl_.get_implementation(), endpoint, ec);
729
818
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
730
819
  }
731
820
 
@@ -746,7 +835,7 @@ public:
746
835
  *
747
836
  * @par Example
748
837
  * @code
749
- * boost::asio::ip::tcp::socket socket(io_context);
838
+ * boost::asio::ip::tcp::socket socket(my_context);
750
839
  * boost::asio::ip::tcp::endpoint endpoint(
751
840
  * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
752
841
  * socket.connect(endpoint);
@@ -757,11 +846,11 @@ public:
757
846
  boost::system::error_code ec;
758
847
  if (!is_open())
759
848
  {
760
- this->get_service().open(this->get_implementation(),
849
+ impl_.get_service().open(impl_.get_implementation(),
761
850
  peer_endpoint.protocol(), ec);
762
851
  boost::asio::detail::throw_error(ec, "connect");
763
852
  }
764
- this->get_service().connect(this->get_implementation(), peer_endpoint, ec);
853
+ impl_.get_service().connect(impl_.get_implementation(), peer_endpoint, ec);
765
854
  boost::asio::detail::throw_error(ec, "connect");
766
855
  }
767
856
 
@@ -782,7 +871,7 @@ public:
782
871
  *
783
872
  * @par Example
784
873
  * @code
785
- * boost::asio::ip::tcp::socket socket(io_context);
874
+ * boost::asio::ip::tcp::socket socket(my_context);
786
875
  * boost::asio::ip::tcp::endpoint endpoint(
787
876
  * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
788
877
  * boost::system::error_code ec;
@@ -798,7 +887,7 @@ public:
798
887
  {
799
888
  if (!is_open())
800
889
  {
801
- this->get_service().open(this->get_implementation(),
890
+ impl_.get_service().open(impl_.get_implementation(),
802
891
  peer_endpoint.protocol(), ec);
803
892
  if (ec)
804
893
  {
@@ -806,7 +895,7 @@ public:
806
895
  }
807
896
  }
808
897
 
809
- this->get_service().connect(this->get_implementation(), peer_endpoint, ec);
898
+ impl_.get_service().connect(impl_.get_implementation(), peer_endpoint, ec);
810
899
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
811
900
  }
812
901
 
@@ -829,9 +918,9 @@ public:
829
918
  * const boost::system::error_code& error // Result of operation
830
919
  * ); @endcode
831
920
  * Regardless of whether the asynchronous operation completes immediately or
832
- * not, the handler will not be invoked from within this function. Invocation
833
- * of the handler will be performed in a manner equivalent to using
834
- * boost::asio::io_context::post().
921
+ * not, the handler will not be invoked from within this function. On
922
+ * immediate completion, invocation of the handler will be performed in a
923
+ * manner equivalent to using boost::asio::post().
835
924
  *
836
925
  * @par Example
837
926
  * @code
@@ -845,54 +934,30 @@ public:
845
934
  *
846
935
  * ...
847
936
  *
848
- * boost::asio::ip::tcp::socket socket(io_context);
937
+ * boost::asio::ip::tcp::socket socket(my_context);
849
938
  * boost::asio::ip::tcp::endpoint endpoint(
850
939
  * boost::asio::ip::address::from_string("1.2.3.4"), 12345);
851
940
  * socket.async_connect(endpoint, connect_handler);
852
941
  * @endcode
853
942
  */
854
- template <typename ConnectHandler>
855
- BOOST_ASIO_INITFN_RESULT_TYPE(ConnectHandler,
943
+ template <
944
+ BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code))
945
+ ConnectHandler BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
946
+ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(ConnectHandler,
856
947
  void (boost::system::error_code))
857
948
  async_connect(const endpoint_type& peer_endpoint,
858
- BOOST_ASIO_MOVE_ARG(ConnectHandler) handler)
949
+ BOOST_ASIO_MOVE_ARG(ConnectHandler) handler
950
+ BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
859
951
  {
860
- // If you get an error on the following line it means that your handler does
861
- // not meet the documented type requirements for a ConnectHandler.
862
- BOOST_ASIO_CONNECT_HANDLER_CHECK(ConnectHandler, handler) type_check;
863
-
952
+ boost::system::error_code open_ec;
864
953
  if (!is_open())
865
954
  {
866
- boost::system::error_code ec;
867
955
  const protocol_type protocol = peer_endpoint.protocol();
868
- this->get_service().open(this->get_implementation(), protocol, ec);
869
- if (ec)
870
- {
871
- async_completion<ConnectHandler,
872
- void (boost::system::error_code)> init(handler);
873
-
874
- boost::asio::post(this->get_executor(),
875
- boost::asio::detail::bind_handler(
876
- BOOST_ASIO_MOVE_CAST(BOOST_ASIO_HANDLER_TYPE(
877
- ConnectHandler, void (boost::system::error_code)))(
878
- init.completion_handler), ec));
879
-
880
- return init.result.get();
881
- }
956
+ impl_.get_service().open(impl_.get_implementation(), protocol, open_ec);
882
957
  }
883
958
 
884
- #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
885
- return this->get_service().async_connect(this->get_implementation(),
886
- peer_endpoint, BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler));
887
- #else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
888
- async_completion<ConnectHandler,
889
- void (boost::system::error_code)> init(handler);
890
-
891
- this->get_service().async_connect(
892
- this->get_implementation(), peer_endpoint, init.completion_handler);
893
-
894
- return init.result.get();
895
- #endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
959
+ return async_initiate<ConnectHandler, void (boost::system::error_code)>(
960
+ initiate_async_connect(this), handler, peer_endpoint, open_ec);
896
961
  }
897
962
 
898
963
  /// Set an option on the socket.
@@ -923,7 +988,7 @@ public:
923
988
  * @par Example
924
989
  * Setting the IPPROTO_TCP/TCP_NODELAY option:
925
990
  * @code
926
- * boost::asio::ip::tcp::socket socket(io_context);
991
+ * boost::asio::ip::tcp::socket socket(my_context);
927
992
  * ...
928
993
  * boost::asio::ip::tcp::no_delay option(true);
929
994
  * socket.set_option(option);
@@ -933,7 +998,7 @@ public:
933
998
  void set_option(const SettableSocketOption& option)
934
999
  {
935
1000
  boost::system::error_code ec;
936
- this->get_service().set_option(this->get_implementation(), option, ec);
1001
+ impl_.get_service().set_option(impl_.get_implementation(), option, ec);
937
1002
  boost::asio::detail::throw_error(ec, "set_option");
938
1003
  }
939
1004
 
@@ -965,7 +1030,7 @@ public:
965
1030
  * @par Example
966
1031
  * Setting the IPPROTO_TCP/TCP_NODELAY option:
967
1032
  * @code
968
- * boost::asio::ip::tcp::socket socket(io_context);
1033
+ * boost::asio::ip::tcp::socket socket(my_context);
969
1034
  * ...
970
1035
  * boost::asio::ip::tcp::no_delay option(true);
971
1036
  * boost::system::error_code ec;
@@ -980,7 +1045,7 @@ public:
980
1045
  BOOST_ASIO_SYNC_OP_VOID set_option(const SettableSocketOption& option,
981
1046
  boost::system::error_code& ec)
982
1047
  {
983
- this->get_service().set_option(this->get_implementation(), option, ec);
1048
+ impl_.get_service().set_option(impl_.get_implementation(), option, ec);
984
1049
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
985
1050
  }
986
1051
 
@@ -1012,7 +1077,7 @@ public:
1012
1077
  * @par Example
1013
1078
  * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
1014
1079
  * @code
1015
- * boost::asio::ip::tcp::socket socket(io_context);
1080
+ * boost::asio::ip::tcp::socket socket(my_context);
1016
1081
  * ...
1017
1082
  * boost::asio::ip::tcp::socket::keep_alive option;
1018
1083
  * socket.get_option(option);
@@ -1023,7 +1088,7 @@ public:
1023
1088
  void get_option(GettableSocketOption& option) const
1024
1089
  {
1025
1090
  boost::system::error_code ec;
1026
- this->get_service().get_option(this->get_implementation(), option, ec);
1091
+ impl_.get_service().get_option(impl_.get_implementation(), option, ec);
1027
1092
  boost::asio::detail::throw_error(ec, "get_option");
1028
1093
  }
1029
1094
 
@@ -1055,7 +1120,7 @@ public:
1055
1120
  * @par Example
1056
1121
  * Getting the value of the SOL_SOCKET/SO_KEEPALIVE option:
1057
1122
  * @code
1058
- * boost::asio::ip::tcp::socket socket(io_context);
1123
+ * boost::asio::ip::tcp::socket socket(my_context);
1059
1124
  * ...
1060
1125
  * boost::asio::ip::tcp::socket::keep_alive option;
1061
1126
  * boost::system::error_code ec;
@@ -1071,7 +1136,7 @@ public:
1071
1136
  BOOST_ASIO_SYNC_OP_VOID get_option(GettableSocketOption& option,
1072
1137
  boost::system::error_code& ec) const
1073
1138
  {
1074
- this->get_service().get_option(this->get_implementation(), option, ec);
1139
+ impl_.get_service().get_option(impl_.get_implementation(), option, ec);
1075
1140
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1076
1141
  }
1077
1142
 
@@ -1090,7 +1155,7 @@ public:
1090
1155
  * @par Example
1091
1156
  * Getting the number of bytes ready to read:
1092
1157
  * @code
1093
- * boost::asio::ip::tcp::socket socket(io_context);
1158
+ * boost::asio::ip::tcp::socket socket(my_context);
1094
1159
  * ...
1095
1160
  * boost::asio::ip::tcp::socket::bytes_readable command;
1096
1161
  * socket.io_control(command);
@@ -1101,7 +1166,7 @@ public:
1101
1166
  void io_control(IoControlCommand& command)
1102
1167
  {
1103
1168
  boost::system::error_code ec;
1104
- this->get_service().io_control(this->get_implementation(), command, ec);
1169
+ impl_.get_service().io_control(impl_.get_implementation(), command, ec);
1105
1170
  boost::asio::detail::throw_error(ec, "io_control");
1106
1171
  }
1107
1172
 
@@ -1120,7 +1185,7 @@ public:
1120
1185
  * @par Example
1121
1186
  * Getting the number of bytes ready to read:
1122
1187
  * @code
1123
- * boost::asio::ip::tcp::socket socket(io_context);
1188
+ * boost::asio::ip::tcp::socket socket(my_context);
1124
1189
  * ...
1125
1190
  * boost::asio::ip::tcp::socket::bytes_readable command;
1126
1191
  * boost::system::error_code ec;
@@ -1136,7 +1201,7 @@ public:
1136
1201
  BOOST_ASIO_SYNC_OP_VOID io_control(IoControlCommand& command,
1137
1202
  boost::system::error_code& ec)
1138
1203
  {
1139
- this->get_service().io_control(this->get_implementation(), command, ec);
1204
+ impl_.get_service().io_control(impl_.get_implementation(), command, ec);
1140
1205
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1141
1206
  }
1142
1207
 
@@ -1153,7 +1218,7 @@ public:
1153
1218
  */
1154
1219
  bool non_blocking() const
1155
1220
  {
1156
- return this->get_service().non_blocking(this->get_implementation());
1221
+ return impl_.get_service().non_blocking(impl_.get_implementation());
1157
1222
  }
1158
1223
 
1159
1224
  /// Sets the non-blocking mode of the socket.
@@ -1172,7 +1237,7 @@ public:
1172
1237
  void non_blocking(bool mode)
1173
1238
  {
1174
1239
  boost::system::error_code ec;
1175
- this->get_service().non_blocking(this->get_implementation(), mode, ec);
1240
+ impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
1176
1241
  boost::asio::detail::throw_error(ec, "non_blocking");
1177
1242
  }
1178
1243
 
@@ -1192,7 +1257,7 @@ public:
1192
1257
  BOOST_ASIO_SYNC_OP_VOID non_blocking(
1193
1258
  bool mode, boost::system::error_code& ec)
1194
1259
  {
1195
- this->get_service().non_blocking(this->get_implementation(), mode, ec);
1260
+ impl_.get_service().non_blocking(impl_.get_implementation(), mode, ec);
1196
1261
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1197
1262
  }
1198
1263
 
@@ -1282,7 +1347,7 @@ public:
1282
1347
  */
1283
1348
  bool native_non_blocking() const
1284
1349
  {
1285
- return this->get_service().native_non_blocking(this->get_implementation());
1350
+ return impl_.get_service().native_non_blocking(impl_.get_implementation());
1286
1351
  }
1287
1352
 
1288
1353
  /// Sets the non-blocking mode of the native socket implementation.
@@ -1373,8 +1438,8 @@ public:
1373
1438
  void native_non_blocking(bool mode)
1374
1439
  {
1375
1440
  boost::system::error_code ec;
1376
- this->get_service().native_non_blocking(
1377
- this->get_implementation(), mode, ec);
1441
+ impl_.get_service().native_non_blocking(
1442
+ impl_.get_implementation(), mode, ec);
1378
1443
  boost::asio::detail::throw_error(ec, "native_non_blocking");
1379
1444
  }
1380
1445
 
@@ -1466,8 +1531,8 @@ public:
1466
1531
  BOOST_ASIO_SYNC_OP_VOID native_non_blocking(
1467
1532
  bool mode, boost::system::error_code& ec)
1468
1533
  {
1469
- this->get_service().native_non_blocking(
1470
- this->get_implementation(), mode, ec);
1534
+ impl_.get_service().native_non_blocking(
1535
+ impl_.get_implementation(), mode, ec);
1471
1536
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1472
1537
  }
1473
1538
 
@@ -1481,7 +1546,7 @@ public:
1481
1546
  *
1482
1547
  * @par Example
1483
1548
  * @code
1484
- * boost::asio::ip::tcp::socket socket(io_context);
1549
+ * boost::asio::ip::tcp::socket socket(my_context);
1485
1550
  * ...
1486
1551
  * boost::asio::ip::tcp::endpoint endpoint = socket.local_endpoint();
1487
1552
  * @endcode
@@ -1489,8 +1554,8 @@ public:
1489
1554
  endpoint_type local_endpoint() const
1490
1555
  {
1491
1556
  boost::system::error_code ec;
1492
- endpoint_type ep = this->get_service().local_endpoint(
1493
- this->get_implementation(), ec);
1557
+ endpoint_type ep = impl_.get_service().local_endpoint(
1558
+ impl_.get_implementation(), ec);
1494
1559
  boost::asio::detail::throw_error(ec, "local_endpoint");
1495
1560
  return ep;
1496
1561
  }
@@ -1506,7 +1571,7 @@ public:
1506
1571
  *
1507
1572
  * @par Example
1508
1573
  * @code
1509
- * boost::asio::ip::tcp::socket socket(io_context);
1574
+ * boost::asio::ip::tcp::socket socket(my_context);
1510
1575
  * ...
1511
1576
  * boost::system::error_code ec;
1512
1577
  * boost::asio::ip::tcp::endpoint endpoint = socket.local_endpoint(ec);
@@ -1518,7 +1583,7 @@ public:
1518
1583
  */
1519
1584
  endpoint_type local_endpoint(boost::system::error_code& ec) const
1520
1585
  {
1521
- return this->get_service().local_endpoint(this->get_implementation(), ec);
1586
+ return impl_.get_service().local_endpoint(impl_.get_implementation(), ec);
1522
1587
  }
1523
1588
 
1524
1589
  /// Get the remote endpoint of the socket.
@@ -1531,7 +1596,7 @@ public:
1531
1596
  *
1532
1597
  * @par Example
1533
1598
  * @code
1534
- * boost::asio::ip::tcp::socket socket(io_context);
1599
+ * boost::asio::ip::tcp::socket socket(my_context);
1535
1600
  * ...
1536
1601
  * boost::asio::ip::tcp::endpoint endpoint = socket.remote_endpoint();
1537
1602
  * @endcode
@@ -1539,8 +1604,8 @@ public:
1539
1604
  endpoint_type remote_endpoint() const
1540
1605
  {
1541
1606
  boost::system::error_code ec;
1542
- endpoint_type ep = this->get_service().remote_endpoint(
1543
- this->get_implementation(), ec);
1607
+ endpoint_type ep = impl_.get_service().remote_endpoint(
1608
+ impl_.get_implementation(), ec);
1544
1609
  boost::asio::detail::throw_error(ec, "remote_endpoint");
1545
1610
  return ep;
1546
1611
  }
@@ -1556,7 +1621,7 @@ public:
1556
1621
  *
1557
1622
  * @par Example
1558
1623
  * @code
1559
- * boost::asio::ip::tcp::socket socket(io_context);
1624
+ * boost::asio::ip::tcp::socket socket(my_context);
1560
1625
  * ...
1561
1626
  * boost::system::error_code ec;
1562
1627
  * boost::asio::ip::tcp::endpoint endpoint = socket.remote_endpoint(ec);
@@ -1568,7 +1633,7 @@ public:
1568
1633
  */
1569
1634
  endpoint_type remote_endpoint(boost::system::error_code& ec) const
1570
1635
  {
1571
- return this->get_service().remote_endpoint(this->get_implementation(), ec);
1636
+ return impl_.get_service().remote_endpoint(impl_.get_implementation(), ec);
1572
1637
  }
1573
1638
 
1574
1639
  /// Disable sends or receives on the socket.
@@ -1583,7 +1648,7 @@ public:
1583
1648
  * @par Example
1584
1649
  * Shutting down the send side of the socket:
1585
1650
  * @code
1586
- * boost::asio::ip::tcp::socket socket(io_context);
1651
+ * boost::asio::ip::tcp::socket socket(my_context);
1587
1652
  * ...
1588
1653
  * socket.shutdown(boost::asio::ip::tcp::socket::shutdown_send);
1589
1654
  * @endcode
@@ -1591,7 +1656,7 @@ public:
1591
1656
  void shutdown(shutdown_type what)
1592
1657
  {
1593
1658
  boost::system::error_code ec;
1594
- this->get_service().shutdown(this->get_implementation(), what, ec);
1659
+ impl_.get_service().shutdown(impl_.get_implementation(), what, ec);
1595
1660
  boost::asio::detail::throw_error(ec, "shutdown");
1596
1661
  }
1597
1662
 
@@ -1607,7 +1672,7 @@ public:
1607
1672
  * @par Example
1608
1673
  * Shutting down the send side of the socket:
1609
1674
  * @code
1610
- * boost::asio::ip::tcp::socket socket(io_context);
1675
+ * boost::asio::ip::tcp::socket socket(my_context);
1611
1676
  * ...
1612
1677
  * boost::system::error_code ec;
1613
1678
  * socket.shutdown(boost::asio::ip::tcp::socket::shutdown_send, ec);
@@ -1620,7 +1685,7 @@ public:
1620
1685
  BOOST_ASIO_SYNC_OP_VOID shutdown(shutdown_type what,
1621
1686
  boost::system::error_code& ec)
1622
1687
  {
1623
- this->get_service().shutdown(this->get_implementation(), what, ec);
1688
+ impl_.get_service().shutdown(impl_.get_implementation(), what, ec);
1624
1689
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1625
1690
  }
1626
1691
 
@@ -1635,7 +1700,7 @@ public:
1635
1700
  * @par Example
1636
1701
  * Waiting for a socket to become readable.
1637
1702
  * @code
1638
- * boost::asio::ip::tcp::socket socket(io_context);
1703
+ * boost::asio::ip::tcp::socket socket(my_context);
1639
1704
  * ...
1640
1705
  * socket.wait(boost::asio::ip::tcp::socket::wait_read);
1641
1706
  * @endcode
@@ -1643,7 +1708,7 @@ public:
1643
1708
  void wait(wait_type w)
1644
1709
  {
1645
1710
  boost::system::error_code ec;
1646
- this->get_service().wait(this->get_implementation(), w, ec);
1711
+ impl_.get_service().wait(impl_.get_implementation(), w, ec);
1647
1712
  boost::asio::detail::throw_error(ec, "wait");
1648
1713
  }
1649
1714
 
@@ -1660,7 +1725,7 @@ public:
1660
1725
  * @par Example
1661
1726
  * Waiting for a socket to become readable.
1662
1727
  * @code
1663
- * boost::asio::ip::tcp::socket socket(io_context);
1728
+ * boost::asio::ip::tcp::socket socket(my_context);
1664
1729
  * ...
1665
1730
  * boost::system::error_code ec;
1666
1731
  * socket.wait(boost::asio::ip::tcp::socket::wait_read, ec);
@@ -1668,7 +1733,7 @@ public:
1668
1733
  */
1669
1734
  BOOST_ASIO_SYNC_OP_VOID wait(wait_type w, boost::system::error_code& ec)
1670
1735
  {
1671
- this->get_service().wait(this->get_implementation(), w, ec);
1736
+ impl_.get_service().wait(impl_.get_implementation(), w, ec);
1672
1737
  BOOST_ASIO_SYNC_OP_VOID_RETURN(ec);
1673
1738
  }
1674
1739
 
@@ -1687,9 +1752,9 @@ public:
1687
1752
  * const boost::system::error_code& error // Result of operation
1688
1753
  * ); @endcode
1689
1754
  * Regardless of whether the asynchronous operation completes immediately or
1690
- * not, the handler will not be invoked from within this function. Invocation
1691
- * of the handler will be performed in a manner equivalent to using
1692
- * boost::asio::io_context::post().
1755
+ * not, the handler will not be invoked from within this function. On
1756
+ * immediate completion, invocation of the handler will be performed in a
1757
+ * manner equivalent to using boost::asio::post().
1693
1758
  *
1694
1759
  * @par Example
1695
1760
  * @code
@@ -1703,32 +1768,22 @@ public:
1703
1768
  *
1704
1769
  * ...
1705
1770
  *
1706
- * boost::asio::ip::tcp::socket socket(io_context);
1771
+ * boost::asio::ip::tcp::socket socket(my_context);
1707
1772
  * ...
1708
1773
  * socket.async_wait(boost::asio::ip::tcp::socket::wait_read, wait_handler);
1709
1774
  * @endcode
1710
1775
  */
1711
- template <typename WaitHandler>
1712
- BOOST_ASIO_INITFN_RESULT_TYPE(WaitHandler,
1776
+ template <
1777
+ BOOST_ASIO_COMPLETION_TOKEN_FOR(void (boost::system::error_code))
1778
+ WaitHandler BOOST_ASIO_DEFAULT_COMPLETION_TOKEN_TYPE(executor_type)>
1779
+ BOOST_ASIO_INITFN_AUTO_RESULT_TYPE(WaitHandler,
1713
1780
  void (boost::system::error_code))
1714
- async_wait(wait_type w, BOOST_ASIO_MOVE_ARG(WaitHandler) handler)
1781
+ async_wait(wait_type w,
1782
+ BOOST_ASIO_MOVE_ARG(WaitHandler) handler
1783
+ BOOST_ASIO_DEFAULT_COMPLETION_TOKEN(executor_type))
1715
1784
  {
1716
- // If you get an error on the following line it means that your handler does
1717
- // not meet the documented type requirements for a WaitHandler.
1718
- BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
1719
-
1720
- #if defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
1721
- return this->get_service().async_wait(this->get_implementation(),
1722
- w, BOOST_ASIO_MOVE_CAST(WaitHandler)(handler));
1723
- #else // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
1724
- async_completion<WaitHandler,
1725
- void (boost::system::error_code)> init(handler);
1726
-
1727
- this->get_service().async_wait(this->get_implementation(),
1728
- w, init.completion_handler);
1729
-
1730
- return init.result.get();
1731
- #endif // defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
1785
+ return async_initiate<WaitHandler, void (boost::system::error_code)>(
1786
+ initiate_async_wait(this), handler, w);
1732
1787
  }
1733
1788
 
1734
1789
  protected:
@@ -1741,10 +1796,96 @@ protected:
1741
1796
  {
1742
1797
  }
1743
1798
 
1799
+ #if defined(BOOST_ASIO_WINDOWS_RUNTIME)
1800
+ detail::io_object_impl<
1801
+ detail::null_socket_service<Protocol>, Executor> impl_;
1802
+ #elif defined(BOOST_ASIO_HAS_IOCP)
1803
+ detail::io_object_impl<
1804
+ detail::win_iocp_socket_service<Protocol>, Executor> impl_;
1805
+ #else
1806
+ detail::io_object_impl<
1807
+ detail::reactive_socket_service<Protocol>, Executor> impl_;
1808
+ #endif
1809
+
1744
1810
  private:
1745
1811
  // Disallow copying and assignment.
1746
1812
  basic_socket(const basic_socket&) BOOST_ASIO_DELETED;
1747
1813
  basic_socket& operator=(const basic_socket&) BOOST_ASIO_DELETED;
1814
+
1815
+ class initiate_async_connect
1816
+ {
1817
+ public:
1818
+ typedef Executor executor_type;
1819
+
1820
+ explicit initiate_async_connect(basic_socket* self)
1821
+ : self_(self)
1822
+ {
1823
+ }
1824
+
1825
+ executor_type get_executor() const BOOST_ASIO_NOEXCEPT
1826
+ {
1827
+ return self_->get_executor();
1828
+ }
1829
+
1830
+ template <typename ConnectHandler>
1831
+ void operator()(BOOST_ASIO_MOVE_ARG(ConnectHandler) handler,
1832
+ const endpoint_type& peer_endpoint,
1833
+ const boost::system::error_code& open_ec) const
1834
+ {
1835
+ // If you get an error on the following line it means that your handler
1836
+ // does not meet the documented type requirements for a ConnectHandler.
1837
+ BOOST_ASIO_CONNECT_HANDLER_CHECK(ConnectHandler, handler) type_check;
1838
+
1839
+ if (open_ec)
1840
+ {
1841
+ boost::asio::post(self_->impl_.get_executor(),
1842
+ boost::asio::detail::bind_handler(
1843
+ BOOST_ASIO_MOVE_CAST(ConnectHandler)(handler), open_ec));
1844
+ }
1845
+ else
1846
+ {
1847
+ detail::non_const_lvalue<ConnectHandler> handler2(handler);
1848
+ self_->impl_.get_service().async_connect(
1849
+ self_->impl_.get_implementation(), peer_endpoint,
1850
+ handler2.value, self_->impl_.get_executor());
1851
+ }
1852
+ }
1853
+
1854
+ private:
1855
+ basic_socket* self_;
1856
+ };
1857
+
1858
+ class initiate_async_wait
1859
+ {
1860
+ public:
1861
+ typedef Executor executor_type;
1862
+
1863
+ explicit initiate_async_wait(basic_socket* self)
1864
+ : self_(self)
1865
+ {
1866
+ }
1867
+
1868
+ executor_type get_executor() const BOOST_ASIO_NOEXCEPT
1869
+ {
1870
+ return self_->get_executor();
1871
+ }
1872
+
1873
+ template <typename WaitHandler>
1874
+ void operator()(BOOST_ASIO_MOVE_ARG(WaitHandler) handler, wait_type w) const
1875
+ {
1876
+ // If you get an error on the following line it means that your handler
1877
+ // does not meet the documented type requirements for a WaitHandler.
1878
+ BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check;
1879
+
1880
+ detail::non_const_lvalue<WaitHandler> handler2(handler);
1881
+ self_->impl_.get_service().async_wait(
1882
+ self_->impl_.get_implementation(), w,
1883
+ handler2.value, self_->impl_.get_executor());
1884
+ }
1885
+
1886
+ private:
1887
+ basic_socket* self_;
1888
+ };
1748
1889
  };
1749
1890
 
1750
1891
  } // namespace asio
@@ -1752,8 +1893,4 @@ private:
1752
1893
 
1753
1894
  #include <boost/asio/detail/pop_options.hpp>
1754
1895
 
1755
- #if !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
1756
- # undef BOOST_ASIO_SVC_T
1757
- #endif // !defined(BOOST_ASIO_ENABLE_OLD_SERVICES)
1758
-
1759
1896
  #endif // BOOST_ASIO_BASIC_SOCKET_HPP