passenger 6.0.20 → 6.0.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1171) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +47 -1
  3. data/CONTRIBUTORS +2 -0
  4. data/README.md +2 -2
  5. data/bin/passenger-install-nginx-module +4 -4
  6. data/build/support/cxx_dependency_map.rb +155 -54
  7. data/dev/copy_boost_headers +21 -7
  8. data/dev/nginx_version_sha256 +72 -0
  9. data/src/agent/AgentMain.cpp +2 -8
  10. data/src/agent/Core/AdminPanelConnector.h +2 -3
  11. data/src/agent/Core/ApiServer.h +1 -1
  12. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
  13. data/src/agent/Core/Config.h +6 -3
  14. data/src/agent/Core/Controller/AppResponse.h +0 -1
  15. data/src/agent/Core/Controller/Config.h +2 -2
  16. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  17. data/src/agent/Core/CoreMain.cpp +1 -0
  18. data/src/agent/Core/ResponseCache.h +3 -2
  19. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  20. data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
  21. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  22. data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
  23. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
  24. data/src/agent/MainFunctions.h +38 -0
  25. data/src/agent/Shared/ApiServerUtils.h +3 -2
  26. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  27. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
  28. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
  29. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
  30. data/src/agent/Watchdog/ApiServer.h +1 -1
  31. data/src/agent/Watchdog/Config.h +1 -1
  32. data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
  33. data/src/apache2_module/Hooks.cpp +26 -1
  34. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  35. data/src/cxx_supportlib/Constants.h +1 -1
  36. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  37. data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
  38. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
  39. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  40. data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
  41. data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
  42. data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
  43. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
  44. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
  45. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
  46. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  47. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  48. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  49. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
  50. data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
  51. data/src/cxx_supportlib/ServerKit/Context.h +6 -0
  52. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  53. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +96 -64
  54. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
  55. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  56. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  57. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  58. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  59. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  60. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  61. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  62. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  63. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  64. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  65. data/src/cxx_supportlib/StaticString.h +3 -1
  66. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  67. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
  68. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
  69. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  70. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
  71. data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
  72. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
  73. data/src/cxx_supportlib/Utils.cpp +1 -1
  74. data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
  75. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +61 -62
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +28 -46
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +42 -59
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +154 -883
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +19 -22
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +106 -153
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +75 -294
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +75 -283
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +89 -288
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +73 -275
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +170 -328
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +26 -39
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +32 -48
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +26 -39
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +53 -272
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +22 -26
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +188 -275
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +2 -3
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +91 -975
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +4 -4
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +4 -4
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +5 -6
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +73 -127
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +32 -11
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +2 -2
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +56 -101
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +56 -92
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +56 -101
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +3 -3
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +3 -3
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +9 -9
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +3 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +3 -3
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +3 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +7 -12
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +3 -4
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +3 -3
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +4 -4
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +3 -3
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +3 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +3 -4
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +12 -44
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +9 -9
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +4 -5
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +11 -16
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +4 -5
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +4 -5
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +4 -5
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +4 -5
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +4 -5
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +4 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +11 -13
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +15 -15
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +4 -5
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +3 -4
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +3 -4
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +2 -2
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +21 -26
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +229 -1019
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +55 -33
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +55 -33
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +2 -2
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +20 -20
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +130 -53
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +92 -9
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +15 -8
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +73 -25
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +12 -12
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +48 -48
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +39 -30
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +16 -17
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +14 -14
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +3 -2
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +2 -2
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +14 -20
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +11 -11
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +62 -137
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +22 -21
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +44 -36
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +32 -41
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +36 -420
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +205 -421
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +1 -1
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +77 -423
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +25 -34
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +4 -4
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +4 -4
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +21 -26
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +10 -21
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +1 -27
  618. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +4 -2
  619. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -3
  620. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
  621. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +1 -1
  622. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
  623. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
  624. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
  625. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  626. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
  627. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
  628. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -61
  633. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +229 -1740
  634. data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
  635. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  636. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  637. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  638. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  639. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +138 -289
  640. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
  641. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -280
  642. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -7
  643. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  644. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +1 -1
  645. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +1 -0
  646. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
  647. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
  648. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  649. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
  650. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  651. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
  652. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  653. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +3 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +4 -0
  656. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
  657. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +4 -0
  658. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +3 -1
  659. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +3 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +3 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -2
  662. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +4 -0
  663. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +3 -0
  664. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +3 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  668. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +3 -0
  669. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +7 -0
  670. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  671. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  672. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
  673. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +40 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
  675. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
  676. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
  677. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +112 -112
  678. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +40 -40
  679. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  680. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +10 -10
  681. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
  682. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +30 -25
  683. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
  684. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +6 -6
  685. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +129 -129
  686. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
  687. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
  688. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
  689. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +32 -32
  690. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +6 -6
  691. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
  692. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  693. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +77 -77
  694. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  695. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +44 -1
  696. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +78 -78
  697. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -231
  698. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +85 -85
  699. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
  700. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -109
  701. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
  702. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
  703. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +18 -8
  704. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
  705. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  706. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -80
  707. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
  708. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -24
  709. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +115 -109
  710. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +101 -101
  711. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
  712. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +150 -190
  713. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +165 -165
  714. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
  716. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +84 -86
  717. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +5 -99
  718. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +20 -20
  719. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +25 -126
  720. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -21
  721. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
  722. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -41
  723. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +4 -10
  724. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
  725. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +20 -6
  726. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +19 -1
  727. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +9 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +1 -1
  729. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +1 -1
  730. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
  731. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  732. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +17 -3
  734. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +6 -55
  736. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
  737. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  738. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
  739. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
  740. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
  741. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +2 -2
  742. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
  743. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
  744. data/src/cxx_supportlib/vendor-modified/boost/{ratio → exception}/detail/requires_cxx11.hpp +7 -5
  745. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
  746. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +1 -1
  747. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
  748. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
  749. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
  750. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +1 -1
  751. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
  752. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  753. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  754. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  755. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  756. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  757. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  758. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  759. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  760. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  762. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  763. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +21 -166
  764. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  765. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +267 -418
  766. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  767. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -63
  768. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
  769. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
  770. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
  771. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
  772. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
  773. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
  774. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
  775. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +2 -2
  776. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
  777. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
  778. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  779. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  780. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
  781. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  782. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
  783. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  784. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  785. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
  786. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  787. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
  789. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -21
  790. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  791. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
  792. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  793. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
  794. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
  795. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
  796. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  797. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  798. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  799. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -21
  800. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  801. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
  802. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
  803. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +32 -1
  804. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
  805. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
  806. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +56 -57
  807. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  809. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
  811. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
  812. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
  813. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
  814. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
  815. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +60 -61
  816. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
  817. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
  818. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
  819. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
  820. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
  821. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
  822. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
  823. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
  824. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
  825. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  826. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
  827. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +611 -633
  828. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
  829. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
  830. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
  831. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  832. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  833. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
  834. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
  835. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
  836. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -30
  837. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  838. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  839. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  840. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
  841. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  842. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +1 -0
  843. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +1 -0
  844. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +5 -19
  845. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +10 -10
  846. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +1 -1
  847. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +15 -15
  848. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +10 -10
  849. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  851. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
  852. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  853. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
  854. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  855. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +67 -17
  856. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +5 -2
  857. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
  858. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +48 -48
  859. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +59 -0
  860. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
  861. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +3 -1
  862. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
  863. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +9 -0
  864. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +9 -0
  865. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  866. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
  867. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +2 -1
  868. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  869. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +2 -2
  870. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  871. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  872. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  873. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
  875. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  876. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
  877. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
  878. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  879. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
  880. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
  881. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  882. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -87
  883. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  884. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  885. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  886. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  887. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  888. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  889. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  890. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +1 -1
  891. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +0 -11
  892. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  893. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +0 -11
  894. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +1 -8
  895. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
  896. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -57
  897. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -29
  898. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +51 -124
  899. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
  900. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
  901. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
  902. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
  903. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
  904. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +8 -1
  905. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
  906. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +5 -9
  907. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
  908. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
  909. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
  910. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
  911. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  913. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  914. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  915. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  916. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  917. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  918. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  919. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  920. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  921. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  922. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  923. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  924. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
  925. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  926. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  927. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
  928. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  929. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
  931. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
  932. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
  933. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  934. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
  935. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  937. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  938. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  939. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
  940. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  941. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  942. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  943. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  944. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +2 -54
  945. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  946. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  947. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  948. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  949. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  950. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  951. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +2 -12
  952. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  953. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  954. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  955. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  956. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  957. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  958. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  959. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  960. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  961. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  962. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -203
  963. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +145 -103
  964. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +1 -4
  965. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
  966. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  971. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
  972. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +531 -91
  973. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +346 -194
  974. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +10 -6
  975. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +13 -0
  976. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +2 -8
  977. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +22 -15
  978. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +10 -13
  979. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +150 -55
  981. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +346 -1039
  982. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
  983. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +8 -8
  984. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  985. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +95 -144
  986. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  987. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  988. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  991. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +123 -19
  993. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
  994. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +65 -46
  995. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -5
  996. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +41 -23
  997. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -5
  998. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +324 -997
  999. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -12
  1000. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +57 -46
  1001. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +1 -5
  1002. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +35 -24
  1003. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +1 -5
  1004. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +229 -629
  1005. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -13
  1006. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  1007. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
  1008. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1009. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  1010. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
  1011. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
  1012. data/src/helper-scripts/wsgi-loader.py +2 -2
  1013. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  1014. data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
  1015. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  1016. data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
  1017. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +3 -7
  1018. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
  1019. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
  1020. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
  1021. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
  1022. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  1023. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
  1024. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
  1025. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  1026. metadata +50 -149
  1027. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2575
  1028. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -452
  1029. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
  1030. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -91
  1031. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  1032. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  1033. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  1034. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  1035. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
  1036. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  1037. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  1038. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  1039. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
  1040. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
  1041. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
  1042. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
  1043. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
  1044. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
  1045. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
  1046. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
  1047. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
  1048. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
  1049. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
  1050. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
  1051. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
  1052. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
  1053. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
  1054. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
  1055. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
  1056. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
  1057. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
  1058. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
  1059. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
  1060. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
  1061. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
  1062. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
  1063. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
  1064. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
  1065. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
  1066. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
  1067. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
  1068. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
  1069. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
  1070. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
  1071. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
  1072. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
  1073. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
  1074. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
  1075. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
  1076. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
  1077. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
  1078. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
  1079. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
  1080. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
  1081. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
  1082. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
  1083. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
  1084. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
  1085. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
  1086. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
  1087. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
  1088. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
  1089. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
  1090. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
  1091. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
  1092. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
  1093. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
  1094. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
  1095. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  1096. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  1097. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  1098. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/is_same.hpp +0 -36
  1099. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/requires_cxx11.hpp +0 -22
  1100. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  1101. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  1102. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  1103. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -476
  1104. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
  1105. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/requires_cxx11.hpp +0 -22
  1106. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_win32_sleep.hpp +0 -54
  1107. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1108. data/src/cxx_supportlib/vendor-modified/boost/function/detail/epilogue.hpp +0 -39
  1109. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  1110. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  1111. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  1112. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -27
  1113. data/src/cxx_supportlib/vendor-modified/boost/function/detail/requires_cxx11.hpp +0 -22
  1114. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  1115. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  1116. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  1117. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  1118. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  1119. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  1120. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  1121. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  1122. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  1123. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  1124. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  1125. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  1126. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  1127. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  1128. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  1129. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  1130. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  1131. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  1132. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  1133. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  1134. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  1135. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  1136. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  1137. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  1138. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  1139. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  1140. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  1141. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  1142. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  1143. data/src/cxx_supportlib/vendor-modified/boost/system/detail/requires_cxx11.hpp +0 -21
  1144. data/src/cxx_supportlib/vendor-modified/boost/typeof/detail/requires_cxx11.hpp +0 -18
  1145. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  1146. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
  1147. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  1148. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  1149. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  1150. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  1151. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  1152. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  1153. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  1154. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  1155. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  1156. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  1157. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  1158. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  1159. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  1160. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  1161. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  1162. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
  1163. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  1164. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  1165. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  1166. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  1167. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  1168. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  1169. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -150
  1170. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/requires_cxx11.hpp +0 -21
  1171. /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
@@ -32,6 +32,8 @@
32
32
  #include <boost/intrusive/detail/config_begin.hpp>
33
33
  #include <boost/intrusive/intrusive_fwd.hpp>
34
34
 
35
+ #include <boost/move/detail/meta_utils_core.hpp>
36
+
35
37
  //General intrusive utilities
36
38
  #include <boost/intrusive/detail/hashtable_node.hpp>
37
39
  #include <boost/intrusive/detail/transform_iterator.hpp>
@@ -57,9 +59,7 @@
57
59
  #include <boost/intrusive/linear_slist_algorithms.hpp>
