passenger 6.0.20 → 6.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +41 -1
  3. data/CONTRIBUTORS +2 -0
  4. data/README.md +2 -2
  5. data/bin/passenger-install-nginx-module +4 -4
  6. data/build/support/cxx_dependency_map.rb +155 -54
  7. data/dev/copy_boost_headers +21 -7
  8. data/dev/nginx_version_sha256 +72 -0
  9. data/src/agent/AgentMain.cpp +2 -8
  10. data/src/agent/Core/AdminPanelConnector.h +2 -3
  11. data/src/agent/Core/ApiServer.h +1 -1
  12. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
  13. data/src/agent/Core/Config.h +6 -3
  14. data/src/agent/Core/Controller/AppResponse.h +0 -1
  15. data/src/agent/Core/Controller/Config.h +2 -2
  16. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  17. data/src/agent/Core/CoreMain.cpp +1 -0
  18. data/src/agent/Core/ResponseCache.h +3 -2
  19. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  20. data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
  21. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  22. data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
  23. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
  24. data/src/agent/MainFunctions.h +38 -0
  25. data/src/agent/Shared/ApiServerUtils.h +3 -2
  26. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  27. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
  28. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
  29. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
  30. data/src/agent/Watchdog/ApiServer.h +1 -1
  31. data/src/agent/Watchdog/Config.h +1 -1
  32. data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
  33. data/src/apache2_module/Hooks.cpp +26 -1
  34. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  35. data/src/cxx_supportlib/Constants.h +1 -1
  36. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  37. data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
  38. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
  39. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  40. data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
  41. data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
  42. data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
  43. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
  44. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
  45. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
  46. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  47. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  48. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  49. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
  50. data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
  51. data/src/cxx_supportlib/ServerKit/Context.h +6 -0
  52. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  53. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +96 -64
  54. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
  55. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  56. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  57. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  58. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  59. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  60. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  61. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  62. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  63. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  64. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  65. data/src/cxx_supportlib/StaticString.h +3 -1
  66. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  67. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
  68. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
  69. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  70. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
  71. data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
  72. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
  73. data/src/cxx_supportlib/Utils.cpp +1 -1
  74. data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
  75. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +61 -62
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +28 -46
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +19 -22
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +106 -153
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +75 -294
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +26 -39
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +32 -48
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +26 -39
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +53 -272
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +22 -26
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +2 -3
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +91 -975
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +4 -4
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +5 -6
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +73 -127
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +32 -11
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +2 -2
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +56 -101
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -3
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +3 -4
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +12 -44
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +9 -9
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +3 -4
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +3 -4
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +2 -2
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +21 -26
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +229 -1019
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +55 -33
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -2
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +20 -20
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +39 -30
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +16 -17
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +3 -2
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +14 -20
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +62 -137
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +44 -36
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +32 -41
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +36 -420
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +205 -421
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +1 -1
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +77 -423
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +25 -34
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +4 -4
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +4 -4
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +21 -26
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +10 -21
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +1 -27
  618. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
  619. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
  620. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
  621. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1 -1
  622. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
  623. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
  624. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
  625. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  626. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
  627. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
  628. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -61
  633. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -1740
  634. data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
  635. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  636. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  637. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  638. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  639. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
  640. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
  641. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
  642. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
  643. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  644. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +1 -1
  645. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
  646. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
  647. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
  648. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  649. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
  650. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  651. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
  652. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  653. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +3 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -0
  656. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
  657. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +4 -0
  658. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
  659. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
  662. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
  663. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
  664. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  668. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
  669. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
  670. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  671. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  672. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
  673. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +40 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
  675. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
  676. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
  677. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +112 -112
  678. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
  679. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  680. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +10 -10
  681. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
  682. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
  683. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
  684. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +6 -6
  685. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
  686. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
  687. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
  688. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
  689. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
  690. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
  691. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
  692. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  693. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +77 -77
  694. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  695. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +44 -1
  696. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
  697. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
  698. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
  699. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
  700. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
  701. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
  702. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
  703. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +18 -8
  704. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
  705. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  706. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
  707. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
  708. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
  709. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
  710. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
  711. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
  712. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
  713. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
  714. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
  716. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +84 -86
  717. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
  718. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
  719. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
  720. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
  721. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
  722. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -41
  723. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
  724. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
  725. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
  726. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
  727. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
  729. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
  730. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
  734. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
  736. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
  737. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  738. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
  739. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
  740. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
  741. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +2 -2
  742. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
  743. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
  744. data/src/cxx_supportlib/vendor-modified/boost/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
  745. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
  746. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +1 -1
  747. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
  748. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
  749. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
  750. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +1 -1
  751. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
  752. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  753. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  754. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  755. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  756. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  757. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  758. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  759. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  760. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  762. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  763. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +21 -166
  764. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  765. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
  766. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  767. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
  768. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
  769. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
  770. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
  771. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
  772. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
  773. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
  774. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
  775. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +2 -2
  776. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
  777. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
  778. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  779. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  780. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
  781. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  782. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
  783. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  784. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  785. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
  786. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  787. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
  789. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -21
  790. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  791. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
  792. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  793. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
  794. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
  795. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
  796. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  797. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  798. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  799. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -21
  800. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  801. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
  802. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
  803. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +32 -1
  804. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
  805. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
  806. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +56 -57
  807. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  809. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
  811. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
  812. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
  813. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
  814. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
  815. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +60 -61
  816. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
  817. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
  818. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
  819. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
  820. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
  821. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
  822. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
  823. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
  824. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
  825. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  826. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
  827. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +611 -633
  828. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
  829. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
  830. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
  831. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  832. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  833. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
  834. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
  835. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
  836. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -30
  837. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  838. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  839. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  840. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
  841. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  842. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +1 -0
  843. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
  844. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
  845. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
  846. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
  847. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
  848. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
  849. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  851. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
  852. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  853. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
  854. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  855. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +67 -17
  856. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
  857. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
  858. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
  859. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
  860. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
  861. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
  862. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
  863. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
  864. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
  865. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  866. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
  867. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +2 -1
  868. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  869. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
  870. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  871. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  872. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  873. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
  875. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  876. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
  877. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
  878. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  879. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
  880. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
  881. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  882. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -87
  883. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  884. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  885. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  886. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  887. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  888. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  889. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  890. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
  891. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
  892. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  893. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
  894. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -8
  895. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
  896. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -57
  897. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
  898. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -124
  899. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
  900. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
  901. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
  902. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
  903. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
  904. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +8 -1
  905. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
  906. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +5 -9
  907. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
  908. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
  909. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
  910. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
  911. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  913. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  914. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  915. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  916. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  917. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  918. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  919. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  920. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  921. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  922. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  923. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  924. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
  925. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  926. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  927. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
  928. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  929. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
  931. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
  932. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
  933. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  934. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
  935. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  937. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  938. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  939. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
  940. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  941. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  942. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  943. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  944. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +2 -54
  945. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  946. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  947. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  948. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  949. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  950. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  951. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -12
  952. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  953. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  954. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  955. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  956. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  957. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  958. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  959. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  960. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  961. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  962. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -203
  963. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
  964. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
  965. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
  966. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  971. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
  972. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +531 -91
  973. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
  974. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
  975. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
  976. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
  977. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
  978. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
  979. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +150 -55
  981. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
  982. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
  983. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
  984. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  985. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +95 -144
  986. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  987. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  988. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  991. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +123 -19
  993. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
  994. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +65 -46
  995. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
  996. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
  997. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
  998. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
  999. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
  1000. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
  1001. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
  1002. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
  1003. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
  1004. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
  1005. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
  1006. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  1007. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
  1008. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1009. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  1010. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
  1011. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
  1012. data/src/helper-scripts/wsgi-loader.py +2 -2
  1013. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  1014. data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
  1015. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  1016. data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
  1017. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
  1018. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
  1019. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
  1020. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
  1021. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
  1022. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  1023. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
  1024. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
  1025. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  1026. metadata +50 -149
  1027. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
  1028. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
  1029. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
  1030. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -91
  1031. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  1032. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  1033. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  1034. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  1035. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
  1036. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  1037. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  1038. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  1039. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
  1040. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
  1041. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
  1042. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
  1043. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
  1044. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
  1045. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
  1046. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
  1047. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
  1048. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
  1049. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
  1050. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
  1051. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
  1052. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
  1053. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
  1054. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
  1055. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
  1056. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
  1057. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
  1058. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
  1059. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
  1060. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
  1061. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
  1062. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
  1063. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
  1064. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
  1065. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
  1066. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
  1067. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
  1068. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
  1069. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
  1070. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
  1071. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
  1072. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
  1073. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
  1074. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
  1075. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
  1076. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
  1077. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
  1078. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
  1079. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
  1080. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
  1081. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
  1082. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
  1083. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
  1084. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
  1085. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
  1086. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
  1087. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
  1088. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
  1089. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
  1090. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
  1091. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
  1092. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
  1093. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
  1094. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
  1095. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  1096. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  1097. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  1098. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/is_same.hpp +0 -36
  1099. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
  1100. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  1101. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  1102. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  1103. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -476
  1104. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
  1105. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
  1106. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
  1107. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1108. data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
  1109. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  1110. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  1111. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  1112. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -27
  1113. data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
  1114. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  1115. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  1116. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  1117. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  1118. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  1119. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  1120. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  1121. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  1122. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  1123. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  1124. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  1125. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  1126. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  1127. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  1128. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  1129. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  1130. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  1131. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  1132. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  1133. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  1134. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  1135. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  1136. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  1137. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  1138. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  1139. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  1140. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  1141. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  1142. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  1143. data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
  1144. data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
  1145. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  1146. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
  1147. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  1148. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  1149. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  1150. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  1151. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  1152. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  1153. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  1154. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  1155. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  1156. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  1157. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  1158. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  1159. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  1160. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  1161. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  1162. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
  1163. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  1164. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  1165. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  1166. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  1167. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  1168. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  1169. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -150
  1170. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
  1171. /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
@@ -1,7 +1,7 @@
1
-
2
1
  // Copyright (C) 2003-2004 Jeremy B. Maitin-Shepard.
