passenger 6.0.19 → 6.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +65 -3
  3. data/CONTRIBUTORS +2 -0
  4. data/README.md +2 -2
  5. data/bin/passenger-install-nginx-module +4 -4
  6. data/build/integration_tests.rb +2 -1
  7. data/build/support/cxx_dependency_map.rb +155 -54
  8. data/dev/copy_boost_headers +21 -7
  9. data/dev/nginx_version_sha256 +72 -0
  10. data/package.json +15 -15
  11. data/src/agent/AgentMain.cpp +2 -8
  12. data/src/agent/Core/AdminPanelConnector.h +2 -3
  13. data/src/agent/Core/ApiServer.h +1 -1
  14. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
  15. data/src/agent/Core/Config.h +6 -3
  16. data/src/agent/Core/Controller/AppResponse.h +0 -1
  17. data/src/agent/Core/Controller/Config.h +2 -2
  18. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  19. data/src/agent/Core/CoreMain.cpp +1 -0
  20. data/src/agent/Core/ResponseCache.h +3 -2
  21. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  22. data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
  23. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  24. data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
  25. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
  26. data/src/agent/MainFunctions.h +38 -0
  27. data/src/agent/Shared/ApiServerUtils.h +3 -2
  28. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  29. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
  30. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
  31. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
  32. data/src/agent/Watchdog/ApiServer.h +1 -1
  33. data/src/agent/Watchdog/Config.h +1 -1
  34. data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
  35. data/src/apache2_module/Hooks.cpp +26 -1
  36. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  37. data/src/cxx_supportlib/Constants.h +1 -1
  38. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  39. data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
  40. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
  41. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  42. data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
  43. data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
  44. data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
  45. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
  46. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
  47. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
  48. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  49. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  50. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  51. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
  52. data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
  53. data/src/cxx_supportlib/ServerKit/Context.h +6 -0
  54. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  55. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +99 -64
  56. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
  57. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  58. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  59. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  60. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  61. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  62. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  63. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  64. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  65. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  66. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  67. data/src/cxx_supportlib/StaticString.h +3 -1
  68. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  69. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
  70. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
  71. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  72. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
  73. data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
  74. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
  75. data/src/cxx_supportlib/Utils.cpp +1 -1
  76. data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
  77. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +194 -56
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +30 -52
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +282 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +178 -863
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +73 -23
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +108 -151
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +97 -299
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +97 -288
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +90 -288
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +551 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +365 -290
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -39
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +33 -49
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -39
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +60 -272
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +37 -34
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +302 -262
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +3 -3
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +155 -963
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +41 -3
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +40 -3
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +20 -3
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +20 -3
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +101 -123
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -15
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +2 -2
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +13 -4
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +2 -2
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +17 -8
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +69 -35
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +2 -2
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +15 -6
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +9 -9
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +26 -18
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +2 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +2 -2
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +12 -4
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +57 -4
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +6 -3
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +6 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +17 -9
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +6 -3
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +6 -3
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +2 -3
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +5 -4
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +4 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +11 -12
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +5 -4
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +6 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +7 -4
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +6 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +6 -3
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +6 -3
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +5 -4
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +20 -3
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +13 -43
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +61 -25
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +37 -4
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +89 -12
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +41 -4
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +40 -4
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +41 -4
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +41 -4
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +41 -4
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +40 -4
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +20 -20
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +135 -38
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +37 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +4 -4
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +4 -4
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +20 -3
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +12 -3
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +11 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +36 -34
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +268 -991
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +56 -34
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +56 -34
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +5 -4
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +1 -1
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +27 -20
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +193 -38
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +143 -14
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +24 -9
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +77 -17
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +20 -12
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +50 -50
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +3 -3
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +1 -1
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +46 -34
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +1 -1
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +62 -20
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +48 -45
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +18 -4
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +5 -5
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +3 -3
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +1 -1
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +15 -21
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +13 -13
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +99 -107
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +66 -25
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +123 -73
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +73 -31
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +2 -1
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +43 -411
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +207 -423
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +5 -4
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +79 -425
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +28 -36
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +13 -3
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +36 -34
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +24 -24
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
  620. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
  621. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  622. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  623. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
  624. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
  625. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
  626. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  627. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -28
  628. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -3
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -16
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +5 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +6 -4
  633. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +0 -49
  634. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +107 -40
  635. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +32 -5
  636. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
  637. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
  638. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
  639. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  640. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
  641. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
  642. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
  643. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
  644. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
  645. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
  646. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
  647. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
  648. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +230 -1740
  649. data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
  650. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  651. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  652. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  653. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +1 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +140 -290
  656. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
  657. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -279
  658. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -6
  659. data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  661. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
  662. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -1
  663. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
  664. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
  666. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  668. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
  669. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  670. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
  671. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  672. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  673. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +8 -0
  675. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
  676. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +5 -0
  677. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -1
  678. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +1 -0
  679. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -0
  680. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +4 -0
  681. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +4 -2
  682. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +5 -0
  683. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +1 -0
  684. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -0
  685. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -0
  686. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
  687. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +4 -0
  688. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +4 -0
  689. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -0
  690. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +13 -3
  691. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +8 -0
  692. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
  693. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
  694. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +56 -0
  695. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +32 -0
  696. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +16 -1
  697. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
  698. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
  699. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
  700. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +0 -29
  701. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +144 -145
  702. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -5
  703. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +48 -49
  704. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  705. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
  706. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
  707. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +71 -69
  709. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
  710. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +38 -40
  711. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +165 -153
  712. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
  713. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
  714. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -12
  715. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
  716. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +44 -46
  717. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +10 -11
  718. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
  719. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +0 -8
  720. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  721. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +83 -84
  722. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  723. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +77 -1
  724. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +81 -85
  725. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -233
  726. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +86 -86
  727. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
  728. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -110
  729. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
  730. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
  731. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +29 -17
  732. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
  733. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
  734. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  736. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -82
  737. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
  738. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -26
  739. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +147 -122
  740. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -110
  741. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
  742. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +165 -194
  743. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +4 -5
  744. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +263 -199
  745. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  746. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
  747. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +296 -61
  748. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
  749. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
  750. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +38 -124
  751. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -0
  752. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -20
  753. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
  754. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -40
  755. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
  757. data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +22 -8
  759. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +362 -31
  760. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
  762. data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
  763. data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
  764. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
  765. data/src/cxx_supportlib/vendor-modified/boost/{smart_ptr → core}/detail/sp_thread_sleep.hpp +39 -21
  766. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
  767. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +7 -7
  768. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
  769. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  770. data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
  771. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  772. data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
  773. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
  774. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +33 -36
  775. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +3 -3
  776. data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
  777. data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
  778. data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
  779. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  780. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +23 -16
  781. data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
  782. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
  783. data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
  784. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +17 -17
  785. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
  786. data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +29 -5
  787. data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +2 -0
  789. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
  790. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  791. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
  792. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
  793. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
  794. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +22 -10
  795. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
  796. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
  797. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
  798. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
  799. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +4 -4
  800. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
  801. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
  802. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
  803. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +2 -2
  804. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
  805. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  806. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  807. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  809. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  811. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  812. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  813. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  814. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  815. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  816. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +49 -198
  817. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  818. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +277 -420
  819. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  820. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
  821. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
  822. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
  823. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
  824. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
  825. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
  826. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
  827. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
  828. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +7 -7
  829. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
  830. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
  831. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +5 -5
  832. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +10 -10
  833. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  834. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
  835. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  836. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
  837. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  838. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  839. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
  840. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  841. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  842. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
  843. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -20
  844. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  845. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
  846. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  847. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
  848. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
  849. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  851. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  852. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  853. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -20
  854. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  855. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
  856. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
  857. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +58 -1
  858. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
  859. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
  860. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +57 -58
  861. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
  862. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  863. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
  864. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
  865. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
  866. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
  867. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
  868. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
  869. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +61 -62
  870. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
  871. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
  872. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
  873. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
  875. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
  876. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
  877. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
  878. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +10 -11
  879. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
  880. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
  881. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
  882. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  883. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
  884. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +612 -645
  885. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
  886. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
  887. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
  888. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  889. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  890. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
  891. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
  892. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
  893. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -12
  894. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  895. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  896. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  897. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +10 -18
  898. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +13 -14
  899. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
  900. data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
  901. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  902. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +5 -3
  903. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +20 -19
  904. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +41 -56
  905. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
  906. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +3 -2
  907. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +32 -34
  908. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +4 -5
  909. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +11 -11
  910. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
  911. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
  913. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  914. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
  915. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  916. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +65 -24
  917. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
  918. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  919. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +72 -23
  920. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +81 -1
  921. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
  922. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
  923. data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
  924. data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +8 -6
  925. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +97 -17
  926. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
  927. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +11 -0
  928. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +140 -4
  929. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +108 -4
  931. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +13 -1
  932. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
  933. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
  934. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +1 -1
  935. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +4 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +18 -5
  937. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
  938. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
  939. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +10 -0
  940. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +180 -3
  941. data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +2 -96
  942. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  943. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
  944. data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
  945. data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
  946. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
  947. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +5 -4
  948. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +3 -3
  949. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +2 -2
  950. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
  951. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  952. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  953. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +4 -4
  954. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
  955. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +1 -1
  956. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +1 -1
  957. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +4 -4
  958. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +1 -1
  959. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +1 -1
  960. data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +3 -3
  961. data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
  962. data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +1 -1
  963. data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +3 -3
  964. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  965. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
  966. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
  970. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  971. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
  972. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
  973. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  974. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
  975. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
  976. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  977. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -82
  978. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  979. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  981. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  982. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  983. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  984. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  985. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -7
  986. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +9 -9
  987. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
  988. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +1 -1
  991. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +4 -6
  992. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
  993. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +2 -11
  994. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
  995. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +1 -0
  996. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -0
  997. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  998. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -0
  999. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -0
  1000. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +2 -0
  1001. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -11
  1002. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +1 -0
  1003. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +4 -8
  1004. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
  1005. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +14 -50
  1006. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +16 -55
  1007. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +62 -124
  1008. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
  1009. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
  1010. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
  1011. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
  1012. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
  1013. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
  1014. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
  1015. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +14 -13
  1016. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
  1017. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
  1018. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
  1019. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
  1020. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
  1021. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  1022. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  1023. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  1024. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  1025. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  1026. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  1027. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  1028. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  1029. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  1030. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  1031. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  1032. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  1033. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
  1034. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  1035. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  1036. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
  1037. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  1038. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  1039. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
  1040. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
  1041. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
  1042. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  1043. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +2 -2
  1044. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
  1045. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
  1046. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
  1047. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  1048. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
  1049. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
  1050. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
  1051. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  1052. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  1053. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
  1054. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  1055. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  1056. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  1057. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  1058. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
  1059. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  1060. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  1061. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  1062. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  1063. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  1064. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  1065. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
  1066. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  1067. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  1068. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  1069. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  1070. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  1071. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  1072. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  1073. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  1074. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  1075. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  1076. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
  1077. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +860 -0
  1078. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +51 -0
  1079. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
  1080. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
  1081. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  1082. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  1083. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  1084. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  1085. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
  1086. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1764 -0
  1087. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2271 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
  1089. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +86 -0
  1090. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -0
  1091. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +204 -0
  1093. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -0
  1095. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  1096. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
  1097. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
  1098. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +651 -0
  1099. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
  1100. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +356 -1118
  1101. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
  1102. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
  1103. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
  1104. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  1105. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +96 -150
  1106. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  1107. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  1108. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  1109. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  1110. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  1111. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  1112. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +136 -19
  1113. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
  1114. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +171 -103
  1115. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -6
  1116. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +70 -46
  1117. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -6
  1118. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +406 -899
  1119. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -13
  1120. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +895 -0
  1121. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +44 -0
  1122. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +699 -0
  1123. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +44 -0
  1124. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +253 -618
  1125. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -14
  1126. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  1127. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
  1128. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1129. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  1130. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
  1131. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
  1132. data/src/helper-scripts/wsgi-loader.py +2 -2
  1133. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  1134. data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
  1135. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  1136. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -1
  1137. data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
  1138. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +8 -10
  1139. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
  1140. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
  1141. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
  1142. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
  1143. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  1144. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
  1145. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
  1146. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  1147. metadata +109 -150
  1148. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
  1149. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
  1150. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
  1151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
  1152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  1153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  1154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  1155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  1156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
  1157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  1158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  1159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  1160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
  1161. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
  1162. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
  1163. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
  1164. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
  1165. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
  1166. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
  1167. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
  1168. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
  1169. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
  1170. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
  1171. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
  1172. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
  1173. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
  1174. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
  1175. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
  1176. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
  1177. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
  1178. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
  1179. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
  1180. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
  1181. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
  1182. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
  1183. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
  1184. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
  1185. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -300
  1186. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -275
  1187. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
  1188. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -300
  1189. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
  1190. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
  1191. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
  1192. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
  1193. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
  1194. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
  1195. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
  1196. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
  1197. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
  1198. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
  1199. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
  1200. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
  1201. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
  1202. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
  1203. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
  1204. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
  1205. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
  1206. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
  1207. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
  1208. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
  1209. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
  1210. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
  1211. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
  1212. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
  1213. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
  1214. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
  1215. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
  1216. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
  1217. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
  1218. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
  1219. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  1220. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  1221. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  1222. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  1223. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  1224. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  1225. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
  1226. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
  1227. data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -1278
  1228. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +0 -133
  1229. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1230. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  1231. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  1232. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  1233. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
  1234. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  1235. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  1236. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  1237. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  1238. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  1239. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  1240. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  1241. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  1242. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  1243. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  1244. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  1245. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  1246. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  1247. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  1248. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  1249. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  1250. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  1251. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  1252. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  1253. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  1254. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  1255. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  1256. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  1257. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  1258. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  1259. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  1260. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  1261. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  1262. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
  1263. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  1264. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -278
  1265. data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
  1266. data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
  1267. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  1268. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
  1269. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  1270. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  1271. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  1272. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  1273. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  1274. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  1275. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  1276. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  1277. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  1278. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  1279. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  1280. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  1281. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  1282. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  1283. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  1284. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
  1285. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  1286. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  1287. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  1288. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  1289. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  1290. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  1291. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +0 -1921
  1292. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -64
  1293. /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