58
60
 
59
61
  //boost
60
- #include <boost/container_hash/hash.hpp>
61
62
  #include <boost/intrusive/detail/assert.hpp>
62
- #include <boost/static_assert.hpp>
63
63
  #include <boost/move/utility_core.hpp>
64
64
  #include <boost/move/adl_move_swap.hpp>
65
65
  #include <boost/move/algo/detail/search.hpp>
@@ -69,6 +69,9 @@
69
69
  #include <cstddef> //std::size_t
70
70
  #include <boost/cstdint.hpp> //std::uint64_t
71
71
 
72
+
73
+ #include "detail/hash.hpp"
74
+
72
75
  #if defined(BOOST_HAS_PRAGMA_ONCE)
73
76
  # pragma once
74
77
  #endif
@@ -79,8 +82,10 @@
79
82
 
80
83
 
81
84
  namespace boost {
85
+
82
86
  namespace intrusive {
83
87
 
88
+
84
89
  #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
85
90
 
86
91
  /// @cond
@@ -100,11 +105,11 @@ struct prime_list_holder
100
105
  private:
101
106
 
102
107
  template <class SizeType> // sizeof(SizeType) < sizeof(std::size_t)
103
- static BOOST_INTRUSIVE_FORCEINLINE SizeType truncate_size_type(std::size_t n, detail::true_)
108
+ static inline SizeType truncate_size_type(std::size_t n, detail::true_)
104
109
  { return n < std::size_t(SizeType(-1)) ? static_cast<SizeType>(n) : SizeType(-1); }
105
110
 
106
111
  template <class SizeType> // sizeof(SizeType) == sizeof(std::size_t)
107
- static BOOST_INTRUSIVE_FORCEINLINE SizeType truncate_size_type(std::size_t n, detail::false_)
112
+ static inline SizeType truncate_size_type(std::size_t n, detail::false_)
108
113
  { return static_cast<SizeType>(n); }
109
114
 
110
115
  static const std::size_t prime_list[];
@@ -139,30 +144,30 @@ struct prime_list_holder
139
144
  public:
140
145
 
141
146
  template <class SizeType>
142
- static BOOST_INTRUSIVE_FORCEINLINE SizeType suggested_upper_bucket_count(SizeType n)
147
+ static inline SizeType suggested_upper_bucket_count(SizeType n)
143
148
  {
144
149
  std::size_t const c = suggested_upper_bucket_count_impl(static_cast<std::size_t>(n));
145
150
  return truncate_size_type<SizeType>(c, detail::bool_<(sizeof(SizeType) < sizeof(std::size_t))>());
146
151
  }
147
152
 
148
153
  template <class SizeType>
149
- static BOOST_INTRUSIVE_FORCEINLINE SizeType suggested_lower_bucket_count(SizeType n)
154
+ static inline SizeType suggested_lower_bucket_count(SizeType n)
150
155
  {
151
156
  std::size_t const c = suggested_lower_bucket_count_impl(static_cast<std::size_t>(n));
152
157
  return truncate_size_type<SizeType>(c, detail::bool_<(sizeof(SizeType) < sizeof(std::size_t))>());
153
158
  }
154
159
 
155
- static BOOST_INTRUSIVE_FORCEINLINE std::size_t suggested_lower_bucket_count_idx(std::size_t n)
160
+ static inline std::size_t suggested_lower_bucket_count_idx(std::size_t n)
156
161
  { return static_cast<std::size_t>(suggested_lower_bucket_count_ptr(n) - &prime_list[0]); }
157
162
 
158
- static BOOST_INTRUSIVE_FORCEINLINE std::size_t suggested_upper_bucket_count_idx(std::size_t n)
163
+ static inline std::size_t suggested_upper_bucket_count_idx(std::size_t n)
159
164
  { return static_cast<std::size_t>(suggested_upper_bucket_count_ptr(n) - &prime_list[0]); }
160
165
 
161
- static BOOST_INTRUSIVE_FORCEINLINE std::size_t size_from_index(std::size_t n)
166
+ static inline std::size_t size_from_index(std::size_t n)
162
167
  { return prime_list[std::ptrdiff_t(n)]; }
163
168
 
164
169
  template<std::size_t SizeIndex>
165
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t modfunc(std::size_t hash) { return hash % SizeIndex; }
170
+ inline static std::size_t modfunc(std::size_t hash) { return hash % SizeIndex; }
166
171
 
167
172
  static std::size_t(*const positions[])(std::size_t);
168
173
 
@@ -171,19 +176,19 @@ struct prime_list_holder
171
176
  static const std::size_t inv_sizes32_size;
172
177
  #endif
173
178
 
174
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t lower_size_index(std::size_t n)
179
+ inline static std::size_t lower_size_index(std::size_t n)
175
180
  { return prime_list_holder<>::suggested_lower_bucket_count_idx(n); }
176
181
 
177
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t upper_size_index(std::size_t n)
182
+ inline static std::size_t upper_size_index(std::size_t n)
178
183
  { return prime_list_holder<>::suggested_upper_bucket_count_idx(n); }
179
184
 
180
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t size(std::size_t size_index)
185
+ inline static std::size_t size(std::size_t size_index)
181
186
  { return prime_list_holder<>::size_from_index(size_index); }
182
187
 
183
188
  #if BOOST_INTRUSIVE_64_BIT_SIZE_T
184
189
  // https://github.com/lemire/fastmod
185
190
 
186
- BOOST_INTRUSIVE_FORCEINLINE static uint64_t mul128_u32(uint64_t lowbits, uint32_t d)
191
+ inline static uint64_t mul128_u32(uint64_t lowbits, uint32_t d)
187
192
  {
188
193
  #if defined(_MSC_VER)
189
194
  return __umulh(lowbits, d);
@@ -197,14 +202,14 @@ struct prime_list_holder
197
202
  #endif
198
203
  }
199
204
 
200
- BOOST_INTRUSIVE_FORCEINLINE static uint32_t fastmod_u32(uint32_t a, uint64_t M, uint32_t d)
205
+ inline static uint32_t fastmod_u32(uint32_t a, uint64_t M, uint32_t d)
201
206
  {
202
207
  uint64_t lowbits = M * a;
203
208
  return (uint32_t)(mul128_u32(lowbits, d));
204
209
  }
205
210
  #endif // BOOST_INTRUSIVE_64_BIT_SIZE_T
206
211
 
207
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t position(std::size_t hash,std::size_t size_index)
212
+ inline static std::size_t position(std::size_t hash,std::size_t size_index)
208
213
  {
209
214
  #if BOOST_INTRUSIVE_64_BIT_SIZE_T
210
215
  BOOST_CONSTEXPR_OR_CONST std::size_t sizes_under_32bit = sizeof(inv_sizes32)/sizeof(inv_sizes32[0]);
@@ -453,7 +458,7 @@ class exception_bucket_disposer
453
458
  : cont_(&cont), disp_(disp), constructed_(constructed)
454
459
  {}
455
460
 
456
- BOOST_INTRUSIVE_FORCEINLINE void release()
461
+ inline void release()
457
462
  { cont_ = 0; }
458
463
 
459
464
  ~exception_bucket_disposer()
@@ -502,37 +507,37 @@ public:
502
507
 
503
508
  /// @endcond
504
509
 
505
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits_impl(bucket_ptr buckets, size_type len)
510
+ inline bucket_traits_impl(bucket_ptr buckets, size_type len)
506
511
  : buckets_(buckets), buckets_len_(len)
507
512
  {}
508
513
 
509
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits_impl(const bucket_traits_impl& x)
514
+ inline bucket_traits_impl(const bucket_traits_impl& x)
510
515
  : buckets_(x.buckets_), buckets_len_(x.buckets_len_)
511
516
  {}
512
517
 
513
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits_impl(BOOST_RV_REF(bucket_traits_impl) x)
518
+ inline bucket_traits_impl(BOOST_RV_REF(bucket_traits_impl) x)
514
519
  : buckets_(x.buckets_), buckets_len_(x.buckets_len_)
515
520
  {
516
521
  x.buckets_ = bucket_ptr(); x.buckets_len_ = 0u;
517
522
  }
518
523
 
519
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits_impl& operator=(BOOST_RV_REF(bucket_traits_impl) x)
524
+ inline bucket_traits_impl& operator=(BOOST_RV_REF(bucket_traits_impl) x)
520
525
  {
521
526
  buckets_ = x.buckets_; buckets_len_ = x.buckets_len_;
522
527
  x.buckets_ = bucket_ptr(); x.buckets_len_ = 0u; return *this;
523
528
  }
524
529
 
525
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits_impl& operator=(BOOST_COPY_ASSIGN_REF(bucket_traits_impl) x)
530
+ inline bucket_traits_impl& operator=(BOOST_COPY_ASSIGN_REF(bucket_traits_impl) x)
526
531
  {
527
532
  buckets_ = x.buckets_; buckets_len_ = x.buckets_len_; return *this;
528
533
  }
529
534
 
530
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr bucket_begin() const
535
+ inline bucket_ptr bucket_begin() const
531
536
  {
532
537
  return buckets_;
533
538
  }
534
539
 
535
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket_count() const BOOST_NOEXCEPT
540
+ inline size_type bucket_count() const BOOST_NOEXCEPT
536
541
  {
537
542
  return buckets_len_;
538
543
  }
@@ -563,35 +568,23 @@ struct optimize_multikey_is_true
563
568
  static const bool value = sizeof(test<T>(0)) > sizeof(detail::yes_type)*2u;
564
569
  };
565
570
 
566
- template<bool StoreHash>
567
571
  struct insert_commit_data_impl
568
572
  {
569
573
  std::size_t hash;
570
574
  std::size_t bucket_idx;
571
- BOOST_INTRUSIVE_FORCEINLINE std::size_t get_hash() const
575
+ inline std::size_t get_hash() const
572
576
  { return hash; }
573
577
 
574
- BOOST_INTRUSIVE_FORCEINLINE void set_hash(std::size_t h)
578
+ inline void set_hash(std::size_t h)
575
579
  { hash = h; }
576
580
  };
577
581
 
578
- template<>
579
- struct insert_commit_data_impl<false>
580
- {
581
- std::size_t bucket_idx;
582
- BOOST_INTRUSIVE_FORCEINLINE std::size_t get_hash() const
583
- { return 0U; }
584
-
585
- BOOST_INTRUSIVE_FORCEINLINE void set_hash(std::size_t)
586
- {}
587
- };
588
-
589
582
  template<class Node, class SlistNodePtr>
590
- BOOST_INTRUSIVE_FORCEINLINE typename pointer_traits<SlistNodePtr>::template rebind_pointer<Node>::type
583
+ inline typename pointer_traits<SlistNodePtr>::template rebind_pointer<Node>::type
591
584
  dcast_bucket_ptr(const SlistNodePtr &p)
592
585
  {
593
586
  typedef typename pointer_traits<SlistNodePtr>::template rebind_pointer<Node>::type node_ptr;
594
- return pointer_traits<node_ptr>::pointer_to(static_cast<Node&>(*p));
587
+ return pointer_traits<node_ptr>::static_cast_from(p);
595
588
  }
596
589
 
597
590
  template<class NodeTraits>
@@ -689,13 +682,13 @@ struct group_functions
689
682
  }
690
683
  }
691
684
 
692
- BOOST_INTRUSIVE_FORCEINLINE static void erase_from_group(slist_node_ptr, node_ptr, detail::false_)
685
+ inline static void erase_from_group(slist_node_ptr, node_ptr, detail::false_)
693
686
  {}
694
687
 
695
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr first_in_group, detail::true_)
688
+ inline static node_ptr get_last_in_group(node_ptr first_in_group, detail::true_)
696
689
  { return group_traits::get_next(first_in_group); }
697
690
 
698
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr n, detail::false_)
691
+ inline static node_ptr get_last_in_group(node_ptr n, detail::false_)
699
692
  { return n; }
700
693
 
701
694
  static node_ptr get_first_in_group(node_ptr n, detail::true_)
@@ -707,17 +700,17 @@ struct group_functions
707
700
  return n;
708
701
  }
709
702
 
710
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_first_in_group(node_ptr n, detail::false_)
703
+ inline static node_ptr get_first_in_group(node_ptr n, detail::false_)
711
704
  { return n; }
712
705
 
713
- BOOST_INTRUSIVE_FORCEINLINE static bool is_first_in_group(node_ptr ptr)
706
+ inline static bool is_first_in_group(node_ptr ptr)
714
707
  { return node_traits::get_next(group_traits::get_next(ptr)) != ptr; }
715
708
 
716
709
 
717
- BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(node_ptr first_in_group, node_ptr n, detail::true_)
710
+ inline static void insert_in_group(node_ptr first_in_group, node_ptr n, detail::true_)
718
711
  { group_algorithms::link_after(first_in_group, n); }
719
712
 