3
2
  // Copyright (C) 2005-2011 Daniel James.
4
- // Copyright (C) 2022 Christian Mazakas
3
+ // Copyright (C) 2022-2023 Christian Mazakas
4
+ // Copyright (C) 2024 Joaquin M Lopez Munoz.
5
5
  // Distributed under the Boost Software License, Version 1.0. (See accompanying
6
6
  // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
7
 
@@ -15,16 +15,13 @@
15
15
  #pragma once
16
16
  #endif
17
17
 
18
- #include <boost/unordered/detail/requires_cxx11.hpp>
19
- #include <boost/core/explicit_operator_bool.hpp>
20
- #include <boost/functional/hash.hpp>
21
- #include <boost/move/move.hpp>
18
+ #include <boost/unordered/detail/serialize_fca_container.hpp>
22
19
  #include <boost/unordered/detail/set.hpp>
23
20
  #include <boost/unordered/detail/type_traits.hpp>
24
21
 
25
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
22
+ #include <boost/container_hash/hash.hpp>
23
+
26
24
  #include <initializer_list>
27
- #endif
28
25
 
29
26
  #if defined(BOOST_MSVC)
30
27
  #pragma warning(push)
@@ -41,9 +38,6 @@ namespace boost {
41
38
  namespace unordered {
42
39
  template <class T, class H, class P, class A> class unordered_set
43
40
  {
44
- #if defined(BOOST_UNORDERED_USE_MOVE)
45
- BOOST_COPYABLE_AND_MOVABLE(unordered_set)
46
- #endif
47
41
  template <typename, typename, typename, typename>
48
42
  friend class unordered_multiset;
49
43
 
@@ -96,28 +90,23 @@ namespace boost {
96
90
 
97
91
  unordered_set(unordered_set const&);
98
92
 
99
- #if defined(BOOST_UNORDERED_USE_MOVE) || \
100
- !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
101
- unordered_set(BOOST_RV_REF(unordered_set) other)
102
- BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
93
+ unordered_set(unordered_set&& other)
94
+ noexcept(table::nothrow_move_constructible)
103
95
  : table_(other.table_, boost::unordered::detail::move_tag())
104
96
  {
105
97
  // The move is done in table_
106
98
  }
107
- #endif
108
99
 
109
100
  explicit unordered_set(allocator_type const&);
110
101
 
111
102
  unordered_set(unordered_set const&, allocator_type const&);
112
103
 
113
- unordered_set(BOOST_RV_REF(unordered_set), allocator_type const&);
104
+ unordered_set(unordered_set&&, allocator_type const&);
114
105
 
115
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
116
106
  unordered_set(std::initializer_list<value_type>,
117
107
  size_type = boost::unordered::detail::default_bucket_count,
118
108
  const hasher& = hasher(), const key_equal& l = key_equal(),
119
109
  const allocator_type& = allocator_type());
120
- #endif
121
110
 
122
111
  explicit unordered_set(size_type, const allocator_type&);
123
112
 
@@ -133,7 +122,6 @@ namespace boost {
133
122
  unordered_set(
134
123
  InputIt, InputIt, size_type, const hasher&, const allocator_type&);
135
124
 
136
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
137
125
  unordered_set(std::initializer_list<value_type>, const allocator_type&);
138
126
 
139
127
  unordered_set(
@@ -141,263 +129,100 @@ namespace boost {
141
129
 
142
130
  unordered_set(std::initializer_list<value_type>, size_type, const hasher&,
143
131
  const allocator_type&);
144
- #endif
145
132
 
146
133
  // Destructor
147
134
 
148
- ~unordered_set() BOOST_NOEXCEPT;
135
+ ~unordered_set() noexcept;
149
136
 
150
- // Assign
137
+ // Assign
151
138
 
152
- #if defined(BOOST_UNORDERED_USE_MOVE)
153
- unordered_set& operator=(BOOST_COPY_ASSIGN_REF(unordered_set) x)
154
- {
155
- table_.assign(x.table_, boost::unordered::detail::true_type());
156
- return *this;
157
- }
158
-
159
- unordered_set& operator=(BOOST_RV_REF(unordered_set) x)
160
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
161
- boost::is_nothrow_move_assignable<H>::value&&
162
- boost::is_nothrow_move_assignable<P>::value)
163
- {
164
- table_.move_assign(x.table_, boost::unordered::detail::true_type());
165
- return *this;
166
- }
167
- #else
168
139
  unordered_set& operator=(unordered_set const& x)
169
140
  {
170
- table_.assign(x.table_, boost::unordered::detail::true_type());
141
+ table_.assign(x.table_, std::true_type());
171
142
  return *this;
172
143
  }
173
144
 
174
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
175
145
  unordered_set& operator=(unordered_set&& x)
176
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
177
- boost::is_nothrow_move_assignable<H>::value&&
178
- boost::is_nothrow_move_assignable<P>::value)
146
+ noexcept(value_allocator_traits::is_always_equal::value&&
147
+ std::is_nothrow_move_assignable<H>::value&&
148
+ std::is_nothrow_move_assignable<P>::value)
179
149
  {
180
- table_.move_assign(x.table_, boost::unordered::detail::true_type());
150
+ table_.move_assign(x.table_, std::true_type());
181
151
  return *this;
182
152
  }
183
- #endif
184
- #endif
185
153
 
186
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
187
154
  unordered_set& operator=(std::initializer_list<value_type>);
188
- #endif
189
155
 
190
- allocator_type get_allocator() const BOOST_NOEXCEPT
156
+ allocator_type get_allocator() const noexcept
191
157
  {
192
- return table_.node_alloc();
158
+ return allocator_type(table_.node_alloc());
193
159
  }
194
160
 
195
161
  // iterators
196
162
 
197
- iterator begin() BOOST_NOEXCEPT { return iterator(table_.begin()); }
163
+ iterator begin() noexcept { return iterator(table_.begin()); }
198
164
 
199
- const_iterator begin() const BOOST_NOEXCEPT
165
+ const_iterator begin() const noexcept
200
166
  {
201
167
  return const_iterator(table_.begin());
202
168
  }
203
169
 
204
- iterator end() BOOST_NOEXCEPT { return iterator(); }
170
+ iterator end() noexcept { return iterator(); }
205
171
 
206
- const_iterator end() const BOOST_NOEXCEPT { return const_iterator(); }
172
+ const_iterator end() const noexcept { return const_iterator(); }
207
173
 
208
- const_iterator cbegin() const BOOST_NOEXCEPT
174
+ const_iterator cbegin() const noexcept
209
175
  {
210
176
  return const_iterator(table_.begin());
211
177
  }
212
178
 
213
- const_iterator cend() const BOOST_NOEXCEPT { return const_iterator(); }
179
+ const_iterator cend() const noexcept { return const_iterator(); }
214
180
 
215
181
  // size and capacity
216
182
 
217
- BOOST_ATTRIBUTE_NODISCARD bool empty() const BOOST_NOEXCEPT
183
+ BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
218
184
  {
219
185
  return table_.size_ == 0;
220
186
  }
221
187
 
222
- size_type size() const BOOST_NOEXCEPT { return table_.size_; }
223
-
224
- size_type max_size() const BOOST_NOEXCEPT;
225
-
226
- // emplace
227
-
228
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
229
-
230
- template <class... Args>
231
- std::pair<iterator, bool> emplace(BOOST_FWD_REF(Args)... args)
232
- {
233
- return table_.emplace_unique(
234
- table::extractor::extract(boost::forward<Args>(args)...),
235
- boost::forward<Args>(args)...);
236
- }
237
-
238
- #else
188
+ size_type size() const noexcept { return table_.size_; }
239
189
 
240
- #if !BOOST_UNORDERED_SUN_WORKAROUNDS1
190
+ size_type max_size() const noexcept;
241
191
 
242
- // 0 argument emplace requires special treatment in case
243
- // the container is instantiated with a value type that
244
- // doesn't have a default constructor.
192
+ // emplace
245
193
 
246
- std::pair<iterator, bool> emplace(
247
- boost::unordered::detail::empty_emplace =
248
- boost::unordered::detail::empty_emplace(),
249
- value_type v = value_type())
250
- {
251
- return this->emplace(boost::move(v));
252
- }
253
-
254
- #endif
255
-
256
- template <typename A0>
257
- std::pair<iterator, bool> emplace(BOOST_FWD_REF(A0) a0)
258
- {
259
- return table_.emplace_unique(
260
- table::extractor::extract(boost::forward<A0>(a0)),
261
- boost::unordered::detail::create_emplace_args(
262
- boost::forward<A0>(a0)));
263
- }
264
-
265
- template <typename A0, typename A1>
266
- std::pair<iterator, bool> emplace(
267
- BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
268
- {
269
- return table_.emplace_unique(
270
- table::extractor::extract(
271
- boost::forward<A0>(a0), boost::forward<A1>(a1)),
272
- boost::unordered::detail::create_emplace_args(
273
- boost::forward<A0>(a0), boost::forward<A1>(a1)));
274
- }
275
-
276
- template <typename A0, typename A1, typename A2>
277
- std::pair<iterator, bool> emplace(
278
- BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
194
+ template <class... Args> std::pair<iterator, bool> emplace(Args&&... args)
279
195
  {
280
196
  return table_.emplace_unique(
281
- table::extractor::extract(
282
- boost::forward<A0>(a0), boost::forward<A1>(a1)),
283
- boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
284
- boost::forward<A1>(a1), boost::forward<A2>(a2)));
197
+ table::extractor::extract(std::forward<Args>(args)...),
198
+ std::forward<Args>(args)...);
285
199
  }
286
200
 
287
- #endif
288
-
289
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
290
-
291
201
  template <class... Args>
292
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
202
+ iterator emplace_hint(const_iterator hint, Args&&... args)
293
203
  {
294
204
  return table_.emplace_hint_unique(hint,
295
- table::extractor::extract(boost::forward<Args>(args)...),
296
- boost::forward<Args>(args)...);
205
+ table::extractor::extract(std::forward<Args>(args)...),
206
+ std::forward<Args>(args)...);
297
207
  }
298
208
 
299
- #else
300
-
301
- #if !BOOST_UNORDERED_SUN_WORKAROUNDS1
302
-
303
- iterator emplace_hint(const_iterator hint,
304
- boost::unordered::detail::empty_emplace =
305
- boost::unordered::detail::empty_emplace(),
306
- value_type v = value_type())
307
- {
308
- return this->emplace_hint(hint, boost::move(v));
309
- }
310
-
311
- #endif
312
-
313
- template <typename A0>
314
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
315
- {
316
- return table_.emplace_hint_unique(hint,
317
- table::extractor::extract(boost::forward<A0>(a0)),
318
- boost::unordered::detail::create_emplace_args(
319
- boost::forward<A0>(a0)));
320
- }
321
-
322
- template <typename A0, typename A1>
323
- iterator emplace_hint(
324
- const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
325
- {
326
- return table_.emplace_hint_unique(hint,
327
- table::extractor::extract(
328
- boost::forward<A0>(a0), boost::forward<A1>(a1)),
329
- boost::unordered::detail::create_emplace_args(
330
- boost::forward<A0>(a0), boost::forward<A1>(a1)));
331
- }
332
-
333
- template <typename A0, typename A1, typename A2>
334
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
335
- BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
336
- {
337
- return table_.emplace_hint_unique(hint,
338
- table::extractor::extract(
339
- boost::forward<A0>(a0), boost::forward<A1>(a1)),
340
- boost::unordered::detail::create_emplace_args(boost::forward<A0>(a0),
341
- boost::forward<A1>(a1), boost::forward<A2>(a2)));
342
- }
343
-
344
- #endif
345
-
346
- #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
347
-
348
- #define BOOST_UNORDERED_EMPLACE(z, n, _) \
349
- template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
350
- std::pair<iterator, bool> emplace( \
351
- BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
352
- { \
353
- return table_.emplace_unique( \
354
- table::extractor::extract( \
355
- boost::forward<A0>(a0), boost::forward<A1>(a1)), \
356
- boost::unordered::detail::create_emplace_args( \
357
- BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
358
- } \
359
- \
360
- template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
361
- iterator emplace_hint( \
362
- const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
363
- { \
364
- return table_.emplace_hint_unique(hint, \
365
- table::extractor::extract( \
366
- boost::forward<A0>(a0), boost::forward<A1>(a1)), \
367
- boost::unordered::detail::create_emplace_args( \
368
- BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))); \
369
- }
370
-
371
- BOOST_UNORDERED_EMPLACE(1, 4, _)
372
- BOOST_UNORDERED_EMPLACE(1, 5, _)
373
- BOOST_UNORDERED_EMPLACE(1, 6, _)
374
- BOOST_UNORDERED_EMPLACE(1, 7, _)
375
- BOOST_UNORDERED_EMPLACE(1, 8, _)
376
- BOOST_UNORDERED_EMPLACE(1, 9, _)
377
- BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
378
- BOOST_UNORDERED_EMPLACE, _)
379
-
380
- #undef BOOST_UNORDERED_EMPLACE
381
-
382
- #endif
383
-
384
209
  std::pair<iterator, bool> insert(value_type const& x)
385
210
  {
386
211
  return this->emplace(x);
387
212
  }
388
213
 
389
- std::pair<iterator, bool> insert(BOOST_UNORDERED_RV_REF(value_type) x)
214
+ std::pair<iterator, bool> insert(value_type&& x)
390
215
  {
391
- return this->emplace(boost::move(x));
216
+ return this->emplace(std::move(x));
392
217
  }
393
218
 
394
219
  template <class Key>
395
220
  typename boost::enable_if_c<
396
221
  detail::transparent_non_iterable<Key, unordered_set>::value,
397
222
  std::pair<iterator, bool> >::type
398
- insert(BOOST_FWD_REF(Key) k)
223
+ insert(Key&& k)
399
224
  {
400
- return table_.try_emplace_unique(boost::forward<Key>(k));
225
+ return table_.try_emplace_unique(std::forward<Key>(k));
401
226
  }
402
227
 
403
228
  iterator insert(const_iterator hint, value_type const& x)
@@ -405,37 +230,38 @@ namespace boost {
405
230
  return this->emplace_hint(hint, x);
406
231
  }
407
232
 
408
- iterator insert(const_iterator hint, BOOST_UNORDERED_RV_REF(value_type) x)
233
+ iterator insert(const_iterator hint, value_type&& x)
409
234
  {
410
- return this->emplace_hint(hint, boost::move(x));
235
+ return this->emplace_hint(hint, std::move(x));
411
236
  }
412
237
 
413
238
  template <class Key>
414
239
  typename boost::enable_if_c<
415
240
  detail::transparent_non_iterable<Key, unordered_set>::value,
416
241
  iterator>::type
417
- insert(const_iterator hint, BOOST_FWD_REF(Key) k)
242
+ insert(const_iterator hint, Key&& k)
418
243
  {
419
- return table_.try_emplace_hint_unique(hint, boost::forward<Key>(k));
244
+ return table_.try_emplace_hint_unique(hint, std::forward<Key>(k));
420
245
  }
421
246
 
422
247
  template <class InputIt> void insert(InputIt, InputIt);
423
248
 
424
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
425
249
  void insert(std::initializer_list<value_type>);
426
- #endif
427
250
 
428
251
  // extract
429
252
 
430
253
  node_type extract(const_iterator position)
431
254
  {
432
255
  return node_type(
433
- table_.extract_by_iterator_unique(position), table_.node_alloc());
256
+ table_.extract_by_iterator_unique(position),
257
+ allocator_type(table_.node_alloc()));
434
258
  }
435
259
 
436
260
  node_type extract(const key_type& k)
437
261
  {
438
- return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
262
+ return node_type(
263
+ table_.extract_by_key_impl(k),
264
+ allocator_type(table_.node_alloc()));
439
265
  }
440
266
 
441
267
  template <class Key>
@@ -444,31 +270,23 @@ namespace boost {
444
270
  node_type>::type
445
271
  extract(const Key& k)
446
272
  {
447
- return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
273
+ return node_type(
274
+ table_.extract_by_key_impl(k),
275
+ allocator_type(table_.node_alloc()));
448
276
  }
449
277
 
450
- insert_return_type insert(BOOST_RV_REF(node_type) np)
278
+ insert_return_type insert(node_type&& np)
451
279
  {
452
280
  insert_return_type result;
453
281
  table_.move_insert_node_type_unique(np, result);
454
- return boost::move(result);
282
+ return result;
455
283
  }
456
284
 
457
- iterator insert(const_iterator hint, BOOST_RV_REF(node_type) np)
285
+ iterator insert(const_iterator hint, node_type&& np)
458
286
  {
459
287
  return table_.move_insert_node_type_with_hint_unique(hint, np);
460
288
  }
461
289
 
462
- #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
463
- (BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
464
- private:
465
- // Note: Use r-value node_type to insert.
466
- insert_return_type insert(node_type&);
467
- iterator insert(const_iterator, node_type& np);
468
-
469
- public:
470
- #endif
471
-
472
290
  iterator erase(const_iterator);
473
291
  size_type erase(const key_type&);
474
292
  iterator erase(const_iterator, const_iterator);
@@ -477,9 +295,9 @@ namespace boost {
477
295
  typename boost::enable_if_c<
478
296
  detail::transparent_non_iterable<Key, unordered_set>::value,
479
297
  size_type>::type
480
- erase(BOOST_FWD_REF(Key) k)
298
+ erase(Key&& k)
481
299
  {
482
- return table_.erase_key_unique_impl(boost::forward<Key>(k));
300
+ return table_.erase_key_unique_impl(std::forward<Key>(k));
483
301
  }
484
302
 
485
303
  BOOST_UNORDERED_DEPRECATED("Use erase instead")
@@ -488,26 +306,22 @@ namespace boost {
488
306
  void erase_return_void(const_iterator it) { erase(it); }
489
307
 
490
308
  void swap(unordered_set&)
491
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
492
- boost::is_nothrow_swappable<H>::value&&
493
- boost::is_nothrow_swappable<P>::value);
494
- void clear() BOOST_NOEXCEPT { table_.clear_impl(); }
309
+ noexcept(value_allocator_traits::is_always_equal::value&&
310
+ boost::unordered::detail::is_nothrow_swappable<H>::value&&
311
+ boost::unordered::detail::is_nothrow_swappable<P>::value);
312
+ void clear() noexcept { table_.clear_impl(); }
495
313
 
496
314
  template <typename H2, typename P2>
497
315
  void merge(boost::unordered_set<T, H2, P2, A>& source);
498
316
 
499
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
500
317
  template <typename H2, typename P2>
501
318
  void merge(boost::unordered_set<T, H2, P2, A>&& source);
502
- #endif
503
319
 
504
320
  template <typename H2, typename P2>
505
321
  void merge(boost::unordered_multiset<T, H2, P2, A>& source);
506
322
 
507
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
508
323
  template <typename H2, typename P2>
509
324
  void merge(boost::unordered_multiset<T, H2, P2, A>&& source);
510
- #endif
511
325
 
512
326
  // observers
513
327
 
@@ -573,12 +387,9 @@ namespace boost {
573
387
 
574
388
  // bucket interface
575
389
 
576
- size_type bucket_count() const BOOST_NOEXCEPT
577
- {
578
- return table_.bucket_count();
579
- }
390
+ size_type bucket_count() const noexcept { return table_.bucket_count(); }
580
391
 
581
- size_type max_bucket_count() const BOOST_NOEXCEPT
392
+ size_type max_bucket_count() const noexcept
582
393
  {
583
394
  return table_.max_bucket_count();
584
395
  }
@@ -593,9 +404,9 @@ namespace boost {
593
404
  template <class Key>
594
405
  typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
595
406
  size_type>::type
596
- bucket(BOOST_FWD_REF(Key) k) const
407
+ bucket(Key&& k) const
597
408
  {
598
- return table_.hash_to_bucket(table_.hash(boost::forward<Key>(k)));
409
+ return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
599
410
  }
600
411
 
601
412
  local_iterator begin(size_type n)
@@ -627,9 +438,9 @@ namespace boost {
627
438
 
628
439
  // hash policy
629
440
 
630
- float load_factor() const BOOST_NOEXCEPT;
631
- float max_load_factor() const BOOST_NOEXCEPT { return table_.mlf_; }
632
- void max_load_factor(float) BOOST_NOEXCEPT;
441
+ float load_factor() const noexcept;
442
+ float max_load_factor() const noexcept { return table_.mlf_; }
443
+ void max_load_factor(float) noexcept;
633
444
  void rehash(size_type);
634
445
  void reserve(size_type);
635
446
 
@@ -641,6 +452,13 @@ namespace boost {
641
452
  #endif
642
453
  }; // class template unordered_set
643
454
 
455
+ template <class Archive, class K, class H, class P, class A>
456
+ void serialize(
457
+ Archive& ar, unordered_set<K, H, P, A>& c, unsigned int version)
458
+ {
459
+ detail::serialize_fca_container(ar, c, version);
460
+ }
461
+
644
462
  #if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
645
463
 
646
464
  template <class InputIterator,
@@ -650,10 +468,10 @@ namespace boost {
650
468
  std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
651
469
  class Allocator = std::allocator<
652
470
  typename std::iterator_traits<InputIterator>::value_type>,
653
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
654
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
655
- class = boost::enable_if_t<detail::is_pred_v<Pred> >,
656
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
471
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
472
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
473
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
474
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
657
475
  unordered_set(InputIterator, InputIterator,
658
476
  std::size_t = boost::unordered::detail::default_bucket_count,
659
477
  Hash = Hash(), Pred = Pred(), Allocator = Allocator())
@@ -662,17 +480,17 @@ namespace boost {
662
480
 
663
481
  template <class T, class Hash = boost::hash<T>,
664
482
  class Pred = std::equal_to<T>, class Allocator = std::allocator<T>,
665
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
666
- class = boost::enable_if_t<detail::is_pred_v<Pred> >,
667
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
483
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
484
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
485
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
668
486
  unordered_set(std::initializer_list<T>,
669
487
  std::size_t = boost::unordered::detail::default_bucket_count,
670
488
  Hash = Hash(), Pred = Pred(), Allocator = Allocator())
671
489
  -> unordered_set<T, Hash, Pred, Allocator>;
672
490
 
673
491
  template <class InputIterator, class Allocator,
674
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
675
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
492
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
493
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
676
494
  unordered_set(InputIterator, InputIterator, std::size_t, Allocator)
677
495
  -> unordered_set<typename std::iterator_traits<InputIterator>::value_type,
678
496
  boost::hash<typename std::iterator_traits<InputIterator>::value_type>,
@@ -680,9 +498,9 @@ namespace boost {
680
498
  Allocator>;
681
499
 
682
500
  template <class InputIterator, class Hash, class Allocator,
683
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
684
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
685
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
501
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
502
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
503
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
686
504
  unordered_set(InputIterator, InputIterator, std::size_t, Hash, Allocator)
687
505
  -> unordered_set<typename std::iterator_traits<InputIterator>::value_type,
688
506
  Hash,
@@ -690,19 +508,19 @@ namespace boost {
690
508
  Allocator>;
691
509
 
692
510
  template <class T, class Allocator,
693
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
511
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
694
512
  unordered_set(std::initializer_list<T>, std::size_t, Allocator)
695
513
  -> unordered_set<T, boost::hash<T>, std::equal_to<T>, Allocator>;
696
514
 
697
515
  template <class T, class Hash, class Allocator,
698
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
699
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
516
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
517
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
700
518
  unordered_set(std::initializer_list<T>, std::size_t, Hash, Allocator)
701
519
  -> unordered_set<T, Hash, std::equal_to<T>, Allocator>;
702
520
 
703
521
  template <class InputIterator, class Allocator,
704
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
705
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
522
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
523
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
706
524
  unordered_set(InputIterator, InputIterator, Allocator)
707
525
  -> unordered_set<typename std::iterator_traits<InputIterator>::value_type,
708
526
  boost::hash<typename std::iterator_traits<InputIterator>::value_type>,
@@ -710,7 +528,7 @@ namespace boost {
710
528
  Allocator>;
711
529
 
712
530
  template <class T, class Allocator,
713
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
531
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
714
532
  unordered_set(std::initializer_list<T>, Allocator)
715
533
  -> unordered_set<T, boost::hash<T>, std::equal_to<T>, Allocator>;
716
534
 
@@ -718,9 +536,6 @@ namespace boost {
718
536
 
719
537
  template <class T, class H, class P, class A> class unordered_multiset
720
538
  {
721
- #if defined(BOOST_UNORDERED_USE_MOVE)
722
- BOOST_COPYABLE_AND_MOVABLE(unordered_multiset)
723
- #endif
724
539
  template <typename, typename, typename, typename>
725
540
  friend class unordered_set;
726
541
 
@@ -772,29 +587,23 @@ namespace boost {
772
587
 
773
588
  unordered_multiset(unordered_multiset const&);
774
589
 
775
- #if defined(BOOST_UNORDERED_USE_MOVE) || \
776
- !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
777
- unordered_multiset(BOOST_RV_REF(unordered_multiset) other)
778
- BOOST_NOEXCEPT_IF(table::nothrow_move_constructible)
590
+ unordered_multiset(unordered_multiset&& other)
591
+ noexcept(table::nothrow_move_constructible)
779
592
  : table_(other.table_, boost::unordered::detail::move_tag())
780
593
  {
781
594
  // The move is done in table_
782
595
  }
783
- #endif
784
596
 
785
597
  explicit unordered_multiset(allocator_type const&);
786
598
 
787
599
  unordered_multiset(unordered_multiset const&, allocator_type const&);
788
600
 
789
- unordered_multiset(
790
- BOOST_RV_REF(unordered_multiset), allocator_type const&);
601
+ unordered_multiset(unordered_multiset&&, allocator_type const&);
791
602
 
792
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
793
603
  unordered_multiset(std::initializer_list<value_type>,
794
604
  size_type = boost::unordered::detail::default_bucket_count,
795
605
  const hasher& = hasher(), const key_equal& l = key_equal(),
796
606
  const allocator_type& = allocator_type());
797
- #endif
798
607
 
799
608
  explicit unordered_multiset(size_type, const allocator_type&);
800
609
 
@@ -811,7 +620,6 @@ namespace boost {
811
620
  unordered_multiset(
812
621
  InputIt, InputIt, size_type, const hasher&, const allocator_type&);
813
622
 
814
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
815
623
  unordered_multiset(
816
624
  std::initializer_list<value_type>, const allocator_type&);
817
625
 
@@ -820,265 +628,99 @@ namespace boost {
820
628
 
821
629
  unordered_multiset(std::initializer_list<value_type>, size_type,
822
630
  const hasher&, const allocator_type&);
823
- #endif
824
631
 
825
632
  // Destructor
826
633
 
827
- ~unordered_multiset() BOOST_NOEXCEPT;
634
+ ~unordered_multiset() noexcept;
828
635
 
829
- // Assign
830
-
831
- #if defined(BOOST_UNORDERED_USE_MOVE)
832
- unordered_multiset& operator=(BOOST_COPY_ASSIGN_REF(unordered_multiset) x)
833
- {
834
- table_.assign(x.table_, boost::unordered::detail::false_type());
835
- return *this;
836
- }
837
-
838
- unordered_multiset& operator=(BOOST_RV_REF(unordered_multiset) x)
839
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
840
- boost::is_nothrow_move_assignable<H>::value&&
841
- boost::is_nothrow_move_assignable<P>::value)
842
- {
843
- table_.move_assign(x.table_, boost::unordered::detail::false_type());
844
- return *this;
845
- }
846
- #else
636
+ // Assign
847
637
  unordered_multiset& operator=(unordered_multiset const& x)
848
638
  {
849
- table_.assign(x.table_, boost::unordered::detail::false_type());
639
+ table_.assign(x.table_, std::false_type());
850
640
  return *this;
851
641
  }
852
642
 
853
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
854
643
  unordered_multiset& operator=(unordered_multiset&& x)
855
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
856
- boost::is_nothrow_move_assignable<H>::value&&
857
- boost::is_nothrow_move_assignable<P>::value)
644
+ noexcept(value_allocator_traits::is_always_equal::value&&
645
+ std::is_nothrow_move_assignable<H>::value&&
646
+ std::is_nothrow_move_assignable<P>::value)
858
647
  {
859
- table_.move_assign(x.table_, boost::unordered::detail::false_type());
648
+ table_.move_assign(x.table_, std::false_type());
860
649
  return *this;
861
650
  }
862
- #endif
863
- #endif
864
651
 
865
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
866
652
  unordered_multiset& operator=(std::initializer_list<value_type>);
867
- #endif
868
653
 
869
- allocator_type get_allocator() const BOOST_NOEXCEPT
654
+ allocator_type get_allocator() const noexcept
870
655
  {
871
- return table_.node_alloc();
656
+ return allocator_type(table_.node_alloc());
872
657
  }
873
658
 
874
659
  // iterators
875
660
 
876
- iterator begin() BOOST_NOEXCEPT { return iterator(table_.begin()); }
661
+ iterator begin() noexcept { return iterator(table_.begin()); }
877
662
 
878
- const_iterator begin() const BOOST_NOEXCEPT
663
+ const_iterator begin() const noexcept
879
664
  {
880
665
  return const_iterator(table_.begin());
881
666
  }
882
667
 
883
- iterator end() BOOST_NOEXCEPT { return iterator(); }
668
+ iterator end() noexcept { return iterator(); }
884
669
 
885
- const_iterator end() const BOOST_NOEXCEPT { return const_iterator(); }
670
+ const_iterator end() const noexcept { return const_iterator(); }
886
671
 
887
- const_iterator cbegin() const BOOST_NOEXCEPT
672
+ const_iterator cbegin() const noexcept
888
673
  {
889
674
  return const_iterator(table_.begin());
890
675
  }
891
676
 
892
- const_iterator cend() const BOOST_NOEXCEPT { return const_iterator(); }
677
+ const_iterator cend() const noexcept { return const_iterator(); }
893
678
 
894
679
  // size and capacity
895
680
 
896
- BOOST_ATTRIBUTE_NODISCARD bool empty() const BOOST_NOEXCEPT
681
+ BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
897
682
  {
898
683
  return table_.size_ == 0;
899
684
  }
900
685
 
901
- size_type size() const BOOST_NOEXCEPT { return table_.size_; }
902
-
903
- size_type max_size() const BOOST_NOEXCEPT;
904
-
905
- // emplace
906
-
907
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
908
-
909
- template <class... Args> iterator emplace(BOOST_FWD_REF(Args)... args)
910
- {
911
- return iterator(table_.emplace_equiv(
912
- boost::unordered::detail::func::construct_node_from_args(
913
- table_.node_alloc(), boost::forward<Args>(args)...)));
914
- }
915
-
916
- #else
917
-
918
- #if !BOOST_UNORDERED_SUN_WORKAROUNDS1
919
-
920
- // 0 argument emplace requires special treatment in case
921
- // the container is instantiated with a value type that
922
- // doesn't have a default constructor.
686
+ size_type size() const noexcept { return table_.size_; }
923
687
 
924
- iterator emplace(boost::unordered::detail::empty_emplace =
925
- boost::unordered::detail::empty_emplace(),
926
- value_type v = value_type())
927
- {
928
- return this->emplace(boost::move(v));
929
- }
930
-
931
- #endif
932
-
933
- template <typename A0> iterator emplace(BOOST_FWD_REF(A0) a0)
934
- {
935
- return iterator(table_.emplace_equiv(
936
- boost::unordered::detail::func::construct_node_from_args(
937
- table_.node_alloc(), boost::unordered::detail::create_emplace_args(
938
- boost::forward<A0>(a0)))));
939
- }
688
+ size_type max_size() const noexcept;
940
689
 
941
- template <typename A0, typename A1>
942
- iterator emplace(BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
943
- {
944
- return iterator(table_.emplace_equiv(
945
- boost::unordered::detail::func::construct_node_from_args(
946
- table_.node_alloc(),
947
- boost::unordered::detail::create_emplace_args(
948
- boost::forward<A0>(a0), boost::forward<A1>(a1)))));
949
- }
690
+ // emplace
950
691
 
951
- template <typename A0, typename A1, typename A2>
952
- iterator emplace(
953
- BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
692
+ template <class... Args> iterator emplace(Args&&... args)
954
693
  {
955
694
  return iterator(table_.emplace_equiv(
956
695
  boost::unordered::detail::func::construct_node_from_args(
957
- table_.node_alloc(),
958
- boost::unordered::detail::create_emplace_args(
959
- boost::forward<A0>(a0), boost::forward<A1>(a1),
960
- boost::forward<A2>(a2)))));
696
+ table_.node_alloc(), std::forward<Args>(args)...)));
961
697
  }
962
698
 
963
- #endif
964
-
965
- #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
966
-
967
699
  template <class... Args>
968
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
969
- {
970
- return iterator(table_.emplace_hint_equiv(
971
- hint, boost::unordered::detail::func::construct_node_from_args(
972
- table_.node_alloc(), boost::forward<Args>(args)...)));
973
- }
974
-
975
- #else
976
-
977
- #if !BOOST_UNORDERED_SUN_WORKAROUNDS1
978
-
979
- iterator emplace_hint(const_iterator hint,
980
- boost::unordered::detail::empty_emplace =
981
- boost::unordered::detail::empty_emplace(),
982
- value_type v = value_type())
983
- {
984
- return this->emplace_hint(hint, boost::move(v));
985
- }
986
-
987
- #endif
988
-
989
- template <typename A0>
990
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0)
991
- {
992
- return iterator(table_.emplace_hint_equiv(hint,
993
- boost::unordered::detail::func::construct_node_from_args(
994
- table_.node_alloc(), boost::unordered::detail::create_emplace_args(
995
- boost::forward<A0>(a0)))));
996
- }
997
-
998
- template <typename A0, typename A1>
999
- iterator emplace_hint(
1000
- const_iterator hint, BOOST_FWD_REF(A0) a0, BOOST_FWD_REF(A1) a1)
700
+ iterator emplace_hint(const_iterator hint, Args&&... args)
1001
701
  {
1002
702
  return iterator(table_.emplace_hint_equiv(
1003
703
  hint, boost::unordered::detail::func::construct_node_from_args(
1004
- table_.node_alloc(),
1005
- boost::unordered::detail::create_emplace_args(
1006
- boost::forward<A0>(a0), boost::forward<A1>(a1)))));
704
+ table_.node_alloc(), std::forward<Args>(args)...)));
1007
705
  }
1008
706
 
1009
- template <typename A0, typename A1, typename A2>
1010
- iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(A0) a0,
1011
- BOOST_FWD_REF(A1) a1, BOOST_FWD_REF(A2) a2)
1012
- {
1013
- return iterator(table_.emplace_hint_equiv(
1014
- hint, boost::unordered::detail::func::construct_node_from_args(
1015
- table_.node_alloc(),
1016
- boost::unordered::detail::create_emplace_args(
1017
- boost::forward<A0>(a0), boost::forward<A1>(a1),
1018
- boost::forward<A2>(a2)))));
1019
- }
1020
-
1021
- #endif
1022
-
1023
- #if defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
1024
-
1025
- #define BOOST_UNORDERED_EMPLACE(z, n, _) \
1026
- template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
1027
- iterator emplace(BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
1028
- { \
1029
- return iterator(table_.emplace_equiv( \
1030
- boost::unordered::detail::func::construct_node_from_args( \
1031
- table_.node_alloc(), \
1032
- boost::unordered::detail::create_emplace_args( \
1033
- BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
1034
- } \
1035
- \
1036
- template <BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
1037
- iterator emplace_hint( \
1038
- const_iterator hint, BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_FWD_PARAM, a)) \
1039
- { \
1040
- return iterator(table_.emplace_hint_equiv( \
1041
- hint, boost::unordered::detail::func::construct_node_from_args( \
1042
- table_.node_alloc(), \
1043
- boost::unordered::detail::create_emplace_args( \
1044
- BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_CALL_FORWARD, a))))); \
1045
- }
1046
-
1047
- BOOST_UNORDERED_EMPLACE(1, 4, _)
1048
- BOOST_UNORDERED_EMPLACE(1, 5, _)
1049
- BOOST_UNORDERED_EMPLACE(1, 6, _)
1050
- BOOST_UNORDERED_EMPLACE(1, 7, _)
1051
- BOOST_UNORDERED_EMPLACE(1, 8, _)
1052
- BOOST_UNORDERED_EMPLACE(1, 9, _)
1053
- BOOST_PP_REPEAT_FROM_TO(10, BOOST_PP_INC(BOOST_UNORDERED_EMPLACE_LIMIT),
1054
- BOOST_UNORDERED_EMPLACE, _)
1055
-
1056
- #undef BOOST_UNORDERED_EMPLACE
1057
-
1058
- #endif
1059
-
1060
707
  iterator insert(value_type const& x) { return this->emplace(x); }
1061
708
 
1062
- iterator insert(BOOST_UNORDERED_RV_REF(value_type) x)
1063
- {
1064
- return this->emplace(boost::move(x));
1065
- }
709
+ iterator insert(value_type&& x) { return this->emplace(std::move(x)); }
1066
710
 
1067
711
  iterator insert(const_iterator hint, value_type const& x)
1068
712
  {
1069
713
  return this->emplace_hint(hint, x);
1070
714
  }
1071
715
 
1072
- iterator insert(const_iterator hint, BOOST_UNORDERED_RV_REF(value_type) x)
716
+ iterator insert(const_iterator hint, value_type&& x)
1073
717
  {
1074
- return this->emplace_hint(hint, boost::move(x));
718
+ return this->emplace_hint(hint, std::move(x));
1075
719
  }
1076
720
 
1077
721
  template <class InputIt> void insert(InputIt, InputIt);
1078
722
 
1079
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1080
723
  void insert(std::initializer_list<value_type>);
1081
- #endif
1082
724
 
1083
725
  // extract
1084
726
 
@@ -1102,26 +744,16 @@ namespace boost {
1102
744
  return node_type(table_.extract_by_key_impl(k), table_.node_alloc());
1103
745
  }
1104
746
 
1105
- iterator insert(BOOST_RV_REF(node_type) np)
747
+ iterator insert(node_type&& np)
1106
748
  {
1107
749
  return table_.move_insert_node_type_equiv(np);
1108
750
  }
1109
751
 
1110
- iterator insert(const_iterator hint, BOOST_RV_REF(node_type) np)
752
+ iterator insert(const_iterator hint, node_type&& np)
1111
753
  {
1112
754
  return table_.move_insert_node_type_with_hint_equiv(hint, np);
1113
755
  }
1114
756
 
1115
- #if defined(BOOST_NO_CXX11_RVALUE_REFERENCES) || \
1116
- (BOOST_COMP_GNUC && BOOST_COMP_GNUC < BOOST_VERSION_NUMBER(4, 6, 0))
1117
- private:
1118
- // Note: Use r-value node_type to insert.
1119
- iterator insert(node_type&);
1120
- iterator insert(const_iterator, node_type& np);
1121
-
1122
- public:
1123
- #endif
1124
-
1125
757
  iterator erase(const_iterator);
1126
758
  size_type erase(const key_type&);
1127
759
 
@@ -1141,26 +773,22 @@ namespace boost {
1141
773
  void erase_return_void(const_iterator it) { erase(it); }
1142
774
 
1143
775
  void swap(unordered_multiset&)
1144
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
1145
- boost::is_nothrow_swappable<H>::value&&
1146
- boost::is_nothrow_swappable<P>::value);
1147
- void clear() BOOST_NOEXCEPT { table_.clear_impl(); }
776
+ noexcept(value_allocator_traits::is_always_equal::value&&
777
+ boost::unordered::detail::is_nothrow_swappable<H>::value&&
778
+ boost::unordered::detail::is_nothrow_swappable<P>::value);
779
+ void clear() noexcept { table_.clear_impl(); }
1148
780
 
1149
781
  template <typename H2, typename P2>
1150
782
  void merge(boost::unordered_multiset<T, H2, P2, A>& source);
1151
783
 
1152
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1153
784
  template <typename H2, typename P2>
1154
785
  void merge(boost::unordered_multiset<T, H2, P2, A>&& source);
1155
- #endif
1156
786
 
1157
787
  template <typename H2, typename P2>
1158
788
  void merge(boost::unordered_set<T, H2, P2, A>& source);
1159
789
 
1160
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1161
790
  template <typename H2, typename P2>
1162
791
  void merge(boost::unordered_set<T, H2, P2, A>&& source);
1163
- #endif
1164
792
 
1165
793
  // observers
1166
794
 
@@ -1222,12 +850,9 @@ namespace boost {
1222
850
 
1223
851
  // bucket interface
1224
852
 
1225
- size_type bucket_count() const BOOST_NOEXCEPT
1226
- {
1227
- return table_.bucket_count();
1228
- }
853
+ size_type bucket_count() const noexcept { return table_.bucket_count(); }
1229
854
 
1230
- size_type max_bucket_count() const BOOST_NOEXCEPT
855
+ size_type max_bucket_count() const noexcept
1231
856
  {
1232
857
  return table_.max_bucket_count();
1233
858
  }
@@ -1242,9 +867,9 @@ namespace boost {
1242
867
  template <class Key>
1243
868
  typename boost::enable_if_c<detail::are_transparent<Key, H, P>::value,
1244
869
  size_type>::type
1245
- bucket(BOOST_FWD_REF(Key) k) const
870
+ bucket(Key&& k) const
1246
871
  {
1247
- return table_.hash_to_bucket(table_.hash(boost::forward<Key>(k)));
872
+ return table_.hash_to_bucket(table_.hash(std::forward<Key>(k)));
1248
873
  }
1249
874
 
1250
875
  local_iterator begin(size_type n)
@@ -1276,9 +901,9 @@ namespace boost {
1276
901
 
1277
902
  // hash policy
1278
903
 
1279
- float load_factor() const BOOST_NOEXCEPT;
1280
- float max_load_factor() const BOOST_NOEXCEPT { return table_.mlf_; }
1281
- void max_load_factor(float) BOOST_NOEXCEPT;
904
+ float load_factor() const noexcept;
905
+ float max_load_factor() const noexcept { return table_.mlf_; }
906
+ void max_load_factor(float) noexcept;
1282
907
  void rehash(size_type);
1283
908
  void reserve(size_type);
1284
909
 
@@ -1290,6 +915,13 @@ namespace boost {
1290
915
  #endif
1291
916
  }; // class template unordered_multiset
1292
917
 
918
+ template <class Archive, class K, class H, class P, class A>
919
+ void serialize(
920
+ Archive& ar, unordered_multiset<K, H, P, A>& c, unsigned int version)
921
+ {
922
+ detail::serialize_fca_container(ar, c, version);
923
+ }
924
+
1293
925
  #if BOOST_UNORDERED_TEMPLATE_DEDUCTION_GUIDES
1294
926
 
1295
927
  template <class InputIterator,
@@ -1299,10 +931,10 @@ namespace boost {
1299
931
  std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
1300
932
  class Allocator = std::allocator<
1301
933
  typename std::iterator_traits<InputIterator>::value_type>,
1302
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
1303
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
1304
- class = boost::enable_if_t<detail::is_pred_v<Pred> >,
1305
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
934
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
935
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
936
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
937
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1306
938
  unordered_multiset(InputIterator, InputIterator,
1307
939
  std::size_t = boost::unordered::detail::default_bucket_count,
1308
940
  Hash = Hash(), Pred = Pred(), Allocator = Allocator())
@@ -1312,17 +944,17 @@ namespace boost {
1312
944
 
1313
945
  template <class T, class Hash = boost::hash<T>,
1314
946
  class Pred = std::equal_to<T>, class Allocator = std::allocator<T>,
1315
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
1316
- class = boost::enable_if_t<detail::is_pred_v<Pred> >,
1317
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
947
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
948
+ class = std::enable_if_t<detail::is_pred_v<Pred> >,
949
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1318
950
  unordered_multiset(std::initializer_list<T>,
1319
951
  std::size_t = boost::unordered::detail::default_bucket_count,
1320
952
  Hash = Hash(), Pred = Pred(), Allocator = Allocator())
1321
953
  -> unordered_multiset<T, Hash, Pred, Allocator>;
1322
954
 
1323
955
  template <class InputIterator, class Allocator,
1324
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
1325
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
956
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
957
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1326
958
  unordered_multiset(InputIterator, InputIterator, std::size_t, Allocator)
1327
959
  -> unordered_multiset<
1328
960
  typename std::iterator_traits<InputIterator>::value_type,
@@ -1331,9 +963,9 @@ namespace boost {
1331
963
  Allocator>;
1332
964
 
1333
965
  template <class InputIterator, class Hash, class Allocator,
1334
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
1335
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
1336
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
966
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
967
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
968
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1337
969
  unordered_multiset(
1338
970
  InputIterator, InputIterator, std::size_t, Hash, Allocator)
1339
971
  -> unordered_multiset<
@@ -1342,19 +974,19 @@ namespace boost {
1342
974
  Allocator>;
1343
975
 
1344
976
  template <class T, class Allocator,
1345
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
977
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1346
978
  unordered_multiset(std::initializer_list<T>, std::size_t, Allocator)
1347
979
  -> unordered_multiset<T, boost::hash<T>, std::equal_to<T>, Allocator>;
1348
980
 
1349
981
  template <class T, class Hash, class Allocator,
1350
- class = boost::enable_if_t<detail::is_hash_v<Hash> >,
1351
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
982
+ class = std::enable_if_t<detail::is_hash_v<Hash> >,
983
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1352
984
  unordered_multiset(std::initializer_list<T>, std::size_t, Hash, Allocator)
1353
985
  -> unordered_multiset<T, Hash, std::equal_to<T>, Allocator>;
1354
986
 
1355
987
  template <class InputIterator, class Allocator,
1356
- class = boost::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
1357
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
988
+ class = std::enable_if_t<detail::is_input_iterator_v<InputIterator> >,
989
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1358
990
  unordered_multiset(InputIterator, InputIterator, Allocator)
1359
991
  -> unordered_multiset<
1360
992
  typename std::iterator_traits<InputIterator>::value_type,
@@ -1363,7 +995,7 @@ namespace boost {
1363
995
  Allocator>;
1364
996
 
1365
997
  template <class T, class Allocator,
1366
- class = boost::enable_if_t<detail::is_allocator_v<Allocator> > >
998
+ class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
1367
999
  unordered_multiset(std::initializer_list<T>, Allocator)
1368
1000
  -> unordered_multiset<T, boost::hash<T>, std::equal_to<T>, Allocator>;
1369
1001
 
@@ -1398,8 +1030,7 @@ namespace boost {
1398
1030
  select_on_container_copy_construction(other.get_allocator()))
1399
1031
  {
1400
1032
  if (other.size()) {
1401
- table_.copy_buckets(
1402
- other.table_, boost::unordered::detail::true_type());
1033
+ table_.copy_buckets(other.table_, std::true_type());
1403
1034
  }
1404
1035
  }
1405
1036
 
@@ -1416,21 +1047,18 @@ namespace boost {
1416
1047
  : table_(other.table_, a)
1417
1048
  {
1418
1049
  if (other.table_.size_) {
1419
- table_.copy_buckets(
1420
- other.table_, boost::unordered::detail::true_type());
1050
+ table_.copy_buckets(other.table_, std::true_type());
1421
1051
  }
1422
1052
  }
1423
1053
 
1424
1054
  template <class T, class H, class P, class A>
1425
1055
  unordered_set<T, H, P, A>::unordered_set(
1426
- BOOST_RV_REF(unordered_set) other, allocator_type const& a)
1056
+ unordered_set&& other, allocator_type const& a)
1427
1057
  : table_(other.table_, a, boost::unordered::detail::move_tag())
1428
1058
  {
1429
1059
  table_.move_construct_buckets(other.table_);
1430
1060
  }
1431
1061
 
1432
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1433
-
1434
1062
  template <class T, class H, class P, class A>
1435
1063
  unordered_set<T, H, P, A>::unordered_set(
1436
1064
  std::initializer_list<value_type> list, size_type n, const hasher& hf,
@@ -1442,8 +1070,6 @@ namespace boost {
1442
1070
  this->insert(list.begin(), list.end());
1443
1071
  }
1444
1072
 
1445
- #endif
1446
-
1447
1073
  template <class T, class H, class P, class A>
1448
1074
  unordered_set<T, H, P, A>::unordered_set(
1449
1075
  size_type n, const allocator_type& a)
@@ -1489,8 +1115,6 @@ namespace boost {
1489
1115
  this->insert(f, l);
1490
1116
  }
1491
1117
 
1492
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1493
-
1494
1118
  template <class T, class H, class P, class A>
1495
1119
  unordered_set<T, H, P, A>::unordered_set(
1496
1120
  std::initializer_list<value_type> list, const allocator_type& a)
@@ -1523,15 +1147,11 @@ namespace boost {
1523
1147
  this->insert(list.begin(), list.end());
1524
1148
  }
1525
1149
 
1526
- #endif
1527
-
1528
1150
  template <class T, class H, class P, class A>
1529
- unordered_set<T, H, P, A>::~unordered_set() BOOST_NOEXCEPT
1151
+ unordered_set<T, H, P, A>::~unordered_set() noexcept
1530
1152
  {
1531
1153
  }
1532
1154
 
1533
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1534
-
1535
1155
  template <class T, class H, class P, class A>
1536
1156
  unordered_set<T, H, P, A>& unordered_set<T, H, P, A>::operator=(
1537
1157
  std::initializer_list<value_type> list)
@@ -1541,12 +1161,10 @@ namespace boost {
1541
1161
  return *this;
1542
1162
  }
1543
1163
 
1544
- #endif
1545
-
1546
1164
  // size and capacity
1547
1165
 
1548
1166
  template <class T, class H, class P, class A>
1549
- std::size_t unordered_set<T, H, P, A>::max_size() const BOOST_NOEXCEPT
1167
+ std::size_t unordered_set<T, H, P, A>::max_size() const noexcept
1550
1168
  {
1551
1169
  using namespace std;
1552
1170
 
@@ -1569,14 +1187,12 @@ namespace boost {
1569
1187
  }
1570
1188
  }
1571
1189
 
1572
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1573
1190
  template <class T, class H, class P, class A>
1574
1191
  void unordered_set<T, H, P, A>::insert(
1575
1192
  std::initializer_list<value_type> list)
1576
1193
  {
1577
1194
  this->insert(list.begin(), list.end());
1578
1195
  }
1579
- #endif
1580
1196
 
1581
1197
  template <class T, class H, class P, class A>
1582
1198
  typename unordered_set<T, H, P, A>::iterator
@@ -1601,9 +1217,9 @@ namespace boost {
1601
1217
 
1602
1218
  template <class T, class H, class P, class A>
1603
1219
  void unordered_set<T, H, P, A>::swap(unordered_set& other)
1604
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
1605
- boost::is_nothrow_swappable<H>::value&&
1606
- boost::is_nothrow_swappable<P>::value)
1220
+ noexcept(value_allocator_traits::is_always_equal::value&&
1221
+ boost::unordered::detail::is_nothrow_swappable<H>::value&&
1222
+ boost::unordered::detail::is_nothrow_swappable<P>::value)
1607
1223
  {
1608
1224
  table_.swap(other.table_);
1609
1225
  }
@@ -1632,7 +1248,6 @@ namespace boost {
1632
1248
  table_.merge_unique(source.table_);
1633
1249
  }
1634
1250
 
1635
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1636
1251
  template <class T, class H, class P, class A>
1637
1252
  template <typename H2, typename P2>
1638
1253
  void unordered_set<T, H, P, A>::merge(
@@ -1640,7 +1255,6 @@ namespace boost {
1640
1255
  {
1641
1256
  table_.merge_unique(source.table_);
1642
1257
  }
1643
- #endif
1644
1258
 
1645
1259
  template <class T, class H, class P, class A>
1646
1260
  template <typename H2, typename P2>
@@ -1650,7 +1264,6 @@ namespace boost {
1650
1264
  table_.merge_unique(source.table_);
1651
1265
  }
1652
1266
 
1653
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
1654
1267
  template <class T, class H, class P, class A>
1655
1268
  template <typename H2, typename P2>
1656
1269
  void unordered_set<T, H, P, A>::merge(
@@ -1658,7 +1271,6 @@ namespace boost {
1658
1271
  {
1659
1272
  table_.merge_unique(source.table_);
1660
1273
  }
1661
- #endif
1662
1274
 
1663
1275
  // lookup
1664
1276
 
@@ -1709,7 +1321,7 @@ namespace boost {
1709
1321
  // hash policy
1710
1322
 
1711
1323
  template <class T, class H, class P, class A>
1712
- float unordered_set<T, H, P, A>::load_factor() const BOOST_NOEXCEPT
1324
+ float unordered_set<T, H, P, A>::load_factor() const noexcept
1713
1325
  {
1714
1326
  if (table_.size_ == 0) {
1715
1327
  return 0.0f;
@@ -1721,7 +1333,7 @@ namespace boost {
1721
1333
  }
1722
1334
 
1723
1335
  template <class T, class H, class P, class A>
1724
- void unordered_set<T, H, P, A>::max_load_factor(float m) BOOST_NOEXCEPT
1336
+ void unordered_set<T, H, P, A>::max_load_factor(float m) noexcept
1725
1337
  {
1726
1338
  table_.max_load_factor(m);
1727
1339
  }
@@ -1765,9 +1377,8 @@ namespace boost {
1765
1377
  }
1766
1378
 
1767
1379
  template <class T, class H, class P, class A>
1768
- inline void swap(
1769
- unordered_set<T, H, P, A>& m1, unordered_set<T, H, P, A>& m2)
1770
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
1380
+ inline void swap(unordered_set<T, H, P, A>& m1,
1381
+ unordered_set<T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
1771
1382
  {
1772
1383
  #if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
1773
1384
  struct dummy
@@ -1817,8 +1428,7 @@ namespace boost {
1817
1428
  select_on_container_copy_construction(other.get_allocator()))
1818
1429
  {
1819
1430
  if (other.table_.size_) {
1820
- table_.copy_buckets(
1821
- other.table_, boost::unordered::detail::false_type());
1431
+ table_.copy_buckets(other.table_, std::false_type());
1822
1432
  }
1823
1433
  }
1824
1434
 
@@ -1835,21 +1445,18 @@ namespace boost {
1835
1445
  : table_(other.table_, a)
1836
1446
  {
1837
1447
  if (other.table_.size_) {
1838
- table_.copy_buckets(
1839
- other.table_, boost::unordered::detail::false_type());
1448
+ table_.copy_buckets(other.table_, std::false_type());
1840
1449
  }
1841
1450
  }
1842
1451
 
1843
1452
  template <class T, class H, class P, class A>
1844
1453
  unordered_multiset<T, H, P, A>::unordered_multiset(
1845
- BOOST_RV_REF(unordered_multiset) other, allocator_type const& a)
1454
+ unordered_multiset&& other, allocator_type const& a)
1846
1455
  : table_(other.table_, a, boost::unordered::detail::move_tag())
1847
1456
  {
1848
1457
  table_.move_construct_buckets(other.table_);
1849
1458
  }
1850
1459
 
1851
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1852
-
1853
1460
  template <class T, class H, class P, class A>
1854
1461
  unordered_multiset<T, H, P, A>::unordered_multiset(
1855
1462
  std::initializer_list<value_type> list, size_type n, const hasher& hf,
@@ -1861,8 +1468,6 @@ namespace boost {
1861
1468
  this->insert(list.begin(), list.end());
1862
1469
  }
1863
1470
 
1864
- #endif
1865
-
1866
1471
  template <class T, class H, class P, class A>
1867
1472
  unordered_multiset<T, H, P, A>::unordered_multiset(
1868
1473
  size_type n, const allocator_type& a)
@@ -1908,8 +1513,6 @@ namespace boost {
1908
1513
  this->insert(f, l);
1909
1514
  }
1910
1515
 
1911
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1912
-
1913
1516
  template <class T, class H, class P, class A>
1914
1517
  unordered_multiset<T, H, P, A>::unordered_multiset(
1915
1518
  std::initializer_list<value_type> list, const allocator_type& a)
@@ -1942,15 +1545,11 @@ namespace boost {
1942
1545
  this->insert(list.begin(), list.end());
1943
1546
  }
1944
1547
 
1945
- #endif
1946
-
1947
1548
  template <class T, class H, class P, class A>
1948
- unordered_multiset<T, H, P, A>::~unordered_multiset() BOOST_NOEXCEPT
1549
+ unordered_multiset<T, H, P, A>::~unordered_multiset() noexcept
1949
1550
  {
1950
1551
  }
1951
1552
 
1952
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1953
-
1954
1553
  template <class T, class H, class P, class A>
1955
1554
  unordered_multiset<T, H, P, A>& unordered_multiset<T, H, P, A>::operator=(
1956
1555
  std::initializer_list<value_type> list)
@@ -1960,12 +1559,10 @@ namespace boost {
1960
1559
  return *this;
1961
1560
  }
1962
1561
 
1963
- #endif
1964
-
1965
1562
  // size and capacity
1966
1563
 
1967
1564
  template <class T, class H, class P, class A>
1968
- std::size_t unordered_multiset<T, H, P, A>::max_size() const BOOST_NOEXCEPT
1565
+ std::size_t unordered_multiset<T, H, P, A>::max_size() const noexcept
1969
1566
  {
1970
1567
  using namespace std;
1971
1568
 
@@ -1985,14 +1582,12 @@ namespace boost {
1985
1582
  table_.insert_range_equiv(first, last);
1986
1583
  }
1987
1584
 
1988
- #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
1989
1585
  template <class T, class H, class P, class A>
1990
1586
  void unordered_multiset<T, H, P, A>::insert(
1991
1587
  std::initializer_list<value_type> list)
1992
1588
  {
1993
1589
  this->insert(list.begin(), list.end());
1994
1590
  }
1995
- #endif
1996
1591
 
1997
1592
  template <class T, class H, class P, class A>
1998
1593
  typename unordered_multiset<T, H, P, A>::iterator
@@ -2019,9 +1614,9 @@ namespace boost {
2019
1614
 
2020
1615
  template <class T, class H, class P, class A>
2021
1616
  void unordered_multiset<T, H, P, A>::swap(unordered_multiset& other)
2022
- BOOST_NOEXCEPT_IF(value_allocator_traits::is_always_equal::value&&
2023
- boost::is_nothrow_swappable<H>::value&&
2024
- boost::is_nothrow_swappable<P>::value)
1617
+ noexcept(value_allocator_traits::is_always_equal::value&&
1618
+ boost::unordered::detail::is_nothrow_swappable<H>::value&&
1619
+ boost::unordered::detail::is_nothrow_swappable<P>::value)
2025
1620
  {
2026
1621
  table_.swap(other.table_);
2027
1622
  }
@@ -2052,7 +1647,6 @@ namespace boost {
2052
1647
  }
2053
1648
  }
2054
1649
 
2055
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
2056
1650
  template <class T, class H, class P, class A>
2057
1651
  template <typename H2, typename P2>
2058
1652
  void unordered_multiset<T, H, P, A>::merge(
@@ -2062,7 +1656,6 @@ namespace boost {
2062
1656
  insert(source.extract(source.begin()));
2063
1657
  }
2064
1658
  }
2065
- #endif
2066
1659
 
2067
1660
  template <class T, class H, class P, class A>
2068
1661
  template <typename H2, typename P2>
@@ -2074,7 +1667,6 @@ namespace boost {
2074
1667
  }
2075
1668
  }
2076
1669
 
2077
- #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
2078
1670
  template <class T, class H, class P, class A>
2079
1671
  template <typename H2, typename P2>
2080
1672
  void unordered_multiset<T, H, P, A>::merge(
@@ -2084,7 +1676,6 @@ namespace boost {
2084
1676
  insert(source.extract(source.begin()));
2085
1677
  }
2086
1678
  }
2087
- #endif
2088
1679
 
2089
1680
  // lookup
2090
1681
 
@@ -2132,7 +1723,7 @@ namespace boost {
2132
1723
  // hash policy
2133
1724
 
2134
1725
  template <class T, class H, class P, class A>
2135
- float unordered_multiset<T, H, P, A>::load_factor() const BOOST_NOEXCEPT
1726
+ float unordered_multiset<T, H, P, A>::load_factor() const noexcept
2136
1727
  {
2137
1728
  if (table_.size_ == 0) {
2138
1729
  return 0.0f;
@@ -2144,7 +1735,7 @@ namespace boost {
2144
1735
  }
2145
1736
 
2146
1737
  template <class T, class H, class P, class A>
2147
- void unordered_multiset<T, H, P, A>::max_load_factor(float m) BOOST_NOEXCEPT
1738
+ void unordered_multiset<T, H, P, A>::max_load_factor(float m) noexcept
2148
1739
  {
2149
1740
  table_.max_load_factor(m);
2150
1741
  }
@@ -2188,9 +1779,8 @@ namespace boost {
2188
1779
  }
2189
1780
 
2190
1781
  template <class T, class H, class P, class A>
2191
- inline void swap(
2192
- unordered_multiset<T, H, P, A>& m1, unordered_multiset<T, H, P, A>& m2)
2193
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(m1.swap(m2)))
1782
+ inline void swap(unordered_multiset<T, H, P, A>& m1,
1783
+ unordered_multiset<T, H, P, A>& m2) noexcept(noexcept(m1.swap(m2)))
2194
1784
  {
2195
1785
  #if BOOST_WORKAROUND(BOOST_CODEGEARC, BOOST_TESTED_AT(0x0613))
2196
1786
  struct dummy
@@ -2210,8 +1800,6 @@ namespace boost {
2210
1800
 
2211
1801
  template <typename N, typename T, typename A> class node_handle_set
2212
1802
  {
2213
- BOOST_MOVABLE_BUT_NOT_COPYABLE(node_handle_set)
2214
-
2215
1803
  template <typename Types> friend struct ::boost::unordered::detail::table;
2216
1804
  template <class T2, class H2, class P2, class A2>
2217
1805
  friend class unordered_set;
@@ -2244,10 +1832,9 @@ namespace boost {
2244
1832
  }
2245
1833
 
2246
1834
  public:
2247
- BOOST_CONSTEXPR node_handle_set() BOOST_NOEXCEPT : ptr_(),
2248
- has_alloc_(false)
2249
- {
2250
- }
1835
+ constexpr node_handle_set() noexcept : ptr_(), has_alloc_(false) {}
1836
+ node_handle_set(node_handle_set const&) = delete;
1837
+ node_handle_set& operator=(node_handle_set const&) = delete;
2251
1838
 
2252
1839
  ~node_handle_set()
2253
1840
  {
@@ -2258,14 +1845,14 @@ namespace boost {
2258
1845
  }
2259
1846
  }
2260
1847
 
2261
- node_handle_set(BOOST_RV_REF(node_handle_set) n) BOOST_NOEXCEPT
2262
- : ptr_(n.ptr_),
2263
- alloc_(boost::move(n.alloc_))
1848
+ node_handle_set(node_handle_set&& n) noexcept
1849
+ : ptr_(n.ptr_),
1850
+ alloc_(std::move(n.alloc_))
2264
1851
  {
2265
1852
  n.ptr_ = node_pointer();
2266
1853
  }
2267
1854
 
2268
- node_handle_set& operator=(BOOST_RV_REF(node_handle_set) n)
1855
+ node_handle_set& operator=(node_handle_set&& n)
2269
1856
  {
2270
1857
  BOOST_ASSERT(!alloc_.has_value() ||
2271
1858
  value_allocator_traits::
@@ -2282,7 +1869,7 @@ namespace boost {
2282
1869
  if (!alloc_.has_value() ||
2283
1870
  value_allocator_traits::propagate_on_container_move_assignment::
2284
1871
  value) {
2285
- alloc_ = boost::move(n.alloc_);
1872
+ alloc_ = std::move(n.alloc_);
2286
1873
  }
2287
1874
  ptr_ = n.ptr_;
2288
1875
  n.ptr_ = node_pointer();
@@ -2294,18 +1881,21 @@ namespace boost {
2294
1881
 
2295
1882
  allocator_type get_allocator() const { return *alloc_; }
2296
1883
 
2297
- BOOST_EXPLICIT_OPERATOR_BOOL_NOEXCEPT()
1884
+ explicit operator bool() const noexcept
1885
+ {
1886
+ return !this->operator!();
1887
+ }
2298
1888
 
2299
- bool operator!() const BOOST_NOEXCEPT { return ptr_ ? 0 : 1; }
1889
+ bool operator!() const noexcept { return ptr_ ? 0 : 1; }
2300
1890
 
2301
- BOOST_ATTRIBUTE_NODISCARD bool empty() const BOOST_NOEXCEPT
1891
+ BOOST_ATTRIBUTE_NODISCARD bool empty() const noexcept
2302
1892
  {
2303
1893
  return ptr_ ? 0 : 1;
2304
1894
  }
2305
1895
 
2306
- void swap(node_handle_set& n) BOOST_NOEXCEPT_IF(
2307
- value_allocator_traits::propagate_on_container_swap::value ||
2308
- value_allocator_traits::is_always_equal::value)
1896
+ void swap(node_handle_set& n)
1897
+ noexcept(value_allocator_traits::propagate_on_container_swap::value ||
1898
+ value_allocator_traits::is_always_equal::value)
2309
1899
  {
2310
1900
  BOOST_ASSERT(
2311
1901
  !alloc_.has_value() || !n.alloc_.has_value() ||
@@ -2313,60 +1903,70 @@ namespace boost {
2313
1903
  alloc_ == n.alloc_);
2314
1904
  if (value_allocator_traits::propagate_on_container_swap::value ||
2315
1905
  !alloc_.has_value() || !n.alloc_.has_value()) {
2316
- boost::swap(alloc_, n.alloc_);
1906
+ boost::core::invoke_swap(alloc_, n.alloc_);
2317
1907
  }
2318
- boost::swap(ptr_, n.ptr_);
1908
+ boost::core::invoke_swap(ptr_, n.ptr_);
2319
1909
  }
2320
1910
  };
2321
1911
 
2322
1912
  template <typename N, typename T, typename A>
2323
1913
  void swap(node_handle_set<N, T, A>& x, node_handle_set<N, T, A>& y)
2324
- BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT_EXPR(x.swap(y)))
1914
+ noexcept(noexcept(x.swap(y)))
2325
1915
  {
2326
1916
  x.swap(y);
2327
1917
  }
2328
1918
 
2329
1919
  template <class Iter, class NodeType> struct insert_return_type_set
2330
1920
  {
2331
- private:
2332
- BOOST_MOVABLE_BUT_NOT_COPYABLE(insert_return_type_set)
2333
-
2334
- // typedef typename boost::unordered::detail::rebind_wrap<A, T>::type
2335
- // value_allocator;
2336
- // typedef N node_;
2337
-
2338
1921
  public:
2339
1922
  Iter position;
2340
1923
  bool inserted;
2341
1924
  NodeType node;
2342
1925
 
2343
1926
  insert_return_type_set() : position(), inserted(false), node() {}
1927
+ insert_return_type_set(insert_return_type_set const&) = delete;
1928
+ insert_return_type_set& operator=(insert_return_type_set const&) = delete;
2344
1929
 
2345
- insert_return_type_set(BOOST_RV_REF(insert_return_type_set)
2346
- x) BOOST_NOEXCEPT : position(x.position),
2347
- inserted(x.inserted),
2348
- node(boost::move(x.node))
1930
+ insert_return_type_set(insert_return_type_set&& x) noexcept
1931
+ : position(x.position),
1932
+ inserted(x.inserted),
1933
+ node(std::move(x.node))
2349
1934
  {
2350
1935
  }
2351
1936
 
2352
- insert_return_type_set& operator=(BOOST_RV_REF(insert_return_type_set) x)
1937
+ insert_return_type_set& operator=(insert_return_type_set&& x)
2353
1938
  {
2354
1939
  inserted = x.inserted;
2355
1940
  position = x.position;
2356
- node = boost::move(x.node);
1941
+ node = std::move(x.node);
2357
1942
  return *this;
2358
1943
  }
2359
1944
  };
2360
1945
 
2361
1946
  template <class Iter, class NodeType>
2362
- void swap(
2363
- insert_return_type_set<Iter, NodeType>& x, insert_return_type_set<Iter, NodeType>& y)
1947
+ void swap(insert_return_type_set<Iter, NodeType>& x,
1948
+ insert_return_type_set<Iter, NodeType>& y)
2364
1949
  {
2365
- boost::swap(x.node, y.node);
2366
- boost::swap(x.inserted, y.inserted);
2367
- boost::swap(x.position, y.position);
1950
+ boost::core::invoke_swap(x.node, y.node);
1951
+ boost::core::invoke_swap(x.inserted, y.inserted);
1952
+ boost::core::invoke_swap(x.position, y.position);
2368
1953
  }
2369
1954
  } // namespace unordered
1955
+
1956
+ namespace serialization {
1957
+ template <class K, class H, class P, class A>
1958
+ struct version<boost::unordered_set<K, H, P, A> >
1959
+ {
1960
+ BOOST_STATIC_CONSTANT(int, value = 1);
1961
+ };
1962
+
1963
+ template <class K, class H, class P, class A>
1964
+ struct version<boost::unordered_multiset<K, H, P, A> >
1965
+ {
1966
+ BOOST_STATIC_CONSTANT(int, value = 1);
1967
+ };
1968
+ } // namespace serialization
1969
+
2370
1970
  } // namespace boost
2371
1971
 
2372
1972
  #if defined(BOOST_MSVC)