@@ -49,9 +49,6 @@
49
49
  #include <boost/move/adl_move_swap.hpp>
50
50
  #include <boost/move/traits.hpp>
51
51
 
52
- #include <boost/static_assert.hpp>
53
- #include <boost/core/no_exceptions_support.hpp>
54
-
55
52
  #include <iosfwd>
56
53
  #include <istream> //
57
54
  #include <ostream>
@@ -65,6 +62,13 @@
65
62
  #include <initializer_list> //for std::initializer_list
66
63
  #endif
67
64
 
65
+ //GCC 12 has a regression for array-bounds warnings
66
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 120000) && (BOOST_GCC < 130000)
67
+ #pragma GCC diagnostic push
68
+ #pragma GCC diagnostic ignored "-Warray-bounds"
69
+ #endif
70
+
71
+
68
72
  namespace boost {
69
73
  namespace container {
70
74
 
@@ -97,31 +101,31 @@ class basic_string_base
97
101
 
98
102
  typedef ::boost::intrusive::pointer_traits<pointer> pointer_traits;
99
103
 
100
- BOOST_CONTAINER_FORCEINLINE basic_string_base()
104
+ inline basic_string_base()
101
105
  : members_()
102
106
  {}
103
107
 
104
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(const allocator_type& a)
108
+ inline explicit basic_string_base(const allocator_type& a)
105
109
  : members_(a)
106
110
  {}
107
111
 
108
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(BOOST_RV_REF(allocator_type) a)
112
+ inline explicit basic_string_base(BOOST_RV_REF(allocator_type) a)
109
113
  : members_(boost::move(a))
110
114
  {}
111
115
 
112
- BOOST_CONTAINER_FORCEINLINE basic_string_base(const allocator_type& a, size_type n)
116
+ inline basic_string_base(const allocator_type& a, size_type n)
113
117
  : members_(a)
114
118
  {
115
119
  this->allocate_initial_block(n);
116
120
  }
117
121
 
118
- BOOST_CONTAINER_FORCEINLINE explicit basic_string_base(size_type n)
122
+ inline explicit basic_string_base(size_type n)
119
123
  : members_()
120
124
  {
121
125
  this->allocate_initial_block(n);
122
126
  }
123
127
 
124
- BOOST_CONTAINER_FORCEINLINE ~basic_string_base()
128
+ inline ~basic_string_base()
125
129
  {
126
130
  if(!this->is_short()){
127
131
  this->deallocate(this->priv_long_addr(), this->priv_long_storage());
@@ -143,15 +147,15 @@ class basic_string_base
143
147
  size_type storage;
144
148
  pointer start;
145
149
 
146
- BOOST_CONTAINER_FORCEINLINE long_t()
150
+ inline long_t()
147
151
  : is_short(0)
148
152
  {}
149
153
 
150
- BOOST_CONTAINER_FORCEINLINE long_t(size_type len, size_type stor, pointer ptr)
154
+ inline long_t(size_type len, size_type stor, pointer ptr)
151
155
  : is_short(0), length(len), storage(stor), start(ptr)
152
156
  {}
153
157
 
154
- BOOST_CONTAINER_FORCEINLINE long_t(const long_t &other)
158
+ inline long_t(const long_t &other)
155
159
  {
156
160
  this->is_short = false;
157
161
  length = other.length;
@@ -159,7 +163,7 @@ class basic_string_base
159
163
  start = other.start;
160
164
  }
161
165
 
162
- BOOST_CONTAINER_FORCEINLINE long_t &operator= (const long_t &other)
166
+ inline long_t &operator= (const long_t &other)
163
167
  {
164
168
  length = other.length;
165
169
  storage = other.storage;
@@ -220,41 +224,41 @@ class basic_string_base
220
224
  struct members_holder
221
225
  : public allocator_type
222
226
  {
223
- BOOST_CONTAINER_FORCEINLINE void init()
227
+ inline void init()
224
228
  {
225
229
  short_t &s = *::new(this->m_repr.data) short_t;
226
230
  s.h.is_short = 1;
227
231
  s.h.length = 0;
228
232
  }
229
233
 
230
- BOOST_CONTAINER_FORCEINLINE members_holder()
234
+ inline members_holder()
231
235
  : allocator_type()
232
236
  { this->init(); }
233
237
 
234
238
  template<class AllocatorConvertible>
235
- BOOST_CONTAINER_FORCEINLINE explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
239
+ inline explicit members_holder(BOOST_FWD_REF(AllocatorConvertible) a)
236
240
  : allocator_type(boost::forward<AllocatorConvertible>(a))
237
241
  { this->init(); }
238
242
 
239
- BOOST_CONTAINER_FORCEINLINE const short_t *pshort_repr() const
243
+ inline const short_t *pshort_repr() const
240
244
  { return move_detail::force_ptr<const short_t*>(m_repr.data); }
241
245
 
242
- BOOST_CONTAINER_FORCEINLINE const long_t *plong_repr() const
246
+ inline const long_t *plong_repr() const
243
247
  { return move_detail::force_ptr<const long_t*>(m_repr.data); }
244
248
 
245
- BOOST_CONTAINER_FORCEINLINE short_t *pshort_repr()
249
+ inline short_t *pshort_repr()
246
250
  { return move_detail::force_ptr<short_t*>(m_repr.data); }
247
251
 
248
- BOOST_CONTAINER_FORCEINLINE long_t *plong_repr()
252
+ inline long_t *plong_repr()
249
253
  { return move_detail::force_ptr<long_t*>(m_repr.data); }
250
254
 
251
255
  repr_t m_repr;
252
256
  } members_;
253
257
 
254
- BOOST_CONTAINER_FORCEINLINE const allocator_type &alloc() const
258
+ inline const allocator_type &alloc() const
255
259
  { return members_; }
256
260
 
257
- BOOST_CONTAINER_FORCEINLINE allocator_type &alloc()
261
+ inline allocator_type &alloc()
258
262
  { return members_; }
259
263
 
260
264
  static const size_type InternalBufferChars = (sizeof(repr_t) - ShortDataOffset)/sizeof(value_type);
@@ -264,24 +268,24 @@ class basic_string_base
264
268
  static const size_type MinAllocation = InternalBufferChars*2;
265
269
 
266
270
  protected:
267
- BOOST_CONTAINER_FORCEINLINE bool is_short() const
271
+ inline bool is_short() const
268
272
  {
269
273
  //Access and copy (to avoid UB) the first byte of the union to know if the
270
274
  //active representation is short or long
271
275
  short_header hdr;
272
- BOOST_STATIC_ASSERT((sizeof(short_header) == 1));
276
+ BOOST_CONTAINER_STATIC_ASSERT((sizeof(short_header) == 1));
273
277
  *(unsigned char*)&hdr = *(unsigned char*)&this->members_.m_repr;
274
278
  return hdr.is_short != 0;
275
279
  }
276
280
 
277
- BOOST_CONTAINER_FORCEINLINE short_t *construct_short()
281
+ inline short_t *construct_short()
278
282
  {
279
283
  short_t *ps = ::new(this->members_.m_repr.data) short_t;
280
284
  ps->h.is_short = 1;
281
285
  return ps;
282
286
  }
283
287
 
284
- BOOST_CONTAINER_FORCEINLINE void destroy_short()
288
+ inline void destroy_short()
285
289
  {
286
290
  BOOST_ASSERT(this->is_short());
287
291
  this->members_.pshort_repr()->~short_t();
@@ -296,14 +300,14 @@ class basic_string_base
296
300
  return this->members_.pshort_repr();
297
301
  }
298
302
 
299
- BOOST_CONTAINER_FORCEINLINE long_t *construct_long()
303
+ inline long_t *construct_long()
300
304
  {
301
305
  long_t *pl = ::new(this->members_.m_repr.data) long_t;
302
306
  //is_short flag is written in the constructor
303
307
  return pl;
304
308
  }
305
309
 
306
- BOOST_CONTAINER_FORCEINLINE void destroy_long()
310
+ inline void destroy_long()
307
311
  {
308
312
  BOOST_ASSERT(!this->is_short());
309
313
  this->members_.plong_repr()->~long_t();
@@ -349,15 +353,6 @@ class basic_string_base
349
353
  this->alloc().deallocate(p, n);
350
354
  }
351
355
 
352
- BOOST_CONTAINER_FORCEINLINE void construct(pointer p, const value_type &value = value_type())
353
- {
354
- allocator_traits_type::construct
355
- ( this->alloc()
356
- , boost::movelib::to_raw_pointer(p)
357
- , value
358
- );
359
- }
360
-
361
356
  void destroy(pointer p, size_type n)
362
357
  {
363
358
  value_type *raw_p = boost::movelib::to_raw_pointer(p);
@@ -366,7 +361,7 @@ class basic_string_base
366
361
  }
367
362
  }
368
363
 
369
- BOOST_CONTAINER_FORCEINLINE void destroy(pointer p)
364
+ inline void destroy(pointer p)
370
365
  {
371
366
  allocator_traits_type::destroy
372
367
  ( this->alloc()
@@ -393,17 +388,17 @@ class basic_string_base
393
388
  }
394
389
  }
395
390
 
396
- BOOST_CONTAINER_FORCEINLINE void deallocate_block()
391
+ inline void deallocate_block()
397
392
  { this->deallocate(this->priv_addr(), this->priv_storage()); }
398
393
 
399
- BOOST_CONTAINER_FORCEINLINE size_type max_size() const
394
+ inline size_type max_size() const
400
395
  { return allocator_traits_type::max_size(this->alloc()) - 1; }
401
396
 
402
397
  protected:
403
- BOOST_CONTAINER_FORCEINLINE size_type priv_capacity() const
398
+ inline size_type priv_capacity() const
404
399
  { return this->priv_storage() - 1; }
405
400
 
406
- BOOST_CONTAINER_FORCEINLINE pointer priv_short_addr() const
401
+ inline pointer priv_short_addr() const
407
402
  { return pointer_traits::pointer_to(const_cast<value_type&>(this->members_.pshort_repr()->data[0])); }
408
403
 
409
404
  //GCC seems a bit confused about uninitialized accesses
@@ -412,10 +407,10 @@ class basic_string_base
412
407
  #pragma GCC diagnostic ignored "-Wmaybe-uninitialized"
413
408
  #endif
414
409
 
415
- BOOST_CONTAINER_FORCEINLINE pointer priv_long_addr() const
410
+ inline pointer priv_long_addr() const
416
411
  { return this->members_.plong_repr()->start; }
417
412
 
418
- BOOST_CONTAINER_FORCEINLINE pointer priv_addr() const
413
+ inline pointer priv_addr() const
419
414
  {
420
415
  return this->is_short()
421
416
  ? priv_short_addr()
@@ -423,7 +418,7 @@ class basic_string_base
423
418
  ;
424
419
  }
425
420
 
426
- BOOST_CONTAINER_FORCEINLINE pointer priv_end_addr() const
421
+ inline pointer priv_end_addr() const
427
422
  {
428
423
  return this->is_short()
429
424
  ? this->priv_short_addr() + difference_type(this->priv_short_size())
@@ -431,39 +426,39 @@ class basic_string_base
431
426
  ;
432
427
  }
433
428
 
434
- BOOST_CONTAINER_FORCEINLINE void priv_long_addr(pointer addr)
429
+ inline void priv_long_addr(pointer addr)
435
430
  { this->members_.plong_repr()->start = addr; }
436
431
 
437
- BOOST_CONTAINER_FORCEINLINE size_type priv_storage() const
432
+ inline size_type priv_storage() const
438
433
  { return this->is_short() ? priv_short_storage() : priv_long_storage(); }
439
434
 
440
- BOOST_CONTAINER_FORCEINLINE size_type priv_short_storage() const
435
+ inline size_type priv_short_storage() const
441
436
  { return InternalBufferChars; }
442
437
 
443
- BOOST_CONTAINER_FORCEINLINE size_type priv_long_storage() const
438
+ inline size_type priv_long_storage() const
444
439
  { return this->members_.plong_repr()->storage; }
445
440
 
446
- BOOST_CONTAINER_FORCEINLINE void priv_storage(size_type storage)
441
+ inline void priv_storage(size_type storage)
447
442
  {
448
443
  if(!this->is_short())
449
444
  this->priv_long_storage(storage);
450
445
  }
451
446
 
452
- BOOST_CONTAINER_FORCEINLINE void priv_long_storage(size_type storage)
447
+ inline void priv_long_storage(size_type storage)
453
448
  {
454
449
  this->members_.plong_repr()->storage = storage;
455
450
  }
456
451
 
457
- BOOST_CONTAINER_FORCEINLINE size_type priv_size() const
452
+ inline size_type priv_size() const
458
453
  { return this->is_short() ? this->priv_short_size() : this->priv_long_size(); }
459
454
 
460
- BOOST_CONTAINER_FORCEINLINE size_type priv_short_size() const
455
+ inline size_type priv_short_size() const
461
456
  { return this->members_.pshort_repr()->h.length; }
462
457
 
463
- BOOST_CONTAINER_FORCEINLINE size_type priv_long_size() const
458
+ inline size_type priv_long_size() const
464
459
  { return this->members_.plong_repr()->length; }
465
460
 
466
- BOOST_CONTAINER_FORCEINLINE void priv_size(size_type sz)
461
+ inline void priv_size(size_type sz)
467
462
  {
468
463
  if(this->is_short())
469
464
  this->priv_short_size(sz);
@@ -471,7 +466,7 @@ class basic_string_base
471
466
  this->priv_long_size(sz);
472
467
  }
473
468
 
474
- BOOST_CONTAINER_FORCEINLINE void priv_short_size(size_type sz)
469
+ inline void priv_short_size(size_type sz)
475
470
  {
476
471
  typedef unsigned char uchar_type;
477
472
  static const uchar_type mask = uchar_type(uchar_type(-1) >> 1U);
@@ -480,7 +475,7 @@ class basic_string_base
480
475
  this->members_.pshort_repr()->h.length = uchar_type(uchar_type(sz) & mask);
481
476
  }
482
477
 
483
- BOOST_CONTAINER_FORCEINLINE void priv_long_size(size_type sz)
478
+ inline void priv_long_size(size_type sz)
484
479
  {
485
480
  static const size_type mask = size_type(-1) >> 1U;
486
481
  BOOST_ASSERT( sz <= mask );
@@ -972,7 +967,7 @@ class basic_string
972
967
  //! <b>Throws</b>: If allocator's copy constructor throws.
973
968
  //!
974
969
  //! <b>Complexity</b>: Constant.
975
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
970
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
976
971
  allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
977
972
  { return this->alloc(); }
978
973
 
@@ -983,7 +978,7 @@ class basic_string
983
978
  //! <b>Complexity</b>: Constant.
984
979
  //!
985
980
  //! <b>Note</b>: Non-standard extension.
986
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
981
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
987
982
  stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
988
983
  { return this->alloc(); }
989
984
 
@@ -994,7 +989,7 @@ class basic_string
994
989
  //! <b>Complexity</b>: Constant.
995
990
  //!
996
991
  //! <b>Note</b>: Non-standard extension.
997
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
992
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
998
993
  const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
999
994
  { return this->alloc(); }
1000
995
 
@@ -1009,7 +1004,7 @@ class basic_string
1009
1004
  //! <b>Throws</b>: Nothing.
1010
1005
  //!
1011
1006
  //! <b>Complexity</b>: Constant.
1012
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1007
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1013
1008
  iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
1014
1009
  { return this->priv_addr(); }
1015
1010
 
@@ -1018,7 +1013,7 @@ class basic_string
1018
1013
  //! <b>Throws</b>: Nothing.
1019
1014
  //!
1020
1015
  //! <b>Complexity</b>: Constant.
1021
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1016
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1022
1017
  const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
1023
1018
  { return this->priv_addr(); }
1024
1019
 
@@ -1027,7 +1022,7 @@ class basic_string
1027
1022
  //! <b>Throws</b>: Nothing.
1028
1023
  //!
1029
1024
  //! <b>Complexity</b>: Constant.
1030
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1025
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1031
1026
  iterator end() BOOST_NOEXCEPT_OR_NOTHROW
1032
1027
  { return this->priv_end_addr(); }
1033
1028
 
@@ -1036,7 +1031,7 @@ class basic_string
1036
1031
  //! <b>Throws</b>: Nothing.
1037
1032
  //!
1038
1033
  //! <b>Complexity</b>: Constant.
1039
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1034
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1040
1035
  const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
1041
1036
  { return this->priv_end_addr(); }
1042
1037
 
@@ -1046,7 +1041,7 @@ class basic_string
1046
1041
  //! <b>Throws</b>: Nothing.
1047
1042
  //!
1048
1043
  //! <b>Complexity</b>: Constant.
1049
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1044
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1050
1045
  reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
1051
1046
  { return reverse_iterator(this->priv_end_addr()); }
1052
1047
 
@@ -1056,7 +1051,7 @@ class basic_string
1056
1051
  //! <b>Throws</b>: Nothing.
1057
1052
  //!
1058
1053
  //! <b>Complexity</b>: Constant.
1059
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1054
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1060
1055
  const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1061
1056
  { return this->crbegin(); }
1062
1057
 
@@ -1066,7 +1061,7 @@ class basic_string
1066
1061
  //! <b>Throws</b>: Nothing.
1067
1062
  //!
1068
1063
  //! <b>Complexity</b>: Constant.
1069
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1064
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1070
1065
  reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
1071
1066
  { return reverse_iterator(this->priv_addr()); }
1072
1067
 
@@ -1076,7 +1071,7 @@ class basic_string
1076
1071
  //! <b>Throws</b>: Nothing.
1077
1072
  //!
1078
1073
  //! <b>Complexity</b>: Constant.
1079
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1074
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1080
1075
  const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
1081
1076
  { return this->crend(); }
1082
1077
 
@@ -1085,7 +1080,7 @@ class basic_string
1085
1080
  //! <b>Throws</b>: Nothing.
1086
1081
  //!
1087
1082
  //! <b>Complexity</b>: Constant.
1088
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1083
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1089
1084
  const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1090
1085
  { return this->priv_addr(); }
1091
1086
 
@@ -1094,7 +1089,7 @@ class basic_string
1094
1089
  //! <b>Throws</b>: Nothing.
1095
1090
  //!
1096
1091
  //! <b>Complexity</b>: Constant.
1097
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1092
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1098
1093
  const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
1099
1094
  { return this->priv_end_addr(); }
1100
1095
 
@@ -1104,7 +1099,7 @@ class basic_string
1104
1099
  //! <b>Throws</b>: Nothing.
1105
1100
  //!
1106
1101
  //! <b>Complexity</b>: Constant.
1107
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1102
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1108
1103
  const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
1109
1104
  { return const_reverse_iterator(this->priv_end_addr()); }
1110
1105
 
@@ -1114,7 +1109,7 @@ class basic_string
1114
1109
  //! <b>Throws</b>: Nothing.
1115
1110
  //!
1116
1111
  //! <b>Complexity</b>: Constant.
1117
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1112
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1118
1113
  const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
1119
1114
  { return const_reverse_iterator(this->priv_addr()); }
1120
1115
 
@@ -1129,7 +1124,7 @@ class basic_string
1129
1124
  //! <b>Throws</b>: Nothing.
1130
1125
  //!
1131
1126
  //! <b>Complexity</b>: Constant.
1132
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1127
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1133
1128
  bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
1134
1129
  { return !this->priv_size(); }
1135
1130
 
@@ -1138,7 +1133,7 @@ class basic_string
1138
1133
  //! <b>Throws</b>: Nothing.
1139
1134
  //!
1140
1135
  //! <b>Complexity</b>: Constant.
1141
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1136
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1142
1137
  size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
1143
1138
  { return this->priv_size(); }
1144
1139
 
@@ -1147,7 +1142,7 @@ class basic_string
1147
1142
  //! <b>Throws</b>: Nothing.
1148
1143
  //!
1149
1144
  //! <b>Complexity</b>: Constant.
1150
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1145
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1151
1146
  size_type length() const BOOST_NOEXCEPT_OR_NOTHROW
1152
1147
  { return this->size(); }
1153
1148
 
@@ -1156,7 +1151,7 @@ class basic_string
1156
1151
  //! <b>Throws</b>: Nothing.
1157
1152
  //!
1158
1153
  //! <b>Complexity</b>: Constant
1159
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1154
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1160
1155
  size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
1161
1156
  { return base_t::max_size(); }
1162
1157
 
@@ -1196,7 +1191,7 @@ class basic_string
1196
1191
  if (n <= this->size())
1197
1192
  this->erase(this->begin() + difference_type(n), this->end());
1198
1193
  else{
1199
- this->priv_reserve(n, false);
1194
+ this->priv_reserve_no_null_end(n);
1200
1195
  this->priv_size(n);
1201
1196
  this->priv_terminate_string();
1202
1197
  }
@@ -1208,7 +1203,7 @@ class basic_string
1208
1203
  //! <b>Throws</b>: Nothing.
1209
1204
  //!
1210
1205
  //! <b>Complexity</b>: Constant.
1211
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1206
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1212
1207
  size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
1213
1208
  { return this->priv_capacity(); }
1214
1209
 
@@ -1268,7 +1263,7 @@ class basic_string
1268
1263
  //! <b>Throws</b>: Nothing.
1269
1264
  //!
1270
1265
  //! <b>Complexity</b>: Constant.
1271
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1266
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1272
1267
  reference front() BOOST_NOEXCEPT_OR_NOTHROW
1273
1268
  {
1274
1269
  BOOST_ASSERT(!this->empty());
@@ -1283,7 +1278,7 @@ class basic_string
1283
1278
  //! <b>Throws</b>: Nothing.
1284
1279
  //!
1285
1280
  //! <b>Complexity</b>: Constant.
1286
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1281
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1287
1282
  const_reference front() const BOOST_NOEXCEPT_OR_NOTHROW
1288
1283
  {
1289
1284
  BOOST_ASSERT(!this->empty());
@@ -1298,7 +1293,7 @@ class basic_string
1298
1293
  //! <b>Throws</b>: Nothing.
1299
1294
  //!
1300
1295
  //! <b>Complexity</b>: Constant.
1301
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1296
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1302
1297
  reference back() BOOST_NOEXCEPT_OR_NOTHROW
1303
1298
  {
1304
1299
  BOOST_ASSERT(!this->empty());
@@ -1313,7 +1308,7 @@ class basic_string
1313
1308
  //! <b>Throws</b>: Nothing.
1314
1309
  //!
1315
1310
  //! <b>Complexity</b>: Constant.
1316
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1311
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1317
1312
  const_reference back() const BOOST_NOEXCEPT_OR_NOTHROW
1318
1313
  {
1319
1314
  BOOST_ASSERT(!this->empty());
@@ -1328,7 +1323,7 @@ class basic_string
1328
1323
  //! <b>Throws</b>: Nothing.
1329
1324
  //!
1330
1325
  //! <b>Complexity</b>: Constant.
1331
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1326
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1332
1327
  reference operator[](size_type n) BOOST_NOEXCEPT_OR_NOTHROW
1333
1328
  {
1334
1329
  BOOST_ASSERT(this->size() > n);
@@ -1343,7 +1338,7 @@ class basic_string
1343
1338
  //! <b>Throws</b>: Nothing.
1344
1339
  //!
1345
1340
  //! <b>Complexity</b>: Constant.
1346
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1341
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1347
1342
  const_reference operator[](size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
1348
1343
  {
1349
1344
  BOOST_ASSERT(this->size() > n);
@@ -1358,7 +1353,7 @@ class basic_string
1358
1353
  //! <b>Throws</b>: range_error if n >= size()
1359
1354
  //!
1360
1355
  //! <b>Complexity</b>: Constant.
1361
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1356
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1362
1357
  reference at(size_type n)
1363
1358
  {
1364
1359
  if (n >= this->size())
@@ -1374,7 +1369,7 @@ class basic_string
1374
1369
  //! <b>Throws</b>: range_error if n >= size()
1375
1370
  //!
1376
1371
  //! <b>Complexity</b>: Constant.
1377
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1372
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1378
1373
  const_reference at(size_type n) const {
1379
1374
  if (n >= this->size())
1380
1375
  throw_out_of_range("basic_string::at invalid subscript");
@@ -1894,7 +1889,7 @@ class basic_string
1894
1889
  //!
1895
1890
  //! <b>Returns</b>: An iterator which refers to the copy of the first inserted
1896
1891
  //! character, or p if i1 is empty.
1897
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, std::initializer_list<CharT> il)
1892
+ inline iterator insert(const_iterator p, std::initializer_list<CharT> il)
1898
1893
  {
1899
1894
  return this->insert(p, il.begin(), il.end());
1900
1895
  }
@@ -2013,7 +2008,7 @@ class basic_string
2013
2008
  //! <b>Effects</b>: Calls `return replace(pos1, n1, sv.data(), sv.size());`.
2014
2009
  //!
2015
2010
  template<template<class, class> class BasicStringView>
2016
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv)
2011
+ inline basic_string& replace(size_type pos1, size_type n1, BasicStringView<CharT, Traits> sv)
2017
2012
  {
2018
2013
  return this->replace(pos1, n1, sv.data(), sv.size());
2019
2014
  }
@@ -2090,7 +2085,7 @@ class basic_string
2090
2085
  //! if the length of the resulting string would exceed max_size()
2091
2086
  //!
2092
2087
  //! <b>Returns</b>: *this
2093
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(size_type pos, size_type n1, const CharT* s)
2088
+ inline basic_string& replace(size_type pos, size_type n1, const CharT* s)
2094
2089
  {
2095
2090
  return this->replace(pos, n1, s, Traits::length(s));
2096
2091
  }
@@ -2121,7 +2116,7 @@ class basic_string
2121
2116
  //! <b>Throws</b>: if memory allocation throws
2122
2117
  //!
2123
2118
  //! <b>Returns</b>: *this
2124
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str)
2119
+ inline basic_string& replace(const_iterator i1, const_iterator i2, const basic_string& str)
2125
2120
  { return this->replace(i1, i2, str.data(), str.data()+str.size()); }
2126
2121
 
2127
2122
  //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and
@@ -2132,7 +2127,7 @@ class basic_string
2132
2127
  //! <b>Throws</b>: if memory allocation throws
2133
2128
  //!
2134
2129
  //! <b>Returns</b>: *this
2135
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s, size_type n)
2130
+ inline basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s, size_type n)
2136
2131
  { return this->replace(i1, i2, s, s + difference_type(n)); }
2137
2132
 
2138
2133
  //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges and s points to an
@@ -2143,7 +2138,7 @@ class basic_string
2143
2138
  //! <b>Throws</b>: if memory allocation throws
2144
2139
  //!
2145
2140
  //! <b>Returns</b>: *this
2146
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s)
2141
+ inline basic_string& replace(const_iterator i1, const_iterator i2, const CharT* s)
2147
2142
  { return this->replace(i1, i2, s, s + Traits::length(s)); }
2148
2143
 
2149
2144
  //! <b>Requires</b>: [begin(),i1) and [i1,i2) are valid ranges.
@@ -2228,7 +2223,7 @@ class basic_string
2228
2223
  //!
2229
2224
  //! <b>Returns</b>: *this.
2230
2225
  template<template <class, class> class BasicStringView>
2231
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, BasicStringView<CharT, Traits> sv)
2226
+ inline basic_string& replace(const_iterator i1, const_iterator i2, BasicStringView<CharT, Traits> sv)
2232
2227
  {
2233
2228
  return this->replace( static_cast<size_type>(i1 - this->cbegin())
2234
2229
  , static_cast<size_type>(i2 - i1), sv);
@@ -2240,7 +2235,7 @@ class basic_string
2240
2235
  //! <b>Effects</b>: Calls replace(i1 - begin(), i2 - i1, il.begin(), il.size()).
2241
2236
  //!
2242
2237
  //! <b>Returns</b>: *this.
2243
- BOOST_CONTAINER_FORCEINLINE basic_string& replace(const_iterator i1, const_iterator i2, std::initializer_list<CharT> il)
2238
+ inline basic_string& replace(const_iterator i1, const_iterator i2, std::initializer_list<CharT> il)
2244
2239
  {
2245
2240
  return this->replace( static_cast<size_type>(i1 - this->cbegin())
2246
2241
  , static_cast<size_type>(i2 - i1)
@@ -2292,7 +2287,7 @@ class basic_string
2292
2287
  //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2293
2288
  //!
2294
2289
  //! <b>Complexity</b>: constant time.
2295
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2290
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2296
2291
  const CharT* c_str() const BOOST_NOEXCEPT_OR_NOTHROW
2297
2292
  { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2298
2293
 
@@ -2301,14 +2296,14 @@ class basic_string
2301
2296
  //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2302
2297
  //!
2303
2298
  //! <b>Complexity</b>: constant time.
2304
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2299
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2305
2300
  const CharT* data() const BOOST_NOEXCEPT_OR_NOTHROW
2306
2301
  { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2307
2302
 
2308
2303
  //! <b>Returns</b>: A pointer p such that p + i == &operator[](i) for each i in [0,size()].
2309
2304
  //!
2310
2305
  //! <b>Complexity</b>: constant time.
2311
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2306
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2312
2307
  CharT* data() BOOST_NOEXCEPT_OR_NOTHROW
2313
2308
  { return boost::movelib::to_raw_pointer(this->priv_addr()); }
2314
2309
 
@@ -2317,7 +2312,7 @@ class basic_string
2317
2312
  //!
2318
2313
  //! <b>Complexity</b>: constant time.
2319
2314
  template<template <class, class> class BasicStringView>
2320
- BOOST_CONTAINER_FORCEINLINE operator BasicStringView<CharT, Traits>() const BOOST_NOEXCEPT_OR_NOTHROW
2315
+ inline operator BasicStringView<CharT, Traits>() const BOOST_NOEXCEPT_OR_NOTHROW
2321
2316
  { return this->to_view< BasicStringView<CharT, Traits> >(); }
2322
2317
  #endif
2323
2318
 
@@ -2328,7 +2323,7 @@ class basic_string
2328
2323
  //! <b>Note</b>: This function is available to write portable code for compilers
2329
2324
  //! that don't support templated conversion operators.
2330
2325
  template<class BasicStringView>
2331
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2326
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2332
2327
  BasicStringView to_view() const BOOST_NOEXCEPT_OR_NOTHROW
2333
2328
  { return BasicStringView(this->data(), this->size()); }
2334
2329
 
@@ -2346,7 +2341,7 @@ class basic_string
2346
2341
  //! <b>Throws</b>: Nothing
2347
2342
  //!
2348
2343
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2349
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2344
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2350
2345
  size_type find(const basic_string& s, size_type pos = 0) const
2351
2346
  { return find(s.c_str(), pos, s.size()); }
2352
2347
 
@@ -2359,7 +2354,7 @@ class basic_string
2359
2354
  //!
2360
2355
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2361
2356
  template<template <class, class> class BasicStringView>
2362
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2357
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2363
2358
  size_type find(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2364
2359
  { return this->find(sv.data(), pos, sv.size()); }
2365
2360
 
@@ -2368,7 +2363,7 @@ class basic_string
2368
2363
  //! <b>Throws</b>: Nothing
2369
2364
  //!
2370
2365
  //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(s,n),pos).
2371
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2366
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2372
2367
  size_type find(const CharT* s, size_type pos, size_type n) const
2373
2368
  {
2374
2369
  if (pos + n > this->size())
@@ -2389,14 +2384,14 @@ class basic_string
2389
2384
  //! <b>Throws</b>: Nothing
2390
2385
  //!
2391
2386
  //! <b>Returns</b>: find(basic_string(s), pos).
2392
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2387
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2393
2388
  size_type find(const CharT* s, size_type pos = 0) const
2394
2389
  { return this->find(s, pos, Traits::length(s)); }
2395
2390
 
2396
2391
  //! <b>Throws</b>: Nothing
2397
2392
  //!
2398
2393
  //! <b>Returns</b>: find(basic_string<CharT,traits,allocator_type>(1,c), pos).
2399
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2394
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2400
2395
  size_type find(CharT c, size_type pos = 0) const
2401
2396
  {
2402
2397
  const size_type sz = this->size();
@@ -2420,7 +2415,7 @@ class basic_string
2420
2415
  //! <b>Throws</b>: Nothing
2421
2416
  //!
2422
2417
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2423
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2418
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2424
2419
  size_type rfind(const basic_string& str, size_type pos = npos) const
2425
2420
  { return this->rfind(str.c_str(), pos, str.size()); }
2426
2421
 
@@ -2433,7 +2428,7 @@ class basic_string
2433
2428
  //!
2434
2429
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2435
2430
  template<template <class, class> class BasicStringView>
2436
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2431
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2437
2432
  size_type rfind(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2438
2433
  { return this->rfind(sv.data(), pos, sv.size()); }
2439
2434
 
@@ -2442,7 +2437,7 @@ class basic_string
2442
2437
  //! <b>Throws</b>: Nothing
2443
2438
  //!
2444
2439
  //! <b>Returns</b>: rfind(basic_string(s, n), pos).
2445
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2440
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2446
2441
  size_type rfind(const CharT* s, size_type pos, size_type n) const
2447
2442
  {
2448
2443
  const size_type len = this->size();
@@ -2452,7 +2447,7 @@ class basic_string
2452
2447
  else if (n == 0)
2453
2448
  return dtl::min_value(len, pos);
2454
2449
  else {
2455
- const const_iterator last = begin() + difference_type(dtl::min_value(len - n, pos + n));
2450
+ const const_iterator last = begin() + difference_type(dtl::min_value(len - n, pos) + n);
2456
2451
  const const_iterator result = boost::container::find_end
2457
2452
  (begin(), last, s, s + difference_type(n), Eq_traits<Traits>());
2458
2453
  return result != last ? size_type(result - begin()) : npos;
@@ -2465,14 +2460,14 @@ class basic_string
2465
2460
  //! <b>Throws</b>: Nothing
2466
2461
  //!
2467
2462
  //! <b>Returns</b>: rfind(basic_string(s), pos).
2468
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2463
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2469
2464
  size_type rfind(const CharT* s, size_type pos = npos) const
2470
2465
  { return this->rfind(s, pos, Traits::length(s)); }
2471
2466
 
2472
2467
  //! <b>Throws</b>: Nothing
2473
2468
  //!
2474
2469
  //! <b>Returns</b>: rfind(basic_string<CharT,traits,allocator_type>(1,c),pos).
2475
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2470
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2476
2471
  size_type rfind(CharT c, size_type pos = npos) const
2477
2472
  {
2478
2473
  const size_type len = this->size();
@@ -2495,7 +2490,7 @@ class basic_string
2495
2490
  //! <b>Throws</b>: Nothing
2496
2491
  //!
2497
2492
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2498
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2493
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2499
2494
  size_type find_first_of(const basic_string& str, size_type pos = 0) const
2500
2495
  { return this->find_first_of(str.c_str(), pos, str.size()); }
2501
2496
 
@@ -2507,7 +2502,7 @@ class basic_string
2507
2502
  //!
2508
2503
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2509
2504
  template<template <class, class> class BasicStringView>
2510
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2505
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2511
2506
  size_type find_first_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2512
2507
  { return this->find_first_of(sv.data(), pos, sv.size()); }
2513
2508
 
@@ -2516,7 +2511,7 @@ class basic_string
2516
2511
  //! <b>Throws</b>: Nothing
2517
2512
  //!
2518
2513
  //! <b>Returns</b>: find_first_of(basic_string(s, n), pos).
2519
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2514
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2520
2515
  size_type find_first_of(const CharT* s, size_type pos, size_type n) const
2521
2516
  {
2522
2517
  const size_type sz = this->size();
@@ -2536,7 +2531,7 @@ class basic_string
2536
2531
  //! <b>Throws</b>: Nothing
2537
2532
  //!
2538
2533
  //! <b>Returns</b>: find_first_of(basic_string(s), pos).
2539
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2534
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2540
2535
  size_type find_first_of(const CharT* s, size_type pos = 0) const
2541
2536
  { return this->find_first_of(s, pos, Traits::length(s)); }
2542
2537
 
@@ -2545,7 +2540,7 @@ class basic_string
2545
2540
  //! <b>Throws</b>: Nothing
2546
2541
  //!
2547
2542
  //! <b>Returns</b>: find_first_of(basic_string<CharT,traits,allocator_type>(1,c), pos).
2548
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2543
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2549
2544
  size_type find_first_of(CharT c, size_type pos = 0) const
2550
2545
  { return this->find(c, pos); }
2551
2546
 
@@ -2556,7 +2551,7 @@ class basic_string
2556
2551
  //! <b>Throws</b>: Nothing
2557
2552
  //!
2558
2553
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2559
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2554
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2560
2555
  size_type find_last_of(const basic_string& str, size_type pos = npos) const
2561
2556
  { return this->find_last_of(str.c_str(), pos, str.size()); }
2562
2557
 
@@ -2568,7 +2563,7 @@ class basic_string
2568
2563
  //!
2569
2564
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2570
2565
  template<template <class, class> class BasicStringView>
2571
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2566
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2572
2567
  size_type find_last_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2573
2568
  { return this->find_last_of(sv.data(), pos, sv.size()); }
2574
2569
 
@@ -2577,7 +2572,7 @@ class basic_string
2577
2572
  //! <b>Throws</b>: Nothing
2578
2573
  //!
2579
2574
  //! <b>Returns</b>: find_last_of(basic_string(s, n), pos).
2580
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2575
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2581
2576
  size_type find_last_of(const CharT* s, size_type pos, size_type n) const
2582
2577
  {
2583
2578
  const size_type len = this->size();
@@ -2599,14 +2594,14 @@ class basic_string
2599
2594
  //! <b>Throws</b>: Nothing
2600
2595
  //!
2601
2596
  //! <b>Returns</b>: find_last_of(basic_string<CharT,traits,allocator_type>(1,c),pos).
2602
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2597
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2603
2598
  size_type find_last_of(const CharT* s, size_type pos = npos) const
2604
2599
  { return this->find_last_of(s, pos, Traits::length(s)); }
2605
2600
 
2606
2601
  //! <b>Throws</b>: Nothing
2607
2602
  //!
2608
2603
  //! <b>Returns</b>: find_last_of(basic_string(s), pos).
2609
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2604
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2610
2605
  size_type find_last_of(CharT c, size_type pos = npos) const
2611
2606
  { return this->rfind(c, pos); }
2612
2607
 
@@ -2618,7 +2613,7 @@ class basic_string
2618
2613
  //! <b>Throws</b>: Nothing
2619
2614
  //!
2620
2615
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2621
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2616
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2622
2617
  size_type find_first_not_of(const basic_string& str, size_type pos = 0) const
2623
2618
  { return this->find_first_not_of(str.c_str(), pos, str.size()); }
2624
2619
 
@@ -2631,7 +2626,7 @@ class basic_string
2631
2626
  //!
2632
2627
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2633
2628
  template<template <class, class> class BasicStringView>
2634
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2629
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2635
2630
  size_type find_first_not_of(BasicStringView<CharT, Traits> sv, size_type pos = 0) const
2636
2631
  { return this->find_first_not_of(sv.data(), pos, sv.size()); }
2637
2632
 
@@ -2640,7 +2635,7 @@ class basic_string
2640
2635
  //! <b>Throws</b>: Nothing
2641
2636
  //!
2642
2637
  //! <b>Returns</b>: find_first_not_of(basic_string(s, n), pos).
2643
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2638
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2644
2639
  size_type find_first_not_of(const CharT* s, size_type pos, size_type n) const
2645
2640
  {
2646
2641
  if (pos > this->size())
@@ -2659,14 +2654,14 @@ class basic_string
2659
2654
  //! <b>Throws</b>: Nothing
2660
2655
  //!
2661
2656
  //! <b>Returns</b>: find_first_not_of(basic_string(s), pos).
2662
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2657
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2663
2658
  size_type find_first_not_of(const CharT* s, size_type pos = 0) const
2664
2659
  { return this->find_first_not_of(s, pos, Traits::length(s)); }
2665
2660
 
2666
2661
  //! <b>Throws</b>: Nothing
2667
2662
  //!
2668
2663
  //! <b>Returns</b>: find_first_not_of(basic_string(1, c), pos).
2669
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2664
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2670
2665
  size_type find_first_not_of(CharT c, size_type pos = 0) const
2671
2666
  {
2672
2667
  if (pos > this->size())
@@ -2688,7 +2683,7 @@ class basic_string
2688
2683
  //! <b>Throws</b>: Nothing
2689
2684
  //!
2690
2685
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2691
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2686
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2692
2687
  size_type find_last_not_of(const basic_string& str, size_type pos = npos) const
2693
2688
  { return this->find_last_not_of(str.c_str(), pos, str.size()); }
2694
2689
 
@@ -2700,7 +2695,7 @@ class basic_string
2700
2695
  //!
2701
2696
  //! <b>Returns</b>: xpos if the function can determine such a value for xpos. Otherwise, returns npos.
2702
2697
  template<template <class, class> class BasicStringView>
2703
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2698
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2704
2699
  size_type find_last_not_of(BasicStringView<CharT, Traits> sv, size_type pos = npos) const
2705
2700
  { return this->find_last_not_of(sv.data(), pos, sv.size()); }
2706
2701
 
@@ -2709,7 +2704,7 @@ class basic_string
2709
2704
  //! <b>Throws</b>: Nothing
2710
2705
  //!
2711
2706
  //! <b>Returns</b>: find_last_not_of(basic_string(s, n), pos).
2712
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2707
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2713
2708
  size_type find_last_not_of(const CharT* s, size_type pos, size_type n) const
2714
2709
  {
2715
2710
  const size_type len = this->size();
@@ -2730,14 +2725,14 @@ class basic_string
2730
2725
  //! <b>Throws</b>: Nothing
2731
2726
  //!
2732
2727
  //! <b>Returns</b>: find_last_not_of(basic_string(s), pos).
2733
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2728
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2734
2729
  size_type find_last_not_of(const CharT* s, size_type pos = npos) const
2735
2730
  { return this->find_last_not_of(s, pos, Traits::length(s)); }
2736
2731
 
2737
2732
  //! <b>Throws</b>: Nothing
2738
2733
  //!
2739
2734
  //! <b>Returns</b>: find_last_not_of(basic_string(1, c), pos).
2740
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2735
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2741
2736
  size_type find_last_not_of(CharT c, size_type pos = npos) const
2742
2737
  {
2743
2738
  const size_type len = this->size();
@@ -2761,7 +2756,7 @@ class basic_string
2761
2756
  //! <b>Throws</b>: If memory allocation throws or out_of_range if pos > size().
2762
2757
  //!
2763
2758
  //! <b>Returns</b>: basic_string<CharT,traits,allocator_type>(data()+pos,rlen).
2764
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2759
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2765
2760
  basic_string substr(size_type pos = 0, size_type n = npos) const
2766
2761
  {
2767
2762
  if (pos > this->size())
@@ -2780,7 +2775,7 @@ class basic_string
2780
2775
  //! <b>Returns</b>: The nonzero result if the result of the comparison is nonzero.
2781
2776
  //! Otherwise, returns a value < 0 if size() < str.size(), a 0 value if size() == str.size(),
2782
2777
  //! and value > 0 if size() > str.size()
2783
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2778
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2784
2779
  int compare(const basic_string& str) const
2785
2780
  {
2786
2781
  const pointer addr = this->priv_addr();
@@ -2792,7 +2787,7 @@ class basic_string
2792
2787
  //!
2793
2788
  //! <b>Returns</b>: compare(basic_string(sv)).
2794
2789
  template<template <class, class> class BasicStringView>
2795
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2790
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2796
2791
  int compare(BasicStringView<CharT,Traits> sv) const
2797
2792
  {
2798
2793
  const pointer addr = this->priv_addr();
@@ -2808,7 +2803,7 @@ class basic_string
2808
2803
  //! <b>Throws</b>: out_of_range if pos1 > size()
2809
2804
  //!
2810
2805
  //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(str).
2811
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2806
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2812
2807
  int compare(size_type pos1, size_type n1, const basic_string& str) const
2813
2808
  {
2814
2809
  if (pos1 > this->size())
@@ -2826,7 +2821,7 @@ class basic_string
2826
2821
  //!
2827
2822
  //! <b>Returns</b>:basic_string(*this,pos1,n1).compare(sv).
2828
2823
  template<template <class, class> class BasicStringView>
2829
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2824
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2830
2825
  int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv) const
2831
2826
  {
2832
2827
  if (pos1 > this->size())
@@ -2845,7 +2840,7 @@ class basic_string
2845
2840
  //! <b>Throws</b>: out_of_range if pos1 > size() or pos2 > str.size()
2846
2841
  //!
2847
2842
  //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(basic_string(str, pos2, n2)).
2848
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2843
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2849
2844
  int compare(size_type pos1, size_type n1, const basic_string& str, size_type pos2, size_type n2 = npos) const
2850
2845
  {
2851
2846
  if (pos1 > this->size() || pos2 > str.size())
@@ -2865,7 +2860,7 @@ class basic_string
2865
2860
  //!
2866
2861
  //! <b>Returns</b>: basic_string(*this, pos1, n1).compare(BasicStringView<CharT, Traits>(sv, pos2, n2)).
2867
2862
  template<template <class, class> class BasicStringView>
2868
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2863
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2869
2864
  int compare(size_type pos1, size_type n1, BasicStringView<CharT,Traits> sv, size_type pos2, size_type n2) const
2870
2865
  {
2871
2866
  if (pos1 > this->size() || pos2 > sv.size())
@@ -2879,7 +2874,7 @@ class basic_string
2879
2874
  //! <b>Throws</b>: Nothing
2880
2875
  //!
2881
2876
  //! <b>Returns</b>: compare(basic_string(s)).
2882
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2877
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2883
2878
  int compare(const CharT* s) const
2884
2879
  {
2885
2880
  const pointer addr = this->priv_addr();
@@ -2891,7 +2886,7 @@ class basic_string
2891
2886
  //! <b>Throws</b>: out_of_range if pos1 > size()
2892
2887
  //!
2893
2888
  //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
2894
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2889
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2895
2890
  int compare(size_type pos1, size_type n1, const CharT* s, size_type n2) const
2896
2891
  {
2897
2892
  if (pos1 > this->size())
@@ -2907,37 +2902,42 @@ class basic_string
2907
2902
  //! <b>Throws</b>: out_of_range if pos1 > size()
2908
2903
  //!
2909
2904
  //! <b>Returns</b>: basic_string(*this, pos, n1).compare(basic_string(s, n2)).
2910
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2905
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2911
2906
  int compare(size_type pos1, size_type n1, const CharT* s) const
2912
2907
  { return this->compare(pos1, n1, s, Traits::length(s)); }
2913
2908
 
2914
2909
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
2915
2910
  private:
2916
- void priv_reserve(size_type res_arg, const bool null_terminate = true)
2911
+ bool priv_reserve_no_null_end(size_type res_arg)
2917
2912
  {
2918
2913
  if (res_arg > this->max_size()){
2919
2914
  throw_length_error("basic_string::reserve max_size() exceeded");
2920
2915
  }
2921
2916
 
2922
- if (this->capacity() < res_arg){
2923
- size_type n = dtl::max_value(res_arg, this->size()) + 1;
2917
+ const bool do_alloc = this->capacity() < res_arg;
2918
+ if (do_alloc){
2919
+ //size_type n = dtl::max_value(res_arg, this->size()) + 1;
2920
+ size_type n = res_arg + 1;
2924
2921
  size_type new_cap = this->next_capacity(n);
2925
2922
  pointer reuse = 0;
2926
2923
  pointer new_start = this->allocation_command(allocate_new, n, new_cap, reuse);
2927
- size_type new_length = 0;
2928
2924
 
2929
2925
  const pointer addr = this->priv_addr();
2930
- new_length += priv_uninitialized_copy
2926
+ size_type new_length = priv_uninitialized_copy
2931
2927
  (addr, addr + difference_type(this->priv_size()), new_start);
2932
- if(null_terminate){
2933
- this->priv_construct_null(new_start + difference_type(new_length));
2934
- }
2935
2928
  this->deallocate_block();
2936
2929
  this->assure_long();
2937
2930
  this->priv_long_addr(new_start);
2938
2931
  this->priv_long_size(new_length);
2939
2932
  this->priv_storage(new_cap);
2940
2933
  }
2934
+ return do_alloc;
2935
+ }
2936
+
2937
+ void priv_reserve(size_type res_arg)
2938
+ {
2939
+ if(this->priv_reserve_no_null_end(res_arg))
2940
+ this->priv_terminate_string();
2941
2941
  }
2942
2942
 
2943
2943
  template<class It1, class It2>
@@ -2962,7 +2962,7 @@ class basic_string
2962
2962
  const size_type long_size = this->priv_long_size();
2963
2963
  const size_type long_storage = this->priv_long_storage();
2964
2964
  //We can make this nothrow as chars are always NoThrowCopyables
2965
- BOOST_TRY{
2965
+ BOOST_CONTAINER_TRY{
2966
2966
  pointer reuse = 0;
2967
2967
  real_cap = long_size+1;
2968
2968
  const pointer ret = this->allocation_command(allocate_new, long_size+1, real_cap, reuse);
@@ -2975,10 +2975,10 @@ class basic_string
2975
2975
  //And release old buffer
2976
2976
  this->alloc().deallocate(long_addr, long_storage);
2977
2977
  }
2978
- BOOST_CATCH(...){
2978
+ BOOST_CONTAINER_CATCH(...){
2979
2979
  return;
2980
2980
  }
2981
- BOOST_CATCH_END
2981
+ BOOST_CONTAINER_CATCH_END
2982
2982
  }
2983
2983
 
2984
2984
  template<class AllocVersion>
@@ -2994,58 +2994,24 @@ class basic_string
2994
2994
  }
2995
2995
  }
2996
2996
 
2997
- BOOST_CONTAINER_FORCEINLINE void priv_construct_null(pointer p)
2998
- { this->construct(p, CharT(0)); }
2997
+ inline void priv_construct_null(pointer p)
2998
+ { traits_type::assign(*p, CharT()); }
2999
2999
 
3000
3000
  // Helper functions used by constructors. It is a severe error for
3001
3001
  // any of them to be called anywhere except from within constructors.
3002
- BOOST_CONTAINER_FORCEINLINE void priv_terminate_string()
3002
+ inline void priv_terminate_string()
3003
3003
  { this->priv_construct_null(this->priv_end_addr()); }
3004
3004
 
3005
- template<class FwdIt, class Count> inline
3006
- void priv_uninitialized_fill_n(FwdIt first, Count count, const CharT val)
3007
- {
3008
- //Save initial position
3009
- FwdIt init = first;
3010
-
3011
- BOOST_TRY{
3012
- //Construct objects
3013
- for (; count--; ++first){
3014
- this->construct(first, val);
3015
- }
3016
- }
3017
- BOOST_CATCH(...){
3018
- //Call destructors
3019
- for (; init != first; ++init){
3020
- this->destroy(init);
3021
- }
3022
- BOOST_RETHROW
3023
- }
3024
- BOOST_CATCH_END
3025
- }
3026
-
3027
3005
  template<class InpIt, class FwdIt> inline
3028
3006
  size_type priv_uninitialized_copy(InpIt first, InpIt last, FwdIt dest)
3029
3007
  {
3030
3008
  //Save initial destination position
3031
- FwdIt dest_init = dest;
3032
3009
  size_type constructed = 0;
3033
3010
 
3034
- BOOST_TRY{
3035
- //Try to build objects
3036
- for (; first != last; ++dest, ++first, ++constructed){
3037
- this->construct(dest, *first);
3038
- }
3011
+ for (; first != last; ++dest, ++first, ++constructed){
3012
+ traits_type::assign(*dest, *first);
3039
3013
  }
3040
- BOOST_CATCH(...){
3041
- //Call destructors
3042
- for (; constructed--; ++dest_init){
3043
- this->destroy(dest_init);
3044
- }
3045
- BOOST_RETHROW
3046
- }
3047
- BOOST_CATCH_END
3048
- return (constructed);
3014
+ return constructed;
3049
3015
  }
3050
3016
 
3051
3017
  template <class InputIterator, class OutIterator>
@@ -3055,17 +3021,17 @@ class basic_string
3055
3021
  Traits::assign(*result, *first);
3056
3022
  }
3057
3023
 
3058
- static BOOST_CONTAINER_FORCEINLINE void priv_copy(const CharT* first, const CharT* last, CharT* result)
3024
+ static inline void priv_copy(const CharT* first, const CharT* last, CharT* result)
3059
3025
  { Traits::copy(result, first, std::size_t(last - first)); }
3060
3026
 
3061
3027
  template <class Integer>
3062
- BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3028
+ inline basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3063
3029
  Integer n, Integer x,
3064
3030
  dtl::true_)
3065
3031
  { return this->replace(first, last, (size_type) n, (CharT) x); }
3066
3032
 
3067
3033
  template <class InputIter>
3068
- BOOST_CONTAINER_FORCEINLINE basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3034
+ inline basic_string& priv_replace_dispatch(const_iterator first, const_iterator last,
3069
3035
  InputIter f, InputIter l,
3070
3036
  dtl::false_)
3071
3037
  {
@@ -3589,6 +3555,11 @@ inline std::size_t hash_value(basic_string<Ch, std::char_traits<Ch>, Allocator>
3589
3555
 
3590
3556
  }}
3591
3557
 
3558
+ //GCC 12 has a regression for array-bounds warnings
3559
+ #if defined(BOOST_GCC) && (BOOST_GCC >= 120000) && (BOOST_GCC < 130000)
3560
+ #pragma GCC diagnostic pop
3561
+ #endif
3562
+
3592
3563
 
3593
3564
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3594
3565