720
- BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(node_ptr, node_ptr, detail::false_)
713
+ inline static void insert_in_group(node_ptr, node_ptr, detail::false_)
721
714
  {}
722
715
 
723
716
  //Splits a group in two groups, and makes "new_first" the first node in the second group.
@@ -753,7 +746,7 @@ class incremental_rehash_rollback
753
746
  , split_traits_(split_tr), released_(false)
754
747
  {}
755
748
 
756
- BOOST_INTRUSIVE_FORCEINLINE void release()
749
+ inline void release()
757
750
  { released_ = true; }
758
751
 
759
752
  ~incremental_rehash_rollback()
@@ -776,21 +769,21 @@ class incremental_rehash_rollback
776
769
  template<class NodeTraits>
777
770
  struct node_functions
778
771
  {
779
- BOOST_INTRUSIVE_FORCEINLINE static void store_hash(typename NodeTraits::node_ptr p, std::size_t h, detail::true_)
772
+ inline static void store_hash(typename NodeTraits::node_ptr p, std::size_t h, detail::true_)
780
773
  { return NodeTraits::set_hash(p, h); }
781
774
 
782
- BOOST_INTRUSIVE_FORCEINLINE static void store_hash(typename NodeTraits::node_ptr, std::size_t, detail::false_)
775
+ inline static void store_hash(typename NodeTraits::node_ptr, std::size_t, detail::false_)
783
776
  {}
784
777
  };
785
778
 
786
- BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::false_)
779
+ inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::false_)
787
780
  { return hash_value % bucket_cnt; }
788
781
 
789
- BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::true_)
782
+ inline std::size_t hash_to_bucket(std::size_t hash_value, std::size_t bucket_cnt, detail::true_)
790
783
  { return hash_value & (bucket_cnt - 1); }
791
784
 
792
785
  template<bool Power2Buckets, bool Incremental> //!fastmod_buckets
793
- BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t bucket_cnt, std::size_t split, detail::false_)
786
+ inline std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t bucket_cnt, std::size_t split, detail::false_)
794
787
  {
795
788
  std::size_t bucket_number = hash_to_bucket(hash_value, bucket_cnt, detail::bool_<Power2Buckets>());
796
789
  BOOST_IF_CONSTEXPR(Incremental)
@@ -799,7 +792,7 @@ BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_va
799
792
  }
800
793
 
801
794
  template<bool Power2Buckets, bool Incremental> //fastmod_buckets
802
- BOOST_INTRUSIVE_FORCEINLINE std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t , std::size_t split, detail::true_)
795
+ inline std::size_t hash_to_bucket_split(std::size_t hash_value, std::size_t , std::size_t split, detail::true_)
803
796
  {
804
797
  return prime_fmod_size::position(hash_value, split);
805
798
  }
@@ -886,11 +879,11 @@ struct downcast_node_to_value_t
886
879
  template rebind_pointer
887
880
  <const ValueTraits>::type const_value_traits_ptr;
888
881
 
889
- BOOST_INTRUSIVE_FORCEINLINE downcast_node_to_value_t(const_value_traits_ptr ptr)
882
+ inline downcast_node_to_value_t(const_value_traits_ptr ptr)
890
883
  : base_t(ptr)
891
884
  {}
892
885
 
893
- BOOST_INTRUSIVE_FORCEINLINE result_type operator()(first_argument_type arg) const
886
+ inline result_type operator()(first_argument_type arg) const
894
887
  { return this->base_t::operator()(static_cast<intermediate_argument_type>(arg)); }
895
888
  };
896
889
 
@@ -905,14 +898,14 @@ struct node_cast_adaptor
905
898
  typedef typename pointer_traits<NodePtr>::element_type node;
906
899
 
907
900
  template<class ConvertibleToF, class RealValuTraits>
908
- BOOST_INTRUSIVE_FORCEINLINE node_cast_adaptor(const ConvertibleToF &c2f, const RealValuTraits *traits)
901
+ inline node_cast_adaptor(const ConvertibleToF &c2f, const RealValuTraits *traits)
909
902
  : base_t(base_t(c2f, traits))
910
903
  {}
911
904
 
912
- BOOST_INTRUSIVE_FORCEINLINE typename base_t::node_ptr operator()(const slist_node &to_clone)
905
+ inline typename base_t::node_ptr operator()(const slist_node &to_clone)
913
906
  { return base_t::operator()(static_cast<const node &>(to_clone)); }
914
907
 
915
- BOOST_INTRUSIVE_FORCEINLINE void operator()(SlistNodePtr to_clone)
908
+ inline void operator()(SlistNodePtr to_clone)
916
909
  {
917
910
  base_t::operator()(pointer_traits<NodePtr>::pointer_to(static_cast<node &>(*to_clone)));
918
911
  }
@@ -935,11 +928,11 @@ struct bucket_plus_vtraits
935
928
  BOOST_MOVABLE_BUT_NOT_COPYABLE(data_type)
936
929
 
937
930
  public:
938
- BOOST_INTRUSIVE_FORCEINLINE data_type(const ValueTraits& val_traits, const BucketTraits& b_traits)
931
+ inline data_type(const ValueTraits& val_traits, const BucketTraits& b_traits)
939
932
  : ValueTraits(val_traits), BucketTraits(b_traits)
940
933
  {}
941
934
 
942
- BOOST_INTRUSIVE_FORCEINLINE data_type(BOOST_RV_REF(data_type) other)
935
+ inline data_type(BOOST_RV_REF(data_type) other)
943
936
  : ValueTraits (BOOST_MOVE_BASE(ValueTraits, other))
944
937
  , BucketTraits(BOOST_MOVE_BASE(BucketTraits, other))
945
938
  {}
@@ -994,49 +987,49 @@ struct bucket_plus_vtraits
994
987
 
995
988
  static const std::size_t bucket_overhead = LinearBuckets ? 1u : 0u;
996
989
 
997
- BOOST_INTRUSIVE_FORCEINLINE bucket_plus_vtraits(const ValueTraits &val_traits, const bucket_traits &b_traits)
990
+ inline bucket_plus_vtraits(const ValueTraits &val_traits, const bucket_traits &b_traits)
998
991
  : m_data(val_traits, b_traits)
999
992
  {}
1000
993
 
1001
- BOOST_INTRUSIVE_FORCEINLINE bucket_plus_vtraits(BOOST_RV_REF(bucket_plus_vtraits) other)
994
+ inline bucket_plus_vtraits(BOOST_RV_REF(bucket_plus_vtraits) other)
1002
995
  : m_data(boost::move(((bucket_plus_vtraits&)other).m_data))
1003
996
  {}
1004
997
 
1005
- BOOST_INTRUSIVE_FORCEINLINE const_value_traits_ptr priv_value_traits_ptr() const
998
+ inline const_value_traits_ptr priv_value_traits_ptr() const
1006
999
  { return pointer_traits<const_value_traits_ptr>::pointer_to(this->priv_value_traits()); }
1007
1000
 
1008
1001
  //bucket_value_traits
1009
1002
  //
1010
- BOOST_INTRUSIVE_FORCEINLINE const bucket_plus_vtraits &get_bucket_value_traits() const
1003
+ inline const bucket_plus_vtraits &get_bucket_value_traits() const
1011
1004
  { return *this; }
1012
1005
 
1013
- BOOST_INTRUSIVE_FORCEINLINE bucket_plus_vtraits &get_bucket_value_traits()
1006
+ inline bucket_plus_vtraits &get_bucket_value_traits()
1014
1007
  { return *this; }
1015
1008
 
1016
- BOOST_INTRUSIVE_FORCEINLINE const_bucket_value_traits_ptr bucket_value_traits_ptr() const
1009
+ inline const_bucket_value_traits_ptr bucket_value_traits_ptr() const
1017
1010
  { return pointer_traits<const_bucket_value_traits_ptr>::pointer_to(this->get_bucket_value_traits()); }
1018
1011
 
1019
1012
  //value traits
1020
1013
  //
1021
- BOOST_INTRUSIVE_FORCEINLINE const value_traits &priv_value_traits() const
1014
+ inline const value_traits &priv_value_traits() const
1022
1015
  { return static_cast<const value_traits &>(this->m_data); }
1023
1016
 
1024
- BOOST_INTRUSIVE_FORCEINLINE value_traits &priv_value_traits()
1017
+ inline value_traits &priv_value_traits()
1025
1018
  { return static_cast<value_traits &>(this->m_data); }
1026
1019
 
1027
1020
  //value traits
1028
1021
  //
1029
- BOOST_INTRUSIVE_FORCEINLINE const bucket_traits &priv_bucket_traits() const
1022
+ inline const bucket_traits &priv_bucket_traits() const
1030
1023
  { return static_cast<const bucket_traits &>(this->m_data); }
1031
1024
 
1032
- BOOST_INTRUSIVE_FORCEINLINE bucket_traits& priv_bucket_traits()
1025
+ inline bucket_traits& priv_bucket_traits()
1033
1026
  { return static_cast<bucket_traits&>(this->m_data); }
1034
1027
 
1035
1028
  //bucket operations
1036
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_bucket_pointer() const BOOST_NOEXCEPT
1029
+ inline bucket_ptr priv_bucket_pointer() const BOOST_NOEXCEPT
1037
1030
  { return this->priv_bucket_traits().bucket_begin(); }
1038
1031
 
1039
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_usable_bucket_count() const BOOST_NOEXCEPT
1032
+ inline std::size_t priv_usable_bucket_count() const BOOST_NOEXCEPT
1040
1033
  {
1041
1034
  BOOST_IF_CONSTEXPR(bucket_overhead){
1042
1035
  const std::size_t n = this->priv_bucket_traits().bucket_count();
@@ -1047,19 +1040,19 @@ struct bucket_plus_vtraits
1047
1040
  }
1048
1041
  }
1049
1042
 
1050
- BOOST_INTRUSIVE_FORCEINLINE bucket_type &priv_bucket(std::size_t n) const BOOST_NOEXCEPT
1043
+ inline bucket_type &priv_bucket(std::size_t n) const BOOST_NOEXCEPT
1051
1044
  {
1052
1045
  BOOST_INTRUSIVE_INVARIANT_ASSERT(n < this->priv_usable_bucket_count());
1053
1046
  return this->priv_bucket_pointer()[std::ptrdiff_t(n)];
1054
1047
  }
1055
1048
 
1056
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_bucket_ptr(std::size_t n) const BOOST_NOEXCEPT
1049
+ inline bucket_ptr priv_bucket_ptr(std::size_t n) const BOOST_NOEXCEPT
1057
1050
  { return pointer_traits<bucket_ptr>::pointer_to(this->priv_bucket(n)); }
1058
1051
 
1059
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_past_usable_bucket_ptr() const
1052
+ inline bucket_ptr priv_past_usable_bucket_ptr() const
1060
1053
  { return this->priv_bucket_pointer() + std::ptrdiff_t(priv_usable_bucket_count()); }
1061
1054
 
1062
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_invalid_bucket_ptr() const
1055
+ inline bucket_ptr priv_invalid_bucket_ptr() const
1063
1056
  {
1064
1057
  BOOST_IF_CONSTEXPR(LinearBuckets) {
1065
1058
  return bucket_ptr();
@@ -1069,7 +1062,7 @@ struct bucket_plus_vtraits
1069
1062
  }
1070
1063
  }
1071
1064
 
1072
- BOOST_INTRUSIVE_FORCEINLINE void priv_set_sentinel_bucket() const
1065
+ inline void priv_set_sentinel_bucket() const
1073
1066
  {
1074
1067
  BOOST_IF_CONSTEXPR(LinearBuckets) {
1075
1068
  BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_bucket_traits().bucket_count() > 1);
@@ -1078,7 +1071,7 @@ struct bucket_plus_vtraits
1078
1071
  }
1079
1072
  }
1080
1073
 
1081
- BOOST_INTRUSIVE_FORCEINLINE void priv_unset_sentinel_bucket() const
1074
+ inline void priv_unset_sentinel_bucket() const
1082
1075
  {
1083
1076
  BOOST_IF_CONSTEXPR(LinearBuckets) {
1084
1077
  BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_bucket_traits().bucket_count() > 1);
@@ -1087,46 +1080,46 @@ struct bucket_plus_vtraits
1087
1080
  }
1088
1081
  }
1089
1082
 
1090
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_end_sit() const
1083
+ inline siterator priv_end_sit() const
1091
1084
  { return priv_end_sit(linear_buckets_t()); }
1092
1085
 
1093
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_end_sit(detail::true_) const
1086
+ inline siterator priv_end_sit(detail::true_) const
1094
1087
  { return siterator(this->priv_bucket_pointer() + std::ptrdiff_t(this->priv_bucket_traits().bucket_count() - bucket_overhead)); }
1095
1088
 
1096
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_end_sit(detail::false_) const
1089
+ inline siterator priv_end_sit(detail::false_) const
1097
1090
  { return siterator(this->priv_bucket_pointer()->get_node_ptr()); }
1098
1091
 
1099
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lbegin(std::size_t n) const
1092
+ inline siterator priv_bucket_lbegin(std::size_t n) const
1100
1093
  { siterator s(this->priv_bucket_lbbegin(n)); return ++s; }
1101
1094
 
1102
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lbbegin(std::size_t n) const
1095
+ inline siterator priv_bucket_lbbegin(std::size_t n) const
1103
1096
  { return this->sit_bbegin(this->priv_bucket(n)); }
1104
1097
 
1105
- BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lend(std::size_t n) const
1098
+ inline siterator priv_bucket_lend(std::size_t n) const
1106
1099
  { return this->sit_end(this->priv_bucket(n)); }
1107
1100
 
1108
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_bucket_size(std::size_t n) const
1101
+ inline std::size_t priv_bucket_size(std::size_t n) const
1109
1102
  { return slist_node_algorithms::count(this->priv_bucket(n).get_node_ptr())-1u; }
1110
1103
 
1111
- BOOST_INTRUSIVE_FORCEINLINE bool priv_bucket_empty(std::size_t n) const
1104
+ inline bool priv_bucket_empty(std::size_t n) const
1112
1105
  { return slist_node_algorithms::is_empty(this->priv_bucket(n).get_node_ptr()); }
1113
1106
 
1114
- BOOST_INTRUSIVE_FORCEINLINE bool priv_bucket_empty(bucket_ptr p) const
1107
+ inline bool priv_bucket_empty(bucket_ptr p) const
1115
1108
  { return slist_node_algorithms::is_empty(p->get_node_ptr()); }
1116
1109
 
1117
- static BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lbegin(bucket_type &b)
1110
+ static inline siterator priv_bucket_lbegin(bucket_type &b)
1118
1111
  { return siterator(slist_node_traits::get_next(b.get_node_ptr())); }
1119
1112
 
1120
- static BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lbbegin(bucket_type& b)
1113
+ static inline siterator priv_bucket_lbbegin(bucket_type& b)
1121
1114
  { return siterator(b.get_node_ptr()); }
1122
1115
 
1123
- static BOOST_INTRUSIVE_FORCEINLINE siterator priv_bucket_lend(bucket_type& b)
1116
+ static inline siterator priv_bucket_lend(bucket_type& b)
1124
1117
  { return siterator(slist_node_algorithms::end_node(b.get_node_ptr())); }
1125
1118
 
1126
- static BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_bucket_size(const bucket_type& b)
1119
+ static inline std::size_t priv_bucket_size(const bucket_type& b)
1127
1120
  { return slist_node_algorithms::count(b.get_node_ptr())-1u; }
1128
1121
 
1129
- static BOOST_INTRUSIVE_FORCEINLINE bool priv_bucket_empty(const bucket_type& b)
1122
+ static inline bool priv_bucket_empty(const bucket_type& b)
1130
1123
  { return slist_node_algorithms::is_empty(b.get_node_ptr()); }
1131
1124
 
1132
1125
  template<class NodeDisposer>
@@ -1206,7 +1199,7 @@ struct bucket_plus_vtraits
1206
1199
  }
1207
1200
 
1208
1201
  template<class NodeDisposer>
1209
- BOOST_INTRUSIVE_FORCEINLINE static void priv_erase_node(bucket_type &b, siterator i, NodeDisposer node_disposer, detail::false_) //!optimize multikey
1202
+ inline static void priv_erase_node(bucket_type &b, siterator i, NodeDisposer node_disposer, detail::false_) //!optimize multikey
1210
1203
  {
1211
1204
  slist_node_ptr bi = slist_node_algorithms::get_previous_node(b.get_node_ptr(), i.pointed_node());
1212
1205
  slist_node_algorithms::unlink_after_and_dispose(bi, node_disposer);
@@ -1252,14 +1245,14 @@ struct bucket_plus_vtraits
1252
1245
  return siterator(last_node_group);
1253
1246
  }
1254
1247
 
1255
- BOOST_INTRUSIVE_FORCEINLINE static siterator priv_get_last(bucket_type &b, detail::false_) //NOT optimize multikey
1248
+ inline static siterator priv_get_last(bucket_type &b, detail::false_) //NOT optimize multikey
1256
1249
  {
1257
1250
  slist_node_ptr p = b.get_node_ptr();
1258
1251
  return siterator(slist_node_algorithms::get_previous_node(p, slist_node_algorithms::end_node(p)));
1259
1252
  }
1260
1253
 
1261
1254
  template<class NodeDisposer>
1262
- static BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_erase_whole_bucket(bucket_type &b, NodeDisposer node_disposer)
1255
+ static inline std::size_t priv_erase_whole_bucket(bucket_type &b, NodeDisposer node_disposer)
1263
1256
  { return slist_node_algorithms::detach_and_dispose(b.get_node_ptr(), node_disposer); }
1264
1257
 
1265
1258
  static siterator priv_get_previous(bucket_type &b, siterator i, detail::true_) //optimize multikey
@@ -1274,7 +1267,7 @@ struct bucket_plus_vtraits
1274
1267
  return siterator(n);
1275
1268
  }
1276
1269
 
1277
- BOOST_INTRUSIVE_FORCEINLINE static siterator priv_get_previous(bucket_type &b, siterator i, detail::false_) //NOT optimize multikey
1270
+ inline static siterator priv_get_previous(bucket_type &b, siterator i, detail::false_) //NOT optimize multikey
1278
1271
  { return siterator(slist_node_algorithms::get_previous_node(b.get_node_ptr(), i.pointed_node())); }
1279
1272
 
1280
1273
  template<class Disposer>
@@ -1286,47 +1279,47 @@ struct bucket_plus_vtraits
1286
1279
  };
1287
1280
 
1288
1281
  template<class Disposer>
1289
- BOOST_INTRUSIVE_FORCEINLINE typename typeof_node_disposer<Disposer>::type
1282
+ inline typename typeof_node_disposer<Disposer>::type
1290
1283
  make_node_disposer(const Disposer &disposer) const
1291
1284
  {
1292
1285
  typedef typename typeof_node_disposer<Disposer>::type return_t;
1293
1286
  return return_t(disposer, &this->priv_value_traits());
1294
1287
  }
1295
1288
 
1296
- static BOOST_INTRUSIVE_FORCEINLINE bucket_ptr to_ptr(bucket_type &b)
1289
+ static inline bucket_ptr to_ptr(bucket_type &b)
1297
1290
  { return pointer_traits<bucket_ptr>::pointer_to(b); }
1298
1291
 
1299
- static BOOST_INTRUSIVE_FORCEINLINE siterator sit_bbegin(bucket_type& b)
1292
+ static inline siterator sit_bbegin(bucket_type& b)
1300
1293
  { return siterator(b.get_node_ptr()); }
1301
1294
 
1302
- static BOOST_INTRUSIVE_FORCEINLINE siterator sit_begin(bucket_type& b)
1295
+ static inline siterator sit_begin(bucket_type& b)
1303
1296
  { return siterator(b.begin_ptr()); }
1304
1297
 
1305
- static BOOST_INTRUSIVE_FORCEINLINE siterator sit_end(bucket_type& b)
1298
+ static inline siterator sit_end(bucket_type& b)
1306
1299
  { return siterator(slist_node_algorithms::end_node(b.get_node_ptr())); }
1307
1300
 
1308
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t priv_stored_hash(siterator s, detail::true_) //store_hash
1301
+ inline static std::size_t priv_stored_hash(siterator s, detail::true_) //store_hash
1309
1302
  { return node_traits::get_hash(dcast_bucket_ptr<node>(s.pointed_node())); }
1310
1303
 
1311
- BOOST_INTRUSIVE_FORCEINLINE static std::size_t priv_stored_hash(siterator, detail::false_) //NO store_hash
1304
+ inline static std::size_t priv_stored_hash(siterator, detail::false_) //NO store_hash
1312
1305
  { return std::size_t(-1); }
1313
1306
 
1314
- BOOST_INTRUSIVE_FORCEINLINE node &priv_value_to_node(reference v)
1307
+ inline node &priv_value_to_node(reference v)
1315
1308
  { return *this->priv_value_traits().to_node_ptr(v); }
1316
1309
 
1317
- BOOST_INTRUSIVE_FORCEINLINE const node &priv_value_to_node(const_reference v) const
1310
+ inline const node &priv_value_to_node(const_reference v) const
1318
1311
  { return *this->priv_value_traits().to_node_ptr(v); }
1319
1312
 
1320
- BOOST_INTRUSIVE_FORCEINLINE node_ptr priv_value_to_node_ptr(reference v)
1313
+ inline node_ptr priv_value_to_node_ptr(reference v)
1321
1314
  { return this->priv_value_traits().to_node_ptr(v); }
1322
1315
 
1323
- BOOST_INTRUSIVE_FORCEINLINE const_node_ptr priv_value_to_node_ptr(const_reference v) const
1316
+ inline const_node_ptr priv_value_to_node_ptr(const_reference v) const
1324
1317
  { return this->priv_value_traits().to_node_ptr(v); }
1325
1318
 
1326
- BOOST_INTRUSIVE_FORCEINLINE reference priv_value_from_siterator(siterator s)
1319
+ inline reference priv_value_from_siterator(siterator s)
1327
1320
  { return *this->priv_value_traits().to_value_ptr(dcast_bucket_ptr<node>(s.pointed_node())); }
1328
1321
 
1329
- BOOST_INTRUSIVE_FORCEINLINE const_reference priv_value_from_siterator(siterator s) const
1322
+ inline const_reference priv_value_from_siterator(siterator s) const
1330
1323
  { return *this->priv_value_traits().to_value_ptr(dcast_bucket_ptr<node>(s.pointed_node())); }
1331
1324
 
1332
1325
  static void priv_init_buckets(const bucket_ptr buckets_ptr, const std::size_t bucket_cnt)
@@ -1351,37 +1344,37 @@ struct bucket_plus_vtraits
1351
1344
  }
1352
1345
  }
1353
1346
 
1354
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_stored_or_compute_hash(const value_type &v, detail::true_) const //For store_hash == true
1347
+ inline std::size_t priv_stored_or_compute_hash(const value_type &v, detail::true_) const //For store_hash == true
1355
1348
  { return node_traits::get_hash(this->priv_value_traits().to_node_ptr(v)); }
1356
1349
 
1357
1350
  typedef hashtable_iterator<bucket_plus_vtraits, LinearBuckets, false> iterator;
1358
1351
  typedef hashtable_iterator<bucket_plus_vtraits, LinearBuckets, true> const_iterator;
1359
1352
 
1360
- BOOST_INTRUSIVE_FORCEINLINE iterator end() BOOST_NOEXCEPT
1353
+ inline iterator end() BOOST_NOEXCEPT
1361
1354
  { return this->build_iterator(this->priv_end_sit(), bucket_ptr()); }
1362
1355
 
1363
- BOOST_INTRUSIVE_FORCEINLINE const_iterator end() const BOOST_NOEXCEPT
1356
+ inline const_iterator end() const BOOST_NOEXCEPT
1364
1357
  { return this->cend(); }
1365
1358
 
1366
- BOOST_INTRUSIVE_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT
1359
+ inline const_iterator cend() const BOOST_NOEXCEPT
1367
1360
  { return this->build_const_iterator(this->priv_end_sit(), bucket_ptr()); }
1368
1361
 
1369
- BOOST_INTRUSIVE_FORCEINLINE iterator build_iterator(siterator s, bucket_ptr p)
1362
+ inline iterator build_iterator(siterator s, bucket_ptr p)
1370
1363
  { return this->build_iterator(s, p, linear_buckets_t()); }
1371
1364
 
1372
- BOOST_INTRUSIVE_FORCEINLINE iterator build_iterator(siterator s, bucket_ptr p, detail::true_) //linear buckets
1365
+ inline iterator build_iterator(siterator s, bucket_ptr p, detail::true_) //linear buckets
1373
1366
  { return iterator(s, p, this->priv_value_traits_ptr()); }
1374
1367
 
1375
- BOOST_INTRUSIVE_FORCEINLINE iterator build_iterator(siterator s, bucket_ptr, detail::false_) //!linear buckets
1368
+ inline iterator build_iterator(siterator s, bucket_ptr, detail::false_) //!linear buckets
1376
1369
  { return iterator(s, &this->get_bucket_value_traits()); }
1377
1370
 
1378
- BOOST_INTRUSIVE_FORCEINLINE const_iterator build_const_iterator(siterator s, bucket_ptr p) const
1371
+ inline const_iterator build_const_iterator(siterator s, bucket_ptr p) const
1379
1372
  { return this->build_const_iterator(s, p, linear_buckets_t()); }
1380
1373
 
1381
- BOOST_INTRUSIVE_FORCEINLINE const_iterator build_const_iterator(siterator s, bucket_ptr p, detail::true_) const //linear buckets
1374
+ inline const_iterator build_const_iterator(siterator s, bucket_ptr p, detail::true_) const //linear buckets
1382
1375
  { return const_iterator(s, p, this->priv_value_traits_ptr()); }
1383
1376
 
1384
- BOOST_INTRUSIVE_FORCEINLINE const_iterator build_const_iterator(siterator s, bucket_ptr, detail::false_) const //!linear buckets
1377
+ inline const_iterator build_const_iterator(siterator s, bucket_ptr, detail::false_) const //!linear buckets
1385
1378
  { return const_iterator(s, &this->get_bucket_value_traits()); }
1386
1379
  };
1387
1380
 
@@ -1394,7 +1387,7 @@ struct get_hash
1394
1387
  template<class T>
1395
1388
  struct get_hash<void, T>
1396
1389
  {
1397
- typedef ::boost::hash<T> type;
1390
+ typedef detail::internal_hash_functor<T> type;
1398
1391
  };
1399
1392
 
1400
1393
  template<class EqualTo, class>
@@ -1477,29 +1470,29 @@ struct bucket_hash_t
1477
1470
  typedef bucket_plus_vtraits<ValueTraits, BucketTraits, LinearBuckets> bucket_plus_vtraits_t;
1478
1471
  typedef detail::ebo_functor_holder<hasher> base_t;
1479
1472
 
1480
- BOOST_INTRUSIVE_FORCEINLINE bucket_hash_t(const ValueTraits &val_traits, const bucket_traits &b_traits, const hasher & h)
1473
+ inline bucket_hash_t(const ValueTraits &val_traits, const bucket_traits &b_traits, const hasher & h)
1481
1474
  : base_t(h)
1482
1475
  , bucket_plus_vtraits_t(val_traits, b_traits)
1483
1476
  {}
1484
1477
 
1485
- BOOST_INTRUSIVE_FORCEINLINE bucket_hash_t(BOOST_RV_REF(bucket_hash_t) other)
1478
+ inline bucket_hash_t(BOOST_RV_REF(bucket_hash_t) other)
1486
1479
  : base_t(BOOST_MOVE_BASE(base_t, other))
1487
1480
  , bucket_plus_vtraits_t(BOOST_MOVE_BASE(bucket_plus_vtraits_t, other))
1488
1481
  {}
1489
1482
 
1490
1483
  template<class K>
1491
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_hash(const K &k) const
1484
+ inline std::size_t priv_hash(const K &k) const
1492
1485
  { return this->base_t::operator()(k); }
1493
1486
 
1494
- BOOST_INTRUSIVE_FORCEINLINE const hasher &priv_hasher() const
1487
+ inline const hasher &priv_hasher() const
1495
1488
  { return this->base_t::get(); }
1496
1489
 
1497
- BOOST_INTRUSIVE_FORCEINLINE hasher &priv_hasher()
1490
+ inline hasher &priv_hasher()
1498
1491
  { return this->base_t::get(); }
1499
1492
 
1500
1493
  using bucket_plus_vtraits_t::priv_stored_or_compute_hash; //For store_hash == true
1501
1494
 
1502
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_stored_or_compute_hash(const value_type &v, detail::false_) const //For store_hash == false
1495
+ inline std::size_t priv_stored_or_compute_hash(const value_type &v, detail::false_) const //For store_hash == false
1503
1496
  { return this->priv_hasher()(key_of_value()(v)); }
1504
1497
  };
1505
1498
 
@@ -1553,27 +1546,27 @@ struct bucket_hash_equal_t
1553
1546
  , equal_holder_t(e)
1554
1547
  {}
1555
1548
 
1556
- BOOST_INTRUSIVE_FORCEINLINE bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
1549
+ inline bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
1557
1550
  : bucket_hash_type(BOOST_MOVE_BASE(bucket_hash_type, other))
1558
1551
  , equal_holder_t(BOOST_MOVE_BASE(equal_holder_t, other))
1559
1552
  {}
1560
1553
 
1561
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_get_cache()
1554
+ inline bucket_ptr priv_get_cache()
1562
1555
  { return this->priv_bucket_pointer(); }
1563
1556
 
1564
- BOOST_INTRUSIVE_FORCEINLINE void priv_set_cache(bucket_ptr)
1557
+ inline void priv_set_cache(bucket_ptr)
1565
1558
  {}
1566
1559
 
1567
- BOOST_INTRUSIVE_FORCEINLINE void priv_set_cache_bucket_num(std::size_t)
1560
+ inline void priv_set_cache_bucket_num(std::size_t)
1568
1561
  {}
1569
1562
 
1570
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_get_cache_bucket_num()
1563
+ inline std::size_t priv_get_cache_bucket_num()
1571
1564
  { return 0u; }
1572
1565
 
1573
- BOOST_INTRUSIVE_FORCEINLINE void priv_init_cache()
1566
+ inline void priv_init_cache()
1574
1567
  {}
1575
1568
 
1576
- BOOST_INTRUSIVE_FORCEINLINE void priv_swap_cache(bucket_hash_equal_t &)
1569
+ inline void priv_swap_cache(bucket_hash_equal_t &)
1577
1570
  {}
1578
1571
 
1579
1572
  siterator priv_begin(bucket_ptr &pbucketptr) const
@@ -1591,22 +1584,22 @@ struct bucket_hash_equal_t
1591
1584
  return this->priv_end_sit();
1592
1585
  }
1593
1586
 
1594
- BOOST_INTRUSIVE_FORCEINLINE void priv_insertion_update_cache(std::size_t)
1587
+ inline void priv_insertion_update_cache(std::size_t)
1595
1588
  {}
1596
1589
 
1597
- BOOST_INTRUSIVE_FORCEINLINE void priv_erasure_update_cache_range(std::size_t, std::size_t)
1590
+ inline void priv_erasure_update_cache_range(std::size_t, std::size_t)
1598
1591
  {}
1599
1592
 
1600
- BOOST_INTRUSIVE_FORCEINLINE void priv_erasure_update_cache(bucket_ptr)
1593
+ inline void priv_erasure_update_cache(bucket_ptr)
1601
1594
  {}
1602
1595
 
1603
- BOOST_INTRUSIVE_FORCEINLINE void priv_erasure_update_cache()
1596
+ inline void priv_erasure_update_cache()
1604
1597
  {}
1605
1598
 
1606
- BOOST_INTRUSIVE_FORCEINLINE const key_equal &priv_equal() const
1599
+ inline const key_equal &priv_equal() const
1607
1600
  { return this->equal_holder_t::get(); }
1608
1601
 
1609
- BOOST_INTRUSIVE_FORCEINLINE key_equal &priv_equal()
1602
+ inline key_equal &priv_equal()
1610
1603
  { return this->equal_holder_t::get(); }
1611
1604
  };
1612
1605
 
@@ -1645,7 +1638,7 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
1645
1638
  , equal_holder_t(e)
1646
1639
  {}
1647
1640
 
1648
- BOOST_INTRUSIVE_FORCEINLINE bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
1641
+ inline bucket_hash_equal_t(BOOST_RV_REF(bucket_hash_equal_t) other)
1649
1642
  : bucket_hash_type(BOOST_MOVE_BASE(bucket_hash_type, other))
1650
1643
  , equal_holder_t(BOOST_MOVE_BASE(equal_holder_t, other))
1651
1644
  {}
@@ -1653,25 +1646,25 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
1653
1646
  typedef typename unordered_bucket_ptr_impl
1654
1647
  <typename bucket_hash_type::value_traits>::type bucket_ptr;
1655
1648
 
1656
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_get_cache() const
1649
+ inline bucket_ptr priv_get_cache() const
1657
1650
  { return cached_begin_; }
1658
1651
 
1659
- BOOST_INTRUSIVE_FORCEINLINE void priv_set_cache(bucket_ptr p)
1652
+ inline void priv_set_cache(bucket_ptr p)
1660
1653
  { cached_begin_ = p; }
1661
1654
 
1662
- BOOST_INTRUSIVE_FORCEINLINE void priv_set_cache_bucket_num(std::size_t insertion_bucket)
1655
+ inline void priv_set_cache_bucket_num(std::size_t insertion_bucket)
1663
1656
  {
1664
1657
  BOOST_INTRUSIVE_INVARIANT_ASSERT(insertion_bucket <= this->priv_usable_bucket_count());
1665
1658
  this->cached_begin_ = this->priv_bucket_pointer() + std::ptrdiff_t(insertion_bucket);
1666
1659
  }
1667
1660
 
1668
- BOOST_INTRUSIVE_FORCEINLINE std::size_t priv_get_cache_bucket_num()
1661
+ inline std::size_t priv_get_cache_bucket_num()
1669
1662
  { return std::size_t(this->cached_begin_ - this->priv_bucket_pointer()); }
1670
1663
 
1671
- BOOST_INTRUSIVE_FORCEINLINE void priv_init_cache()
1664
+ inline void priv_init_cache()
1672
1665
  { this->cached_begin_ = this->priv_past_usable_bucket_ptr(); }
1673
1666
 
1674
- BOOST_INTRUSIVE_FORCEINLINE void priv_swap_cache(bucket_hash_equal_t &other)
1667
+ inline void priv_swap_cache(bucket_hash_equal_t &other)
1675
1668
  { ::boost::adl_move_swap(this->cached_begin_, other.cached_begin_); }
1676
1669
 
1677
1670
  siterator priv_begin(bucket_ptr& pbucketptr) const
@@ -1694,10 +1687,10 @@ struct bucket_hash_equal_t<ValueTraits, VoidOrKeyOfValue, VoidOrKeyHash, VoidOrK
1694
1687
  }
1695
1688
  }
1696
1689
 
1697
- BOOST_INTRUSIVE_FORCEINLINE const key_equal &priv_equal() const
1690
+ inline const key_equal &priv_equal() const
1698
1691
  { return this->equal_holder_t::get(); }
1699
1692
 
1700
- BOOST_INTRUSIVE_FORCEINLINE key_equal &priv_equal()
1693
+ inline key_equal &priv_equal()
1701
1694
  { return this->equal_holder_t::get(); }
1702
1695
 
1703
1696
  void priv_erasure_update_cache_range(std::size_t first_bucket_num, std::size_t last_bucket_num)
@@ -1756,7 +1749,7 @@ struct hashtable_size_wrapper
1756
1749
  {}
1757
1750
  typedef detail::size_holder < true, SizeType> size_traits;//size_traits
1758
1751
 
1759
- BOOST_INTRUSIVE_FORCEINLINE hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
1752
+ inline hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
1760
1753
  : DeriveFrom(BOOST_MOVE_BASE(DeriveFrom, other))
1761
1754
  {}
1762
1755
 
@@ -1765,19 +1758,19 @@ struct hashtable_size_wrapper
1765
1758
  typedef const size_traits & size_traits_const_t;
1766
1759
  typedef size_traits & size_traits_t;
1767
1760
 
1768
- BOOST_INTRUSIVE_FORCEINLINE SizeType get_hashtable_size_wrapper_size() const
1761
+ inline SizeType get_hashtable_size_wrapper_size() const
1769
1762
  { return size_traits_.get_size(); }
1770
1763
 
1771
- BOOST_INTRUSIVE_FORCEINLINE void set_hashtable_size_wrapper_size(SizeType s)
1764
+ inline void set_hashtable_size_wrapper_size(SizeType s)
1772
1765
  { size_traits_.set_size(s); }
1773
1766
 
1774
- BOOST_INTRUSIVE_FORCEINLINE void inc_hashtable_size_wrapper_size()
1767
+ inline void inc_hashtable_size_wrapper_size()
1775
1768
  { size_traits_.increment(); }
1776
1769
 
1777
- BOOST_INTRUSIVE_FORCEINLINE void dec_hashtable_size_wrapper_size()
1770
+ inline void dec_hashtable_size_wrapper_size()
1778
1771
  { size_traits_.decrement(); }
1779
1772
 
1780
- BOOST_INTRUSIVE_FORCEINLINE size_traits_t priv_size_traits()
1773
+ inline size_traits_t priv_size_traits()
1781
1774
  { return size_traits_; }
1782
1775
  };
1783
1776
 
@@ -1798,7 +1791,7 @@ struct hashtable_size_wrapper<DeriveFrom, SizeType, false>
1798
1791
  , ::boost::forward<Arg2>(arg2))
1799
1792
  {}
1800
1793
 
1801
- BOOST_INTRUSIVE_FORCEINLINE hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
1794
+ inline hashtable_size_wrapper(BOOST_RV_REF(hashtable_size_wrapper) other)
1802
1795
  : DeriveFrom(BOOST_MOVE_BASE(DeriveFrom, other))
1803
1796
  {}
1804
1797
 
@@ -1807,19 +1800,19 @@ struct hashtable_size_wrapper<DeriveFrom, SizeType, false>
1807
1800
  typedef size_traits size_traits_const_t;
1808
1801
  typedef size_traits size_traits_t;
1809
1802
 
1810
- BOOST_INTRUSIVE_FORCEINLINE SizeType get_hashtable_size_wrapper_size() const
1803
+ inline SizeType get_hashtable_size_wrapper_size() const
1811
1804
  { return 0u; }
1812
1805
 
1813
- BOOST_INTRUSIVE_FORCEINLINE void set_hashtable_size_wrapper_size(SizeType)
1806
+ inline void set_hashtable_size_wrapper_size(SizeType)
1814
1807
  {}
1815
1808
 
1816
- BOOST_INTRUSIVE_FORCEINLINE void inc_hashtable_size_wrapper_size()
1809
+ inline void inc_hashtable_size_wrapper_size()
1817
1810
  {}
1818
1811
 
1819
- BOOST_INTRUSIVE_FORCEINLINE void dec_hashtable_size_wrapper_size()
1812
+ inline void dec_hashtable_size_wrapper_size()
1820
1813
  {}
1821
1814
 
1822
- BOOST_INTRUSIVE_FORCEINLINE size_traits priv_size_traits()
1815
+ inline size_traits priv_size_traits()
1823
1816
  { return size_traits(); }
1824
1817
  };
1825
1818
 
@@ -1908,11 +1901,11 @@ struct hashdata_internal
1908
1901
  : split_bucket_hash_equal_t(val_traits, b_traits, h, e)
1909
1902
  {}
1910
1903
 
1911
- BOOST_INTRUSIVE_FORCEINLINE hashdata_internal(BOOST_RV_REF(hashdata_internal) other)
1904
+ inline hashdata_internal(BOOST_RV_REF(hashdata_internal) other)
1912
1905
  : split_bucket_hash_equal_t(BOOST_MOVE_BASE(split_bucket_hash_equal_t, other))
1913
1906
  {}
1914
1907
 
1915
- BOOST_INTRUSIVE_FORCEINLINE typename split_bucket_hash_equal_t::size_traits_t priv_split_traits()
1908
+ inline typename split_bucket_hash_equal_t::size_traits_t priv_split_traits()
1916
1909
  { return this->priv_size_traits(); }
1917
1910
 
1918
1911
  ~hashdata_internal()
@@ -1942,20 +1935,20 @@ struct hashdata_internal
1942
1935
  typedef typename bucket_plus_vtraits_t::const_iterator const_iterator;
1943
1936
 
1944
1937
  //public functions
1945
- BOOST_INTRUSIVE_FORCEINLINE SizeType split_count() const BOOST_NOEXCEPT
1938
+ inline SizeType split_count() const BOOST_NOEXCEPT
1946
1939
  { return this->split_bucket_hash_equal_t::get_hashtable_size_wrapper_size(); }
1947
1940
 
1948
- BOOST_INTRUSIVE_FORCEINLINE void split_count(SizeType s) BOOST_NOEXCEPT
1941
+ inline void split_count(SizeType s) BOOST_NOEXCEPT
1949
1942
  { this->split_bucket_hash_equal_t::set_hashtable_size_wrapper_size(s); }
1950
1943
 
1951
1944
  //public functions
1952
- BOOST_INTRUSIVE_FORCEINLINE void inc_split_count() BOOST_NOEXCEPT
1945
+ inline void inc_split_count() BOOST_NOEXCEPT
1953
1946
  { this->split_bucket_hash_equal_t::inc_hashtable_size_wrapper_size(); }
1954
1947
 
1955
- BOOST_INTRUSIVE_FORCEINLINE void dec_split_count() BOOST_NOEXCEPT
1948
+ inline void dec_split_count() BOOST_NOEXCEPT
1956
1949
  { this->split_bucket_hash_equal_t::dec_hashtable_size_wrapper_size(); }
1957
1950
 
1958
- BOOST_INTRUSIVE_FORCEINLINE static SizeType initial_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
1951
+ inline static SizeType initial_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
1959
1952
  {
1960
1953
  BOOST_IF_CONSTEXPR(fastmod_buckets) {
1961
1954
  size_type split;
@@ -1975,7 +1968,7 @@ struct hashdata_internal
1975
1968
  }
1976
1969
  }
1977
1970
 
1978
- BOOST_INTRUSIVE_FORCEINLINE static SizeType rehash_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
1971
+ inline static SizeType rehash_split_from_bucket_count(SizeType bc) BOOST_NOEXCEPT
1979
1972
  {
1980
1973
  BOOST_IF_CONSTEXPR(fastmod_buckets) {
1981
1974
  return (initial_split_from_bucket_count)(bc);
@@ -1991,7 +1984,7 @@ struct hashdata_internal
1991
1984
  }
1992
1985
  }
1993
1986
 
1994
- BOOST_INTRUSIVE_FORCEINLINE iterator iterator_to(reference value) BOOST_NOEXCEPT_IF(!linear_buckets)
1987
+ inline iterator iterator_to(reference value) BOOST_NOEXCEPT_IF(!linear_buckets)
1995
1988
  { return iterator_to(value, linear_buckets_t()); }
1996
1989
 
1997
1990
  const_iterator iterator_to(const_reference value) const BOOST_NOEXCEPT_IF(!linear_buckets)
@@ -2019,25 +2012,25 @@ struct hashdata_internal
2019
2012
 
2020
2013
  typedef detail::bool_<fastmod_buckets> fastmod_buckets_t;
2021
2014
 
2022
- BOOST_INTRUSIVE_FORCEINLINE bucket_type &priv_hash_to_bucket(std::size_t hash_value) const
2015
+ inline bucket_type &priv_hash_to_bucket(std::size_t hash_value) const
2023
2016
  { return this->priv_bucket(this->priv_hash_to_nbucket(hash_value)); }
2024
2017
 
2025
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_hash_to_bucket_ptr(std::size_t hash_value) const
2018
+ inline bucket_ptr priv_hash_to_bucket_ptr(std::size_t hash_value) const
2026
2019
  { return this->priv_bucket_ptr(this->priv_hash_to_nbucket(hash_value)); }
2027
2020
 
2028
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_hash_to_nbucket(std::size_t hash_value) const
2021
+ inline size_type priv_hash_to_nbucket(std::size_t hash_value) const
2029
2022
  { return (priv_hash_to_nbucket)(hash_value, fastmod_buckets_t()); }
2030
2023
 
2031
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_hash_to_nbucket(std::size_t hash_value, detail::true_) const //fastmod_buckets_t
2024
+ inline size_type priv_hash_to_nbucket(std::size_t hash_value, detail::true_) const //fastmod_buckets_t
2032
2025
  { return static_cast<size_type>(prime_fmod_size::position(hash_value, this->split_count())); }
2033
2026
 
2034
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_hash_to_nbucket(std::size_t hash_value, detail::false_) const //!fastmod_buckets_t
2027
+ inline size_type priv_hash_to_nbucket(std::size_t hash_value, detail::false_) const //!fastmod_buckets_t
2035
2028
  {
2036
2029
  return static_cast<size_type>(hash_to_bucket_split<power_2_buckets, incremental>
2037
2030
  (hash_value, this->priv_usable_bucket_count(), this->split_count(), detail::false_()));
2038
2031
  }
2039
2032
 
2040
- BOOST_INTRUSIVE_FORCEINLINE iterator iterator_to(reference value, detail::false_) BOOST_NOEXCEPT
2033
+ inline iterator iterator_to(reference value, detail::false_) BOOST_NOEXCEPT
2041
2034
  {
2042
2035
  return iterator( siterator(this->priv_value_to_node_ptr(value))
2043
2036
  , &this->get_bucket_value_traits());
@@ -2053,14 +2046,14 @@ struct hashdata_internal
2053
2046
 
2054
2047
  static local_iterator s_local_iterator_to(reference value) BOOST_NOEXCEPT
2055
2048
  {
2056
- BOOST_STATIC_ASSERT((!stateful_value_traits));
2049
+ BOOST_INTRUSIVE_STATIC_ASSERT((!stateful_value_traits));
2057
2050
  siterator sit(value_traits::to_node_ptr(value));
2058
2051
  return local_iterator(sit, const_value_traits_ptr());
2059
2052
  }
2060
2053
 
2061
2054
  static const_local_iterator s_local_iterator_to(const_reference value) BOOST_NOEXCEPT
2062
2055
  {
2063
- BOOST_STATIC_ASSERT((!stateful_value_traits));
2056
+ BOOST_INTRUSIVE_STATIC_ASSERT((!stateful_value_traits));
2064
2057
  siterator const sit = siterator
2065
2058
  ( pointer_traits<node_ptr>::const_cast_from
2066
2059
  (value_traits::to_node_ptr(value))
@@ -2081,22 +2074,22 @@ struct hashdata_internal
2081
2074
  return const_local_iterator(sit, this->priv_value_traits_ptr());
2082
2075
  }
2083
2076
 
2084
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket_count() const BOOST_NOEXCEPT
2077
+ inline size_type bucket_count() const BOOST_NOEXCEPT
2085
2078
  { return size_type(this->priv_usable_bucket_count()); }
2086
2079
 
2087
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket_size(size_type n) const BOOST_NOEXCEPT
2080
+ inline size_type bucket_size(size_type n) const BOOST_NOEXCEPT
2088
2081
  { return (size_type)this->priv_bucket_size(n); }
2089
2082
 
2090
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr bucket_pointer() const BOOST_NOEXCEPT
2083
+ inline bucket_ptr bucket_pointer() const BOOST_NOEXCEPT
2091
2084
  { return this->priv_bucket_pointer(); }
2092
2085
 
2093
- BOOST_INTRUSIVE_FORCEINLINE local_iterator begin(size_type n) BOOST_NOEXCEPT
2086
+ inline local_iterator begin(size_type n) BOOST_NOEXCEPT
2094
2087
  { return local_iterator(this->priv_bucket_lbegin(n), this->priv_value_traits_ptr()); }
2095
2088
 
2096
- BOOST_INTRUSIVE_FORCEINLINE const_local_iterator begin(size_type n) const BOOST_NOEXCEPT
2089
+ inline const_local_iterator begin(size_type n) const BOOST_NOEXCEPT
2097
2090
  { return this->cbegin(n); }
2098
2091
 
2099
- static BOOST_INTRUSIVE_FORCEINLINE size_type suggested_upper_bucket_count(size_type n) BOOST_NOEXCEPT
2092
+ static inline size_type suggested_upper_bucket_count(size_type n) BOOST_NOEXCEPT
2100
2093
  {
2101
2094
  BOOST_IF_CONSTEXPR(fastmod_buckets){
2102
2095
  std::size_t s = prime_fmod_size::upper_size_index(n);
@@ -2107,7 +2100,7 @@ struct hashdata_internal
2107
2100
  }
2108
2101
  }
2109
2102
 
2110
- static BOOST_INTRUSIVE_FORCEINLINE size_type suggested_lower_bucket_count(size_type n) BOOST_NOEXCEPT
2103
+ static inline size_type suggested_lower_bucket_count(size_type n) BOOST_NOEXCEPT
2111
2104
  {
2112
2105
  BOOST_IF_CONSTEXPR(fastmod_buckets){
2113
2106
  std::size_t s = prime_fmod_size::lower_size_index(n);
@@ -2131,7 +2124,7 @@ struct hashdata_internal
2131
2124
  local_iterator end(size_type n) BOOST_NOEXCEPT
2132
2125
  { return local_iterator(this->priv_bucket_lend(n), this->priv_value_traits_ptr()); }
2133
2126
 
2134
- BOOST_INTRUSIVE_FORCEINLINE const_local_iterator end(size_type n) const BOOST_NOEXCEPT
2127
+ inline const_local_iterator end(size_type n) const BOOST_NOEXCEPT
2135
2128
  { return this->cend(n); }
2136
2129
 
2137
2130
  const_local_iterator cend(size_type n) const BOOST_NOEXCEPT
@@ -2143,27 +2136,27 @@ struct hashdata_internal
2143
2136
 
2144
2137
  //Public functions for hashtable_impl
2145
2138
 
2146
- BOOST_INTRUSIVE_FORCEINLINE iterator begin() BOOST_NOEXCEPT
2139
+ inline iterator begin() BOOST_NOEXCEPT
2147
2140
  {
2148
2141
  bucket_ptr p;
2149
2142
  siterator s = this->priv_begin(p);
2150
2143
  return this->build_iterator(s, p);
2151
2144
  }
2152
2145
 
2153
- BOOST_INTRUSIVE_FORCEINLINE const_iterator begin() const BOOST_NOEXCEPT
2146
+ inline const_iterator begin() const BOOST_NOEXCEPT
2154
2147
  { return this->cbegin(); }
2155
2148
 
2156
- BOOST_INTRUSIVE_FORCEINLINE const_iterator cbegin() const BOOST_NOEXCEPT
2149
+ inline const_iterator cbegin() const BOOST_NOEXCEPT
2157
2150
  {
2158
2151
  bucket_ptr p;
2159
2152
  siterator s = this->priv_begin(p);
2160
2153
  return this->build_const_iterator(s, p);
2161
2154
  }
2162
2155
 
2163
- BOOST_INTRUSIVE_FORCEINLINE hasher hash_function() const
2156
+ inline hasher hash_function() const
2164
2157
  { return this->priv_hasher(); }
2165
2158
 
2166
- BOOST_INTRUSIVE_FORCEINLINE key_equal key_eq() const
2159
+ inline key_equal key_eq() const
2167
2160
  { return this->priv_equal(); }
2168
2161
  };
2169
2162
 
@@ -2323,11 +2316,11 @@ class hashtable_impl
2323
2316
 
2324
2317
  //Configuration error: compare_hash<> can't be specified without store_hash<>
2325
2318
  //See documentation for more explanations
2326
- BOOST_STATIC_ASSERT((!compare_hash || store_hash));
2319
+ BOOST_INTRUSIVE_STATIC_ASSERT((!compare_hash || store_hash));
2327
2320
 
2328
2321
  //Configuration error: fasmod_buckets<> can't be specified with incremental<> or power_2_buckets<>
2329
2322
  //See documentation for more explanations
2330
- BOOST_STATIC_ASSERT(!(fastmod_buckets && power_2_buckets));
2323
+ BOOST_INTRUSIVE_STATIC_ASSERT(!(fastmod_buckets && power_2_buckets));
2331
2324
 
2332
2325
  typedef typename internal_type::slist_node_ptr slist_node_ptr;
2333
2326
  typedef typename pointer_traits
@@ -2354,15 +2347,15 @@ class hashtable_impl
2354
2347
  static const bool safemode_or_autounlink = internal_type::safemode_or_autounlink;
2355
2348
 
2356
2349
  //Constant-time size is incompatible with auto-unlink hooks!
2357
- BOOST_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink)));
2350
+ BOOST_INTRUSIVE_STATIC_ASSERT(!(constant_time_size && ((int)value_traits::link_mode == (int)auto_unlink)));
2358
2351
  //Cache begin is incompatible with auto-unlink hooks!
2359
- BOOST_STATIC_ASSERT(!(cache_begin && ((int)value_traits::link_mode == (int)auto_unlink)));
2352
+ BOOST_INTRUSIVE_STATIC_ASSERT(!(cache_begin && ((int)value_traits::link_mode == (int)auto_unlink)));
2360
2353
 
2361
2354
 
2362
2355
  /// @endcond
2363
2356
 
2364
2357
  public:
2365
- typedef insert_commit_data_impl<store_hash> insert_commit_data;
2358
+ typedef insert_commit_data_impl insert_commit_data;
2366
2359
 
2367
2360
  private:
2368
2361
  void default_init_actions()
@@ -2378,16 +2371,16 @@ class hashtable_impl
2378
2371
  this->split_count(this->initial_split_from_bucket_count(bucket_sz));
2379
2372
  }
2380
2373
 
2381
- BOOST_INTRUSIVE_FORCEINLINE SizeType priv_size_count() const BOOST_NOEXCEPT
2374
+ inline SizeType priv_size_count() const BOOST_NOEXCEPT
2382
2375
  { return this->internal_type::get_hashtable_size_wrapper_size(); }
2383
2376
 
2384
- BOOST_INTRUSIVE_FORCEINLINE void priv_size_count(SizeType s) BOOST_NOEXCEPT
2377
+ inline void priv_size_count(SizeType s) BOOST_NOEXCEPT
2385
2378
  { this->internal_type::set_hashtable_size_wrapper_size(s); }
2386
2379
 
2387
- BOOST_INTRUSIVE_FORCEINLINE void priv_size_inc() BOOST_NOEXCEPT
2380
+ inline void priv_size_inc() BOOST_NOEXCEPT
2388
2381
  { this->internal_type::inc_hashtable_size_wrapper_size(); }
2389
2382
 
2390
- BOOST_INTRUSIVE_FORCEINLINE void priv_size_dec() BOOST_NOEXCEPT
2383
+ inline void priv_size_dec() BOOST_NOEXCEPT
2391
2384
  { this->internal_type::dec_hashtable_size_wrapper_size(); }
2392
2385
 
2393
2386
  public:
@@ -2635,7 +2628,7 @@ class hashtable_impl
2635
2628
  //! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
2636
2629
  //! throws. Basic guarantee.
2637
2630
  template <class Cloner, class Disposer>
2638
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(const hashtable_impl &src, Cloner cloner, Disposer disposer)
2631
+ inline void clone_from(const hashtable_impl &src, Cloner cloner, Disposer disposer)
2639
2632
  { this->priv_clone_from(src, cloner, disposer); }
2640
2633
 
2641
2634
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw
@@ -2658,7 +2651,7 @@ class hashtable_impl
2658
2651
  //! <b>Throws</b>: If cloner or hasher throw or hash or equality predicate copying
2659
2652
  //! throws. Basic guarantee.
2660
2653
  template <class Cloner, class Disposer>
2661
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(BOOST_RV_REF(hashtable_impl) src, Cloner cloner, Disposer disposer)
2654
+ inline void clone_from(BOOST_RV_REF(hashtable_impl) src, Cloner cloner, Disposer disposer)
2662
2655
  { this->priv_clone_from(static_cast<hashtable_impl&>(src), cloner, disposer); }
2663
2656
 
2664
2657
  //! <b>Requires</b>: value must be an lvalue
@@ -2724,7 +2717,7 @@ class hashtable_impl
2724
2717
  insert_commit_data commit_data;
2725
2718
  std::pair<iterator, bool> ret = this->insert_unique_check(key_of_value()(value), commit_data);
2726
2719
  if(ret.second){
2727
- ret.first = this->insert_unique_commit(value, commit_data);
2720
+ ret.first = this->insert_unique_fast_commit(value, commit_data);
2728
2721
  }
2729
2722
  return ret;
2730
2723
  }
@@ -2828,7 +2821,7 @@ class hashtable_impl
2828
2821
  //! objects are inserted or erased from the unordered_set.
2829
2822
  //!
2830
2823
  //! After a successful rehashing insert_commit_data remains valid.
2831
- BOOST_INTRUSIVE_FORCEINLINE std::pair<iterator, bool> insert_unique_check
2824
+ inline std::pair<iterator, bool> insert_unique_check
2832
2825
  ( const key_type &key, insert_commit_data &commit_data)
2833
2826
  { return this->insert_unique_check(key, this->priv_hasher(), this->priv_equal(), commit_data); }
2834
2827
 
@@ -2851,7 +2844,43 @@ class hashtable_impl
2851
2844
  //! erased between the "insert_check" and "insert_commit" calls.
2852
2845
  //!
2853
2846
  //! After a successful rehashing insert_commit_data remains valid.
2854
- iterator insert_unique_commit(reference value, const insert_commit_data &commit_data) BOOST_NOEXCEPT
2847
+ iterator insert_unique_commit(reference value, const insert_commit_data& commit_data) BOOST_NOEXCEPT
2848
+ {
2849
+ size_type bucket_num = this->priv_hash_to_nbucket(commit_data.get_hash());
2850
+ bucket_type& b = this->priv_bucket(bucket_num);
2851
+ this->priv_size_traits().increment();
2852
+ node_ptr const n = pointer_traits<node_ptr>::pointer_to(this->priv_value_to_node(value));
2853
+ BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || slist_node_algorithms::unique(n));
2854
+ node_functions_t::store_hash(n, commit_data.get_hash(), store_hash_t());
2855
+ this->priv_insertion_update_cache(bucket_num);
2856
+ group_functions_t::insert_in_group(n, n, optimize_multikey_t());
2857
+ slist_node_algorithms::link_after(b.get_node_ptr(), n);
2858
+ return this->build_iterator(siterator(n), this->to_ptr(b));
2859
+ }
2860
+
2861
+ //! <b>Requires</b>: value must be an lvalue of type value_type. commit_data
2862
+ //! must have been obtained from a previous call to "insert_check".
2863
+ //! No objects should have been inserted or erased from the unordered_set between
2864
+ //! the "insert_check" that filled "commit_data" and the call to "insert_commit".
2865
+ //!
2866
+ //! No rehashing shall be performed between `insert_check` and `insert_fast_commit`.
2867
+ //!
2868
+ //! <b>Effects</b>: Inserts the value in the unordered_set using the information obtained
2869
+ //! from the "commit_data" that a previous "insert_check" filled.
2870
+ //!
2871
+ //! <b>Returns</b>: An iterator to the newly inserted object.
2872
+ //!
2873
+ //! <b>Complexity</b>: Constant time.
2874
+ //!
2875
+ //! <b>Throws</b>: Nothing.
2876
+ //!
2877
+ //! <b>Notes</b>: This function has only sense if a "insert_check" has been
2878
+ //! previously executed to fill "commit_data". No value should be inserted or
2879
+ //! erased between the "insert_check" and "insert_commit" calls.
2880
+ //!
2881
+ //! Since this commit operation does not support rehashing between the check
2882
+ //! and the commit, it's faster than `insert_commit`.
2883
+ iterator insert_unique_fast_commit(reference value, const insert_commit_data &commit_data) BOOST_NOEXCEPT
2855
2884
  {
2856
2885
  this->priv_size_inc();
2857
2886
  node_ptr const n = this->priv_value_to_node_ptr(value);
@@ -2872,7 +2901,7 @@ class hashtable_impl
2872
2901
  //!
2873
2902
  //! <b>Note</b>: Invalidates the iterators (but not the references)
2874
2903
  //! to the erased element. No destructors are called.
2875
- BOOST_INTRUSIVE_FORCEINLINE void erase(const_iterator i) BOOST_NOEXCEPT
2904
+ inline void erase(const_iterator i) BOOST_NOEXCEPT
2876
2905
  { this->erase_and_dispose(i, detail::null_disposer()); }
2877
2906
 
2878
2907
  //! <b>Effects</b>: Erases the range pointed to by b end e.
@@ -2884,7 +2913,7 @@ class hashtable_impl
2884
2913
  //!
2885
2914
  //! <b>Note</b>: Invalidates the iterators (but not the references)
2886
2915
  //! to the erased elements. No destructors are called.
2887
- BOOST_INTRUSIVE_FORCEINLINE void erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT
2916
+ inline void erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT
2888
2917
  { this->erase_and_dispose(b, e, detail::null_disposer()); }
2889
2918
 
2890
2919
  //! <b>Effects</b>: Erases all the elements with the given value.
@@ -2899,7 +2928,7 @@ class hashtable_impl
2899
2928
  //!
2900
2929
  //! <b>Note</b>: Invalidates the iterators (but not the references)
2901
2930
  //! to the erased elements. No destructors are called.
2902
- BOOST_INTRUSIVE_FORCEINLINE size_type erase(const key_type &key)
2931
+ inline size_type erase(const key_type &key)
2903
2932
  { return this->erase(key, this->priv_hasher(), this->priv_equal()); }
2904
2933
 
2905
2934
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -2923,7 +2952,7 @@ class hashtable_impl
2923
2952
  //! <b>Note</b>: Invalidates the iterators (but not the references)
2924
2953
  //! to the erased elements. No destructors are called.
2925
2954
  template<class KeyType, class KeyHasher, class KeyEqual>
2926
- BOOST_INTRUSIVE_FORCEINLINE size_type erase(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func)
2955
+ inline size_type erase(const KeyType& key, KeyHasher hash_func, KeyEqual equal_func)
2927
2956
  { return this->erase_and_dispose(key, hash_func, equal_func, detail::null_disposer()); }
2928
2957
 
2929
2958
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
@@ -3007,7 +3036,7 @@ class hashtable_impl
3007
3036
  //! <b>Note</b>: Invalidates the iterators (but not the references)
3008
3037
  //! to the erased elements. No destructors are called.
3009
3038
  template<class Disposer>
3010
- BOOST_INTRUSIVE_FORCEINLINE size_type erase_and_dispose(const key_type &key, Disposer disposer)
3039
+ inline size_type erase_and_dispose(const key_type &key, Disposer disposer)
3011
3040
  { return this->erase_and_dispose(key, this->priv_hasher(), this->priv_equal(), disposer); }
3012
3041
 
3013
3042
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
@@ -3110,7 +3139,7 @@ class hashtable_impl
3110
3139
  //! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
3111
3140
  //!
3112
3141
  //! <b>Throws</b>: If the internal hasher or the equality functor throws.
3113
- BOOST_INTRUSIVE_FORCEINLINE size_type count(const key_type &key) const
3142
+ inline size_type count(const key_type &key) const
3114
3143
  { return this->count(key, this->priv_hasher(), this->priv_equal()); }
3115
3144
 
3116
3145
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -3141,7 +3170,7 @@ class hashtable_impl
3141
3170
  //! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
3142
3171
  //!
3143
3172
  //! <b>Throws</b>: If the internal hasher or the equality functor throws.
3144
- BOOST_INTRUSIVE_FORCEINLINE iterator find(const key_type &key)
3173
+ inline iterator find(const key_type &key)
3145
3174
  { return this->find(key, this->priv_hasher(), this->priv_equal()); }
3146
3175
 
3147
3176
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -3178,7 +3207,7 @@ class hashtable_impl
3178
3207
  //! <b>Complexity</b>: Average case O(1), worst case O(this->size()).
3179
3208
  //!
3180
3209
  //! <b>Throws</b>: If the internal hasher or the equality functor throws.
3181
- BOOST_INTRUSIVE_FORCEINLINE const_iterator find(const key_type &key) const
3210
+ inline const_iterator find(const key_type &key) const
3182
3211
  { return this->find(key, this->priv_hasher(), this->priv_equal()); }
3183
3212
 
3184
3213
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -3217,7 +3246,7 @@ class hashtable_impl
3217
3246
  //! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
3218
3247
  //!
3219
3248
  //! <b>Throws</b>: If the internal hasher or the equality functor throws.
3220
- BOOST_INTRUSIVE_FORCEINLINE std::pair<iterator,iterator> equal_range(const key_type &key)
3249
+ inline std::pair<iterator,iterator> equal_range(const key_type &key)
3221
3250
  { return this->equal_range(key, this->priv_hasher(), this->priv_equal()); }
3222
3251
 
3223
3252
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -3258,7 +3287,7 @@ class hashtable_impl
3258
3287
  //! <b>Complexity</b>: Average case O(this->count(value)). Worst case O(this->size()).
3259
3288
  //!
3260
3289
  //! <b>Throws</b>: If the internal hasher or the equality functor throws.
3261
- BOOST_INTRUSIVE_FORCEINLINE std::pair<const_iterator, const_iterator>
3290
+ inline std::pair<const_iterator, const_iterator>
3262
3291
  equal_range(const key_type &key) const
3263
3292
  { return this->equal_range(key, this->priv_hasher(), this->priv_equal()); }
3264
3293
 
@@ -3393,7 +3422,7 @@ class hashtable_impl
3393
3422
  //! <b>Throws</b>: If the hash functor throws.
3394
3423
  //!
3395
3424
  //! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
3396
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket(const key_type& k) const
3425
+ inline size_type bucket(const key_type& k) const
3397
3426
  { return this->priv_hash_to_nbucket(this->priv_hash(k)); }
3398
3427
 
3399
3428
  //! <b>Requires</b>: "hash_func" must be a hash function that induces
@@ -3409,7 +3438,7 @@ class hashtable_impl
3409
3438
  //!
3410
3439
  //! <b>Note</b>: the return value is in the range [0, this->bucket_count()).
3411
3440
  template<class KeyType, class KeyHasher>
3412
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket(const KeyType& k, KeyHasher hash_func) const
3441
+ inline size_type bucket(const KeyType& k, KeyHasher hash_func) const
3413
3442
  { return this->priv_hash_to_nbucket(hash_func(k)); }
3414
3443
 
3415
3444
  #if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
@@ -3527,7 +3556,7 @@ class hashtable_impl
3527
3556
  //! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
3528
3557
  //!
3529
3558
  //! <b>Throws</b>: If the hasher functor throws. Basic guarantee.
3530
- BOOST_INTRUSIVE_FORCEINLINE void rehash(const bucket_traits &new_bucket_traits)
3559
+ inline void rehash(const bucket_traits &new_bucket_traits)
3531
3560
  { this->priv_rehash_impl(new_bucket_traits, false); }
3532
3561
 
3533
3562
  //! <b>Note</b>: This function is used when keys from inserted elements are changed
@@ -3550,7 +3579,7 @@ class hashtable_impl
3550
3579
  //! <b>Complexity</b>: Average case linear in this->size(), worst case quadratic.
3551
3580
  //!
3552
3581
  //! <b>Throws</b>: If the hasher functor throws. Basic guarantee.
3553
- BOOST_INTRUSIVE_FORCEINLINE void full_rehash()
3582
+ inline void full_rehash()
3554
3583
  { this->priv_rehash_impl(this->priv_bucket_traits(), true); }
3555
3584
 
3556
3585
  //! <b>Requires</b>:
@@ -3565,7 +3594,7 @@ class hashtable_impl
3565
3594
  bool incremental_rehash(bool grow = true)
3566
3595
  {
3567
3596
  //This function is only available for containers with incremental hashing
3568
- BOOST_STATIC_ASSERT(( incremental && power_2_buckets ));
3597
+ BOOST_INTRUSIVE_STATIC_ASSERT(( incremental && power_2_buckets ));
3569
3598
  const std::size_t split_idx = this->split_count();
3570
3599
  const std::size_t bucket_cnt = this->bucket_count();
3571
3600
  bool ret = false;
@@ -3630,7 +3659,7 @@ class hashtable_impl
3630
3659
  bool incremental_rehash(const bucket_traits &new_bucket_traits) BOOST_NOEXCEPT
3631
3660
  {
3632
3661
  //This function is only available for containers with incremental hashing
3633
- BOOST_STATIC_ASSERT(( incremental && power_2_buckets ));
3662
+ BOOST_INTRUSIVE_STATIC_ASSERT(( incremental && power_2_buckets ));
3634
3663
  const bucket_ptr new_buckets = new_bucket_traits.bucket_begin();
3635
3664
  const size_type new_bucket_count_stdszt = static_cast<SizeType>(new_bucket_traits.bucket_count() - bucket_overhead);
3636
3665
  BOOST_INTRUSIVE_INVARIANT_ASSERT(sizeof(size_type) >= sizeof(std::size_t) || new_bucket_count_stdszt <= size_type(-1));
@@ -3748,7 +3777,7 @@ class hashtable_impl
3748
3777
  { return !(x < y); }
3749
3778
 
3750
3779
  /// @cond
3751
- BOOST_INTRUSIVE_FORCEINLINE void check() const {}
3780
+ inline void check() const {}
3752
3781
  private:
3753
3782
 
3754
3783
  static void priv_initialize_new_buckets
@@ -4050,17 +4079,17 @@ class hashtable_impl
4050
4079
  }
4051
4080
 
4052
4081
  template<class KeyType, class KeyEqual>
4053
- BOOST_INTRUSIVE_FORCEINLINE bool priv_is_value_equal_to_key
4082
+ inline bool priv_is_value_equal_to_key
4054
4083
  (const value_type &v, const std::size_t h, const KeyType &key, KeyEqual equal_func, detail::true_) const //compare_hash
4055
4084
  { return this->priv_stored_or_compute_hash(v, store_hash_t()) == h && equal_func(key, key_of_value()(v)); }
4056
4085
 
4057
4086
  template<class KeyType, class KeyEqual>
4058
- BOOST_INTRUSIVE_FORCEINLINE bool priv_is_value_equal_to_key
4087
+ inline bool priv_is_value_equal_to_key
4059
4088
  (const value_type& v, const std::size_t , const KeyType& key, KeyEqual equal_func, detail::false_) const //compare_hash
4060
4089
  { return equal_func(key, key_of_value()(v)); }
4061
4090
 
4062
4091
  //return previous iterator to the next equal range group in case
4063
- BOOST_INTRUSIVE_FORCEINLINE static void priv_go_to_last_in_group
4092
+ inline static void priv_go_to_last_in_group
4064
4093
  (siterator &it_first_in_group, detail::true_) BOOST_NOEXCEPT //optimize_multikey
4065
4094
  {
4066
4095
  it_first_in_group =
@@ -4069,7 +4098,7 @@ class hashtable_impl
4069
4098
  }
4070
4099
 
4071
4100
  //return previous iterator to the next equal range group in case
4072
- BOOST_INTRUSIVE_FORCEINLINE static void priv_go_to_last_in_group //!optimize_multikey
4101
+ inline static void priv_go_to_last_in_group //!optimize_multikey
4073
4102
  (siterator /*&it_first_in_group*/, detail::false_) BOOST_NOEXCEPT
4074
4103
  { }
4075
4104
 
@@ -4171,16 +4200,16 @@ class hashtable_impl
4171
4200
  return r;
4172
4201
  }
4173
4202
 
4174
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_get_bucket_num(const_iterator it) BOOST_NOEXCEPT
4203
+ inline size_type priv_get_bucket_num(const_iterator it) BOOST_NOEXCEPT
4175
4204
  { return this->priv_get_bucket_num(it, linear_buckets_t()); }
4176
4205
 
4177
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_get_bucket_num(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
4206
+ inline size_type priv_get_bucket_num(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
4178
4207
  { return size_type(it.get_bucket_ptr() - this->priv_bucket_pointer()); }
4179
4208
 
4180
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_get_bucket_num(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
4209
+ inline size_type priv_get_bucket_num(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
4181
4210
  { return this->priv_get_bucket_num_hash_dispatch(it.slist_it(), store_hash_t()); }
4182
4211
 
4183
- BOOST_INTRUSIVE_FORCEINLINE size_type priv_get_bucket_num_hash_dispatch(siterator it, detail::true_) BOOST_NOEXCEPT //store_hash
4212
+ inline size_type priv_get_bucket_num_hash_dispatch(siterator it, detail::true_) BOOST_NOEXCEPT //store_hash
4184
4213
  { return (size_type)this->priv_hash_to_nbucket(this->priv_stored_hash(it, store_hash_t())); }
4185
4214
 
4186
4215
  size_type priv_get_bucket_num_hash_dispatch(siterator it, detail::false_) BOOST_NOEXCEPT //NO store_hash
@@ -4199,13 +4228,13 @@ class hashtable_impl
4199
4228
  }
4200
4229
 
4201
4230
 
4202
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_get_bucket_ptr(const_iterator it) BOOST_NOEXCEPT
4231
+ inline bucket_ptr priv_get_bucket_ptr(const_iterator it) BOOST_NOEXCEPT
4203
4232
  { return this->priv_get_bucket_ptr(it, linear_buckets_t()); }
4204
4233
 
4205
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
4234
+ inline bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::true_) BOOST_NOEXCEPT //linear
4206
4235
  { return it.get_bucket_ptr(); }
4207
4236
 
4208
- BOOST_INTRUSIVE_FORCEINLINE bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
4237
+ inline bucket_ptr priv_get_bucket_ptr(const_iterator it, detail::false_) BOOST_NOEXCEPT //!linear
4209
4238
  { return this->priv_bucket_ptr(this->priv_get_bucket_num_hash_dispatch(it.slist_it(), store_hash_t())); }
4210
4239
 
4211
4240
  /// @endcond
@@ -4328,28 +4357,28 @@ class hashtable
4328
4357
  typedef typename Base::key_equal key_equal;
4329
4358
 
4330
4359
  //Assert if passed value traits are compatible with the type
4331
- BOOST_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
4360
+ BOOST_INTRUSIVE_STATIC_ASSERT((detail::is_same<typename value_traits::value_type, T>::value));
4332
4361
 
4333
- BOOST_INTRUSIVE_FORCEINLINE explicit hashtable ( const bucket_traits &b_traits
4362
+ inline explicit hashtable ( const bucket_traits &b_traits
4334
4363
  , const hasher & hash_func = hasher()
4335
4364
  , const key_equal &equal_func = key_equal()
4336
4365
  , const value_traits &v_traits = value_traits())
4337
4366
  : Base(b_traits, hash_func, equal_func, v_traits)
4338
4367
  {}
4339
4368
 
4340
- BOOST_INTRUSIVE_FORCEINLINE hashtable(BOOST_RV_REF(hashtable) x)
4369
+ inline hashtable(BOOST_RV_REF(hashtable) x)
4341
4370
  : Base(BOOST_MOVE_BASE(Base, x))
4342
4371
  {}
4343
4372
 
4344
- BOOST_INTRUSIVE_FORCEINLINE hashtable& operator=(BOOST_RV_REF(hashtable) x)
4373
+ inline hashtable& operator=(BOOST_RV_REF(hashtable) x)
4345
4374
  { return static_cast<hashtable&>(this->Base::operator=(BOOST_MOVE_BASE(Base, x))); }
4346
4375
 
4347
4376
  template <class Cloner, class Disposer>
4348
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(const hashtable &src, Cloner cloner, Disposer disposer)
4377
+ inline void clone_from(const hashtable &src, Cloner cloner, Disposer disposer)
4349
4378
  { Base::clone_from(src, cloner, disposer); }
4350
4379
 
4351
4380
  template <class Cloner, class Disposer>
4352
- BOOST_INTRUSIVE_FORCEINLINE void clone_from(BOOST_RV_REF(hashtable) src, Cloner cloner, Disposer disposer)
4381
+ inline void clone_from(BOOST_RV_REF(hashtable) src, Cloner cloner, Disposer disposer)
4353
4382
  { Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
4354
4383
  };
4355
4384