passenger 6.0.19 → 6.0.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +65 -3
  3. data/CONTRIBUTORS +2 -0
  4. data/README.md +2 -2
  5. data/bin/passenger-install-nginx-module +4 -4
  6. data/build/integration_tests.rb +2 -1
  7. data/build/support/cxx_dependency_map.rb +155 -54
  8. data/dev/copy_boost_headers +21 -7
  9. data/dev/nginx_version_sha256 +72 -0
  10. data/package.json +15 -15
  11. data/src/agent/AgentMain.cpp +2 -8
  12. data/src/agent/Core/AdminPanelConnector.h +2 -3
  13. data/src/agent/Core/ApiServer.h +1 -1
  14. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +8 -1
  15. data/src/agent/Core/Config.h +6 -3
  16. data/src/agent/Core/Controller/AppResponse.h +0 -1
  17. data/src/agent/Core/Controller/Config.h +2 -2
  18. data/src/agent/Core/Controller/SendRequest.cpp +2 -2
  19. data/src/agent/Core/CoreMain.cpp +1 -0
  20. data/src/agent/Core/ResponseCache.h +3 -2
  21. data/src/agent/Core/SecurityUpdateChecker.h +1 -1
  22. data/src/agent/Core/SpawningKit/Handshake/Perform.h +4 -4
  23. data/src/agent/Core/SpawningKit/UserSwitchingRules.h +2 -2
  24. data/src/agent/ExecHelper/ExecHelperMain.cpp +10 -12
  25. data/src/agent/FileReadHelper/FileReadHelperMain.cpp +7 -10
  26. data/src/agent/MainFunctions.h +38 -0
  27. data/src/agent/Shared/ApiServerUtils.h +3 -2
  28. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -1
  29. data/src/agent/SpawnEnvSetupper/SpawnEnvSetupperMain.cpp +2 -3
  30. data/src/agent/SystemMetrics/SystemMetricsMain.cpp +1 -0
  31. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +6 -4
  32. data/src/agent/Watchdog/ApiServer.h +1 -1
  33. data/src/agent/Watchdog/Config.h +1 -1
  34. data/src/agent/Watchdog/WatchdogMain.cpp +5 -12
  35. data/src/apache2_module/Hooks.cpp +26 -1
  36. data/src/cxx_supportlib/ConfigKit/Common.h +1 -1
  37. data/src/cxx_supportlib/Constants.h +1 -1
  38. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -1
  39. data/src/cxx_supportlib/FileTools/PathManip.cpp +10 -1
  40. data/src/cxx_supportlib/IOTools/IOUtils.cpp +2 -6
  41. data/src/cxx_supportlib/Integrations/LibevJsonUtils.h +3 -3
  42. data/src/cxx_supportlib/JsonTools/CBindings.cpp +0 -2
  43. data/src/cxx_supportlib/JsonTools/JsonUtils.h +4 -4
  44. data/src/cxx_supportlib/LoggingKit/Context.h +16 -21
  45. data/src/cxx_supportlib/LoggingKit/Forward.h +0 -2
  46. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +36 -72
  47. data/src/cxx_supportlib/MemoryKit/mbuf.cpp +12 -4
  48. data/src/cxx_supportlib/MemoryKit/mbuf.h +1 -1
  49. data/src/cxx_supportlib/ProcessManagement/Utils.cpp +1 -1
  50. data/src/cxx_supportlib/ResourceLocator.h +1 -1
  51. data/src/cxx_supportlib/SecurityKit/Crypto.cpp +3 -94
  52. data/src/cxx_supportlib/SecurityKit/Crypto.h +0 -8
  53. data/src/cxx_supportlib/ServerKit/Context.h +6 -0
  54. data/src/cxx_supportlib/ServerKit/Errors.h +3 -2
  55. data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +99 -64
  56. data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +4 -1
  57. data/src/cxx_supportlib/ServerKit/HttpRequest.h +2 -2
  58. data/src/cxx_supportlib/ServerKit/HttpServer.h +3 -2
  59. data/src/cxx_supportlib/ServerKit/llerrors.h +84 -0
  60. data/src/cxx_supportlib/ServerKit/llhttp.c +10168 -0
  61. data/src/cxx_supportlib/ServerKit/llhttp.h +903 -0
  62. data/src/cxx_supportlib/ServerKit/llhttp_api.c +510 -0
  63. data/src/cxx_supportlib/ServerKit/llhttp_http.c +170 -0
  64. data/src/cxx_supportlib/ServerKit/llversion.h +12 -0
  65. data/src/cxx_supportlib/ServerKit/url_parser.c +574 -0
  66. data/src/cxx_supportlib/ServerKit/url_parser.h +74 -0
  67. data/src/cxx_supportlib/StaticString.h +3 -1
  68. data/src/cxx_supportlib/StrIntTools/DateParsing.h +1 -1
  69. data/src/cxx_supportlib/StrIntTools/StrIntUtils.cpp +12 -3
  70. data/src/cxx_supportlib/StrIntTools/StrIntUtils.h +5 -0
  71. data/src/cxx_supportlib/SystemTools/SystemMetricsCollector.h +2 -2
  72. data/src/cxx_supportlib/SystemTools/UserDatabase.cpp +14 -14
  73. data/src/cxx_supportlib/SystemTools/UserDatabase.h +6 -10
  74. data/src/cxx_supportlib/Utils/AnsiColorConstants.h +11 -9
  75. data/src/cxx_supportlib/Utils.cpp +1 -1
  76. data/src/cxx_supportlib/oxt/implementation.cpp +1 -2
  77. data/src/cxx_supportlib/oxt/system_calls.cpp +1 -1
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_executor.hpp +26 -32
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/any_completion_handler.hpp +194 -56
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +34 -42
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/append.hpp +10 -23
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/as_tuple.hpp +21 -34
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +26 -45
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +26 -43
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +30 -52
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_immediate_executor.hpp +282 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +178 -863
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +64 -98
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +17 -22
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_file.hpp +18 -23
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +4 -8
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_random_access_file.hpp +30 -42
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +65 -96
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_readable_pipe.hpp +20 -29
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +36 -48
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +31 -44
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +73 -23
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +34 -45
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +108 -151
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +6 -82
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +6 -51
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_file.hpp +30 -40
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +50 -76
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +13 -15
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +3 -3
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +23 -32
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_writable_pipe.hpp +20 -29
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_allocator.hpp +97 -299
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +97 -288
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +90 -288
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_immediate_executor.hpp +551 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +365 -290
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer_registration.hpp +29 -39
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +27 -39
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +33 -49
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +27 -39
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +25 -85
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +16 -16
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +8 -25
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +17 -17
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +60 -272
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +52 -79
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/connect_pipe.hpp +1 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/consign.hpp +11 -24
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +2 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +37 -34
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/deferred.hpp +302 -262
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +12 -20
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +2 -10
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +2 -4
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +5 -13
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +21 -20
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +2 -2
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +129 -563
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +3 -3
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +3 -7
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +2 -23
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +4 -4
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/composed_work.hpp +21 -97
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +155 -963
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +3 -11
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -5
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +2 -24
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +4 -4
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +41 -3
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +40 -3
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +20 -3
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +20 -3
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +3 -5
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/exception.hpp +2 -13
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +8 -60
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +6 -6
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +3 -43
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -12
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +9 -10
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +3 -5
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +41 -104
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +3 -3
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +9 -15
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +101 -123
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +36 -15
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +2 -2
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +13 -4
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +2 -2
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +17 -8
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +1 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +5 -5
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_descriptor_service.ipp +2 -2
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_file_service.ipp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_service.ipp +69 -35
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/io_uring_socket_service_base.ipp +2 -2
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +2 -2
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +15 -6
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_serial_port_service.ipp +1 -1
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +9 -9
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +26 -18
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +3 -3
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +2 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +2 -2
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +12 -4
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +2 -3
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +57 -4
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +63 -5
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +47 -68
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +2 -3
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +12 -12
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_defer.hpp +209 -0
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_dispatch.hpp +195 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/initiate_post.hpp +209 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +6 -10
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_at_op.hpp +6 -3
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_read_op.hpp +6 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_service.hpp +17 -9
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_at_op.hpp +6 -3
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_descriptor_write_op.hpp +6 -3
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_file_service.hpp +2 -3
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_null_buffers_op.hpp +5 -4
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_operation.hpp +1 -1
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_service.hpp +4 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_accept_op.hpp +11 -12
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_connect_op.hpp +5 -4
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recv_op.hpp +6 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvfrom_op.hpp +7 -4
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_recvmsg_op.hpp +6 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_send_op.hpp +6 -3
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_sendto_op.hpp +6 -3
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service.hpp +11 -13
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_socket_service_base.hpp +9 -9
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_uring_wait_op.hpp +5 -4
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +7 -49
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +20 -3
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/limits.hpp +1 -6
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +13 -43
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +3 -5
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +4 -15
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +3 -3
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_serial_port_service.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +61 -25
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +37 -4
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +89 -12
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +41 -4
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +40 -4
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +41 -4
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +41 -4
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +41 -4
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +40 -4
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +20 -20
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +135 -38
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +37 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -2
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +4 -13
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +4 -4
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +4 -4
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +3 -3
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_task.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +20 -3
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +2 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +3 -3
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +12 -3
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +11 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +3 -5
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +1 -6
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -6
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -6
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -6
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -6
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +13 -13
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +1 -1
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +3 -5
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +1 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +12 -22
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +2 -2
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +104 -90
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/utility.hpp +4 -4
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +3 -3
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +2 -2
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +20 -34
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +7 -117
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +36 -34
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +34 -112
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +268 -991
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +3 -4
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +296 -536
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +232 -409
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +20 -73
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +30 -72
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +24 -170
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +3 -3
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +2 -30
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +240 -398
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +20 -73
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +149 -296
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +56 -59
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +149 -296
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -16
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -25
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +59 -43
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +56 -61
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +20 -24
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +1 -1
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +7 -7
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_channel.hpp +56 -34
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/basic_concurrent_channel.hpp +56 -34
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +25 -28
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel.hpp +3 -3
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_error.hpp +1 -1
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/channel_traits.hpp +15 -15
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_composed.hpp +5 -4
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/co_spawn.hpp +1 -1
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/concurrent_channel.hpp +3 -3
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro_traits.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_handler.hpp +10 -13
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_message.hpp +27 -20
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_operation.hpp +193 -38
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_payload.hpp +143 -14
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_receive_op.hpp +24 -9
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_functions.hpp +77 -17
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_send_op.hpp +20 -12
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/channel_service.hpp +50 -50
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_completion_handler.hpp +3 -3
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +1 -1
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/has_signature.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/impl/channel_service.hpp +46 -34
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +1 -1
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +33 -96
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/channel_error.ipp +2 -2
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/co_composed.hpp +62 -20
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/coro.hpp +48 -45
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +56 -60
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +18 -4
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_coro.hpp +5 -5
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/use_promise.hpp +3 -3
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +27 -31
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +1 -1
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +1 -1
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +15 -21
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_promise.hpp +13 -13
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/file_base.hpp +1 -1
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +2 -6
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +4 -4
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +4 -4
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +4 -4
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +4 -4
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -6
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_completion_executor.ipp +10 -14
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/any_io_executor.ipp +10 -17
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/append.hpp +37 -100
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/as_tuple.hpp +99 -107
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +66 -25
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +55 -178
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +55 -178
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/cancellation_signal.ipp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +123 -73
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +84 -234
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.hpp +1 -1
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect_pipe.ipp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/consign.hpp +32 -97
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/deferred.hpp +73 -31
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +5 -58
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +4 -4
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +3 -35
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +60 -43
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +3 -3
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +39 -56
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +2 -1
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +4 -8
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/prepend.hpp +36 -98
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +206 -429
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +60 -206
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +456 -970
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +43 -411
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +207 -423
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +1 -3
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +2 -2
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +2 -2
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +19 -25
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +32 -109
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +5 -4
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +2 -2
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +79 -425
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +213 -427
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +58 -194
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +91 -120
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +33 -25
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +26 -35
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +28 -36
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +13 -19
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +16 -22
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +33 -42
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +13 -18
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +15 -20
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +13 -3
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +26 -35
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +46 -76
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +4 -8
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +17 -1
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +9 -13
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +17 -17
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +10 -14
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +7 -7
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +18 -22
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +9 -13
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +24 -32
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +3 -3
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +3 -3
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +16 -20
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +14 -18
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +7 -7
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +7 -7
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +6 -6
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/is_contiguous_iterator.hpp +2 -2
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +2 -6
  520. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  521. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +4 -4
  522. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  523. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  524. data/src/cxx_supportlib/vendor-modified/boost/asio/local/seq_packet_protocol.hpp +86 -0
  525. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +4 -4
  526. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +3 -9
  527. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -61
  528. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +29 -105
  529. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +21 -29
  530. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +24 -34
  531. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  532. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  533. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  534. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +36 -34
  535. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +176 -333
  536. data/src/cxx_supportlib/vendor-modified/boost/asio/prepend.hpp +11 -23
  537. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +57 -70
  538. data/src/cxx_supportlib/vendor-modified/boost/asio/random_access_file.hpp +1 -1
  539. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +136 -168
  540. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +35 -52
  541. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +256 -298
  542. data/src/cxx_supportlib/vendor-modified/boost/asio/readable_pipe.hpp +1 -1
  543. data/src/cxx_supportlib/vendor-modified/boost/asio/recycling_allocator.hpp +15 -15
  544. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +7 -9
  545. data/src/cxx_supportlib/vendor-modified/boost/asio/registered_buffer.hpp +35 -47
  546. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +108 -246
  547. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +70 -79
  548. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  549. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  550. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  551. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set_base.hpp +173 -0
  552. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  553. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +127 -161
  554. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -3
  555. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +24 -24
  556. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +3 -3
  557. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +3 -7
  558. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +3 -3
  559. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +3 -7
  560. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +2 -2
  561. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +16 -75
  562. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  563. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  564. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  565. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +3 -3
  566. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +4 -4
  567. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +15 -19
  568. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +2 -2
  569. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +3 -3
  570. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  571. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  572. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +2 -4
  574. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +3 -3
  575. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  576. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  577. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  578. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  579. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +51 -82
  580. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  581. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  582. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  583. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  584. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  585. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -6
  586. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +91 -118
  587. data/src/cxx_supportlib/vendor-modified/boost/asio/stream_file.hpp +1 -1
  588. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  589. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +3 -3
  590. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +62 -62
  591. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -6
  592. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +35 -48
  593. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +91 -273
  594. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  595. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +14 -18
  596. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +16 -20
  597. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +16 -20
  598. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +16 -20
  599. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +16 -20
  600. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +16 -20
  601. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +15 -22
  602. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +16 -20
  603. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +16 -20
  604. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +16 -20
  605. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +16 -20
  606. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +20 -26
  607. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +22 -30
  608. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +22 -30
  609. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  610. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  611. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  612. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  613. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  614. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +6 -24
  615. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  616. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  618. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +15 -21
  619. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +8 -12
  620. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +2 -6
  621. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  622. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  623. data/src/cxx_supportlib/vendor-modified/boost/asio/writable_pipe.hpp +1 -1
  624. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +122 -146
  625. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +34 -50
  626. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  627. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -28
  628. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -3
  629. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +2 -16
  630. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +2 -3
  631. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +5 -3
  632. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +6 -4
  633. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +0 -49
  634. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +107 -40
  635. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +32 -5
  636. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +12 -13
  637. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +7 -8
  638. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +26 -27
  639. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/float_sizes.hpp +122 -35
  640. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +2 -3
  641. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +7 -0
  642. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +42 -0
  643. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +1 -2
  644. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +3 -4
  645. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +2 -3
  646. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +2 -3
  647. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +2 -60
  648. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +230 -1740
  649. data/src/cxx_supportlib/vendor-modified/boost/bind/{bind_cc.hpp → detail/bind_cc.hpp} +20 -20
  650. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf2_cc.hpp +210 -0
  651. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/bind_mf_cc.hpp +405 -0
  652. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/integer_sequence.hpp +111 -0
  653. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +1 -0
  654. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/tuple_for_each.hpp +64 -0
  655. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +140 -290
  656. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +3 -16
  657. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +0 -279
  658. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +0 -6
  659. data/src/cxx_supportlib/vendor-modified/boost/chrono/config.hpp +1 -0
  660. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/is_evenly_divisible_by.hpp +1 -7
  661. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/requires_cxx11.hpp +23 -0
  662. data/src/cxx_supportlib/vendor-modified/boost/chrono/duration.hpp +2 -1
  663. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_get.hpp +1 -1
  664. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/duration_units.hpp +1 -0
  665. data/src/cxx_supportlib/vendor-modified/boost/chrono/io_v1/chrono_io.hpp +3 -3
  666. data/src/cxx_supportlib/vendor-modified/boost/chrono/system_clocks.hpp +1 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
  668. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +4 -1
  669. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
  670. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +4 -1
  671. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
  672. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +41 -0
  673. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +4 -0
  674. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +8 -0
  675. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +8 -2
  676. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +5 -0
  677. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -1
  678. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +1 -0
  679. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -0
  680. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +4 -0
  681. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +4 -2
  682. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +5 -0
  683. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +1 -0
  684. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -0
  685. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -0
  686. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -0
  687. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +4 -0
  688. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +4 -0
  689. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -0
  690. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +13 -3
  691. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +8 -0
  692. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +2 -0
  693. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +16 -1
  694. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +56 -0
  695. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +32 -0
  696. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +16 -1
  697. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +6 -7
  698. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +18 -19
  699. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +27 -29
  700. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +0 -29
  701. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +144 -145
  702. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -5
  703. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +48 -49
  704. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +6 -6
  705. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +14 -15
  706. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +22 -22
  707. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +1 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +71 -69
  709. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +48 -48
  710. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +38 -40
  711. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +165 -153
  712. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +162 -163
  713. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +1 -2
  714. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +48 -12
  715. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +6 -8
  716. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +44 -46
  717. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +10 -11
  718. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +18 -19
  719. data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +0 -8
  720. data/src/cxx_supportlib/vendor-modified/boost/container/detail/transform_iterator.hpp +28 -28
  721. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +83 -84
  722. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_init.hpp +3 -3
  723. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +77 -1
  724. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +81 -85
  725. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +231 -233
  726. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +86 -86
  727. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +33 -33
  728. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +107 -110
  729. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +9 -11
  730. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +10 -11
  731. data/src/cxx_supportlib/vendor-modified/boost/container/node_handle.hpp +29 -17
  732. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +2 -2
  733. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
  734. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -0
  735. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  736. data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +80 -82
  737. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +81 -81
  738. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +24 -26
  739. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +147 -122
  740. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -110
  741. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +32 -32
  742. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +165 -194
  743. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +4 -5
  744. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +263 -199
  745. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_integral.hpp +146 -0
  746. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_mix.hpp +6 -6
  747. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_range.hpp +296 -61
  748. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple_like.hpp +62 -0
  749. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/mulx.hpp +79 -0
  750. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +38 -124
  751. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -0
  752. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_contiguous_range.hpp +27 -20
  753. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_described_class.hpp +4 -5
  754. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_range.hpp +8 -40
  755. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_tuple_like.hpp +36 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/container_hash/is_unordered_range.hpp +6 -7
  757. data/src/cxx_supportlib/vendor-modified/boost/core/alignof.hpp +57 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +22 -8
  759. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +362 -31
  760. data/src/cxx_supportlib/vendor-modified/boost/core/checked_delete.hpp +29 -3
  761. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +46 -0
  762. data/src/cxx_supportlib/vendor-modified/boost/core/detail/is_same.hpp +39 -0
  763. data/src/cxx_supportlib/vendor-modified/boost/core/detail/lwt_unattended.hpp +66 -0
  764. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_pause.hpp +71 -0
  765. data/src/cxx_supportlib/vendor-modified/boost/{smart_ptr → core}/detail/sp_thread_sleep.hpp +39 -21
  766. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_yield.hpp +100 -0
  767. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +7 -7
  768. data/src/cxx_supportlib/vendor-modified/boost/core/fclose_deleter.hpp +7 -0
  769. data/src/cxx_supportlib/vendor-modified/boost/core/functor.hpp +41 -0
  770. data/src/cxx_supportlib/vendor-modified/boost/core/identity.hpp +61 -0
  771. data/src/cxx_supportlib/vendor-modified/boost/core/invoke_swap.hpp +93 -0
  772. data/src/cxx_supportlib/vendor-modified/boost/core/is_same.hpp +10 -15
  773. data/src/cxx_supportlib/vendor-modified/boost/core/launder.hpp +69 -0
  774. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +33 -36
  775. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +3 -3
  776. data/src/cxx_supportlib/vendor-modified/boost/core/make_span.hpp +59 -0
  777. data/src/cxx_supportlib/vendor-modified/boost/core/max_align.hpp +82 -0
  778. data/src/cxx_supportlib/vendor-modified/boost/core/memory_resource.hpp +108 -0
  779. data/src/cxx_supportlib/vendor-modified/boost/core/null_deleter.hpp +7 -0
  780. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +23 -16
  781. data/src/cxx_supportlib/vendor-modified/boost/core/serialization.hpp +131 -0
  782. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +31 -0
  783. data/src/cxx_supportlib/vendor-modified/boost/core/snprintf.hpp +173 -0
  784. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +17 -17
  785. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +10 -40
  786. data/src/cxx_supportlib/vendor-modified/boost/core/type_name.hpp +29 -5
  787. data/src/cxx_supportlib/vendor-modified/boost/core/yield_primitives.hpp +12 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/describe/members.hpp +2 -0
  789. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +3 -6
  790. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +6 -97
  791. data/src/cxx_supportlib/vendor-modified/boost/exception/current_exception_cast.hpp +1 -1
  792. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/clone_current_exception.hpp +1 -1
  793. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +1 -1
  794. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +22 -10
  795. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/is_output_streamable.hpp +1 -1
  796. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/object_hex_dump.hpp +1 -1
  797. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +24 -0
  798. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +1 -1
  799. data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +4 -4
  800. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +1 -1
  801. data/src/cxx_supportlib/vendor-modified/boost/exception/get_error_info.hpp +1 -1
  802. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +1 -1
  803. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string.hpp +2 -2
  804. data/src/cxx_supportlib/vendor-modified/boost/exception/to_string_stub.hpp +1 -1
  805. data/src/cxx_supportlib/vendor-modified/boost/function/function0.hpp +1 -3
  806. data/src/cxx_supportlib/vendor-modified/boost/function/function1.hpp +1 -3
  807. data/src/cxx_supportlib/vendor-modified/boost/function/function10.hpp +1 -3
  808. data/src/cxx_supportlib/vendor-modified/boost/function/function2.hpp +1 -3
  809. data/src/cxx_supportlib/vendor-modified/boost/function/function3.hpp +1 -3
  810. data/src/cxx_supportlib/vendor-modified/boost/function/function4.hpp +1 -3
  811. data/src/cxx_supportlib/vendor-modified/boost/function/function5.hpp +1 -3
  812. data/src/cxx_supportlib/vendor-modified/boost/function/function6.hpp +1 -3
  813. data/src/cxx_supportlib/vendor-modified/boost/function/function7.hpp +1 -3
  814. data/src/cxx_supportlib/vendor-modified/boost/function/function8.hpp +1 -3
  815. data/src/cxx_supportlib/vendor-modified/boost/function/function9.hpp +1 -3
  816. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +49 -198
  817. data/src/cxx_supportlib/vendor-modified/boost/function/function_fwd.hpp +36 -41
  818. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +277 -420
  819. data/src/cxx_supportlib/vendor-modified/boost/function/function_typeof.hpp +1 -31
  820. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +5 -61
  821. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +2 -2
  822. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +24 -25
  823. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +12 -13
  824. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +1 -1
  825. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +24 -25
  826. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +65 -66
  827. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +20 -20
  828. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +7 -7
  829. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +10 -10
  830. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +3 -3
  831. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +5 -5
  832. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +10 -10
  833. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/default_header_holder.hpp +3 -3
  834. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +24 -24
  835. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/equal_to_value.hpp +1 -1
  836. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/exception_disposer.hpp +1 -1
  837. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +14 -15
  838. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash.hpp +277 -0
  839. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +11 -49
  840. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_integral.hpp +119 -0
  841. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_mix.hpp +130 -0
  842. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +41 -41
  843. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hook_traits.hpp +14 -20
  844. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iiterator.hpp +6 -6
  845. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/iterator.hpp +12 -12
  846. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +7 -7
  847. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +19 -19
  848. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/mpl.hpp +6 -0
  849. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +3 -3
  850. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/parent_from_member.hpp +6 -17
  851. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  852. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/size_holder.hpp +14 -14
  853. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +20 -20
  854. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/transform_iterator.hpp +22 -22
  855. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +21 -21
  856. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +28 -28
  857. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +58 -1
  858. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +268 -239
  859. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +9 -9
  860. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +57 -58
  861. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pack_options.hpp +3 -3
  862. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  863. data/src/cxx_supportlib/vendor-modified/boost/intrusive/priority_compare.hpp +3 -3
  864. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +12 -13
  865. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +24 -25
  866. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +24 -25
  867. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +14 -15
  868. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +1 -1
  869. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +61 -62
  870. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +24 -25
  871. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +12 -13
  872. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +18 -19
  873. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +4 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +36 -37
  875. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +37 -34
  876. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +11 -11
  877. data/src/cxx_supportlib/vendor-modified/boost/io/ios_state.hpp +2 -2
  878. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +10 -11
  879. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +148 -0
  880. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +2 -2
  881. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -13
  882. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +59 -0
  883. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +113 -131
  884. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +612 -645
  885. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +85 -79
  886. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +25 -32
  887. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +22 -29
  888. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +73 -0
  889. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  890. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +21 -16
  891. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +7 -9
  892. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +22 -161
  893. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +9 -12
  894. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/chrono.cpp +4 -2
  895. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/process_cpu_clocks.cpp +3 -1
  896. data/src/cxx_supportlib/vendor-modified/boost/libs/chrono/src/thread_clock.cpp +3 -1
  897. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +10 -18
  898. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +13 -14
  899. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +24 -14
  900. data/src/cxx_supportlib/vendor-modified/boost/limits.hpp +12 -12
  901. data/src/cxx_supportlib/vendor-modified/boost/move/adl_move_swap.hpp +5 -5
  902. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +5 -3
  903. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +20 -19
  904. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +41 -56
  905. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/basic_op.hpp +11 -10
  906. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/heap_sort.hpp +3 -2
  907. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +32 -34
  908. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +4 -5
  909. data/src/cxx_supportlib/vendor-modified/boost/move/algo/predicate.hpp +11 -11
  910. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +0 -1
  911. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +3 -3
  912. data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +5 -6
  913. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +3 -3
  914. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -2
  915. data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
  916. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +65 -24
  917. data/src/cxx_supportlib/vendor-modified/boost/move/detail/reverse_iterator.hpp +28 -28
  918. data/src/cxx_supportlib/vendor-modified/boost/move/detail/to_raw_pointer.hpp +1 -1
  919. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +72 -23
  920. data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +81 -1
  921. data/src/cxx_supportlib/vendor-modified/boost/move/iterator.hpp +22 -22
  922. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +65 -66
  923. data/src/cxx_supportlib/vendor-modified/boost/move/utility.hpp +2 -2
  924. data/src/cxx_supportlib/vendor-modified/boost/move/utility_core.hpp +8 -6
  925. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +97 -17
  926. data/src/cxx_supportlib/vendor-modified/boost/mp11/bind.hpp +9 -0
  927. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/config.hpp +11 -0
  928. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_append.hpp +140 -4
  929. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_defer.hpp +119 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_fold.hpp +108 -4
  931. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_front.hpp +13 -1
  932. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_is_value_list.hpp +41 -0
  933. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_list_v.hpp +27 -0
  934. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +1 -1
  935. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_plus.hpp +4 -1
  936. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_rename.hpp +18 -5
  937. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_value.hpp +25 -0
  938. data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +9 -0
  939. data/src/cxx_supportlib/vendor-modified/boost/mp11/integral.hpp +10 -0
  940. data/src/cxx_supportlib/vendor-modified/boost/mp11/list.hpp +180 -3
  941. data/src/cxx_supportlib/vendor-modified/boost/mp11/utility.hpp +2 -96
  942. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  943. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +3 -3
  944. data/src/cxx_supportlib/vendor-modified/boost/next_prior.hpp +3 -44
  945. data/src/cxx_supportlib/vendor-modified/boost/nondet_random.hpp +22 -0
  946. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +8 -0
  947. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +5 -4
  948. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +3 -3
  949. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +2 -2
  950. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +1 -1
  951. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +6 -6
  952. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  953. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +4 -4
  954. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
  955. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/unmatched_argument.hpp +1 -1
  956. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/overloads.hpp +1 -1
  957. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +4 -4
  958. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +1 -1
  959. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/void.hpp +1 -1
  960. data/src/cxx_supportlib/vendor-modified/boost/parameter/binding.hpp +3 -3
  961. data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
  962. data/src/cxx_supportlib/vendor-modified/boost/parameter/template_keyword.hpp +1 -1
  963. data/src/cxx_supportlib/vendor-modified/boost/parameter/value_type.hpp +3 -3
  964. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  965. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +13 -0
  966. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/msvc.h +53 -0
  967. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std.h +1 -0
  968. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  969. data/src/cxx_supportlib/vendor-modified/boost/predef/os/vms.h +1 -1
  970. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  971. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +2 -0
  972. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +1 -1
  973. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +203 -0
  974. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +14 -14
  975. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -2
  976. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  977. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +4 -82
  978. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/gcd_lcm.hpp +53 -0
  979. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_evenly_divisible_by.hpp +32 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/is_ratio.hpp +28 -0
  981. data/src/cxx_supportlib/vendor-modified/boost/ratio/include.hpp +1 -3
  982. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio.hpp +5 -249
  983. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_fwd.hpp +30 -56
  984. data/src/cxx_supportlib/vendor-modified/boost/ratio/ratio_io.hpp +0 -533
  985. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -7
  986. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +9 -9
  987. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +7 -7
  988. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +1 -0
  989. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
  990. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +1 -1
  991. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +4 -6
  992. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/enable_shared_from_this.hpp +1 -0
  993. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +2 -11
  994. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared.hpp +1 -0
  995. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_array.hpp +1 -0
  996. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_shared_object.hpp +1 -0
  997. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/make_unique.hpp +70 -0
  998. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +1 -0
  999. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +1 -0
  1000. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_array.hpp +2 -0
  1001. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -11
  1002. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/weak_ptr.hpp +1 -0
  1003. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +4 -8
  1004. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +3 -12
  1005. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +14 -50
  1006. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +16 -55
  1007. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +62 -124
  1008. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +29 -52
  1009. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +7 -7
  1010. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +4 -4
  1011. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +7 -7
  1012. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +3 -13
  1013. data/src/cxx_supportlib/vendor-modified/boost/system/detail/mutex.hpp +128 -0
  1014. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +1 -46
  1015. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category.hpp +14 -13
  1016. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_category_impl.hpp +2 -2
  1017. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +7 -7
  1018. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +3 -3
  1019. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_message.hpp +2 -2
  1020. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +3 -3
  1021. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +1 -1
  1022. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/deque.hpp +1 -24
  1023. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/functional.hpp +1 -14
  1024. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/list.hpp +1 -14
  1025. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_arg.hpp +2 -12
  1026. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/allocator_traits.hpp +0 -11
  1027. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/config.hpp +0 -2
  1028. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/default_delete.hpp +0 -16
  1029. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/pointer_traits.hpp +0 -11
  1030. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/scoped_allocator.hpp +0 -11
  1031. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/shared_ptr.hpp +0 -19
  1032. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/memory/unique_ptr.hpp +4 -6
  1033. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/queue.hpp +2 -26
  1034. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/tuple.hpp +1 -18
  1035. data/src/cxx_supportlib/vendor-modified/boost/thread/csbl/vector.hpp +1 -14
  1036. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/invoke.hpp +11 -4
  1037. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_to_unsigned.hpp +55 -0
  1038. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/string_trim.hpp +29 -0
  1039. data/src/cxx_supportlib/vendor-modified/boost/thread/externally_locked.hpp +5 -5
  1040. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +0 -1
  1041. data/src/cxx_supportlib/vendor-modified/boost/thread/futures/wait_for_any.hpp +3 -2
  1042. data/src/cxx_supportlib/vendor-modified/boost/thread/synchronized_value.hpp +4 -4
  1043. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +2 -2
  1044. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +3 -3
  1045. data/src/cxx_supportlib/vendor-modified/boost/tuple/tuple.hpp +1 -1
  1046. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_swappable_cxx_11.hpp +70 -0
  1047. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_floating_point.hpp +22 -0
  1048. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_integral.hpp +3 -0
  1049. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_swappable.hpp +4 -24
  1050. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_swappable.hpp +92 -0
  1051. data/src/cxx_supportlib/vendor-modified/boost/typeof/decltype.hpp +2 -3
  1052. data/src/cxx_supportlib/vendor-modified/boost/typeof/incr_registration_group.hpp +1 -10
  1053. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +5 -6
  1054. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/bitset.hpp +2 -4
  1055. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/complex.hpp +2 -4
  1056. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/deque.hpp +2 -5
  1057. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/fstream.hpp +2 -15
  1058. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/functional.hpp +4 -51
  1059. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iostream.hpp +2 -6
  1060. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/istream.hpp +2 -9
  1061. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/iterator.hpp +2 -46
  1062. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/list.hpp +2 -5
  1063. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/locale.hpp +2 -29
  1064. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/map.hpp +2 -9
  1065. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/memory.hpp +4 -9
  1066. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/ostream.hpp +2 -6
  1067. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/queue.hpp +2 -5
  1068. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/set.hpp +2 -9
  1069. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/sstream.hpp +2 -19
  1070. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/stack.hpp +2 -5
  1071. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/streambuf.hpp +2 -5
  1072. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +2 -12
  1073. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/utility.hpp +2 -4
  1074. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/valarray.hpp +2 -10
  1075. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/vector.hpp +2 -5
  1076. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +8 -202
  1077. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +860 -0
  1078. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map_fwd.hpp +51 -0
  1079. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +716 -0
  1080. data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set_fwd.hpp +52 -0
  1081. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/allocator_constructed.hpp +59 -0
  1082. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/archive_constructed.hpp +71 -0
  1083. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/bad_archive_exception.hpp +27 -0
  1084. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/concurrent_static_asserts.hpp +105 -0
  1085. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +120 -85
  1086. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +1764 -0
  1087. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2271 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/element_type.hpp +64 -0
  1089. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_map_types.hpp +86 -0
  1090. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/flat_set_types.hpp +44 -0
  1091. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/ignore_wshadow.hpp +35 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_handle.hpp +204 -0
  1093. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_map_types.hpp +139 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/node_set_types.hpp +92 -0
  1095. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/reentrancy_check.hpp +138 -0
  1096. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/restore_wshadow.hpp +11 -0
  1097. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/rw_spinlock.hpp +179 -0
  1098. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +651 -0
  1099. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/tuple_rotate_right.hpp +52 -0
  1100. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +356 -1118
  1101. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/map.hpp +2 -0
  1102. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/mulx.hpp +129 -0
  1103. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/narrow_cast.hpp +44 -0
  1104. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/opt_storage.hpp +30 -0
  1105. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/prime_fmod.hpp +96 -150
  1106. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialization_version.hpp +74 -0
  1107. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_container.hpp +204 -0
  1108. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_fca_container.hpp +156 -0
  1109. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/serialize_tracked_address.hpp +104 -0
  1110. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/static_assert.hpp +16 -0
  1111. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/throw_exception.hpp +30 -0
  1112. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +136 -19
  1113. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +4 -5
  1114. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +171 -103
  1115. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map_fwd.hpp +1 -6
  1116. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +70 -46
  1117. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set_fwd.hpp +1 -6
  1118. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +406 -899
  1119. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map_fwd.hpp +7 -13
  1120. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +895 -0
  1121. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map_fwd.hpp +44 -0
  1122. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +699 -0
  1123. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set_fwd.hpp +44 -0
  1124. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +253 -618
  1125. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set_fwd.hpp +8 -14
  1126. data/src/cxx_supportlib/vendor-modified/boost/utility/swap.hpp +4 -1
  1127. data/src/cxx_supportlib/vendor-modified/boost/utility/value_init.hpp +8 -8
  1128. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1129. data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +2 -9
  1130. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/frame.hpp +0 -11
  1131. data/src/cxx_supportlib/vendor-modified/websocketpp/websocketpp/processors/hybi13.hpp +14 -20
  1132. data/src/helper-scripts/wsgi-loader.py +2 -2
  1133. data/src/nginx_module/ConfigGeneral/ManifestGeneration.c +2 -2
  1134. data/src/ruby_supportlib/phusion_passenger/common_library.rb +16 -5
  1135. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +1 -1
  1136. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +3 -1
  1137. data/src/ruby_supportlib/phusion_passenger/native_support.rb +10 -7
  1138. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +8 -10
  1139. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +14 -0
  1140. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +4 -1
  1141. data/src/ruby_supportlib/phusion_passenger/platform_info/depcheck_specs/libs.rb +6 -6
  1142. data/src/ruby_supportlib/phusion_passenger/platform_info/pcre.rb +11 -12
  1143. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/app.rb +1 -1
  1144. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +4 -0
  1145. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/lldb_controller.rb +5 -1
  1146. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  1147. metadata +109 -150
  1148. data/src/cxx_supportlib/ServerKit/http_parser.cpp +0 -2265
  1149. data/src/cxx_supportlib/ServerKit/http_parser.h +0 -330
  1150. data/src/cxx_supportlib/vendor-modified/boost/array.hpp +0 -456
  1151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +0 -90
  1152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +0 -93
  1153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +0 -70
  1154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +0 -67
  1155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +0 -101
  1156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +0 -80
  1157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +0 -64
  1158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +0 -216
  1159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +0 -64
  1160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +0 -294
  1161. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +0 -406
  1162. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +0 -1254
  1163. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +0 -498
  1164. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +0 -154
  1165. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +0 -111
  1166. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +0 -130
  1167. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +0 -263
  1168. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +0 -235
  1169. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +0 -92
  1170. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +0 -296
  1171. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +0 -38
  1172. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +0 -101
  1173. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +0 -287
  1174. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +0 -50
  1175. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +0 -296
  1176. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +0 -93
  1177. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +0 -318
  1178. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +0 -259
  1179. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +0 -259
  1180. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +0 -492
  1181. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +0 -256
  1182. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +0 -459
  1183. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +0 -106
  1184. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +0 -113
  1185. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +0 -300
  1186. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +0 -275
  1187. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +0 -64
  1188. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +0 -300
  1189. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +0 -116
  1190. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +0 -116
  1191. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +0 -114
  1192. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +0 -114
  1193. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +0 -110
  1194. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +0 -110
  1195. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +0 -110
  1196. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +0 -110
  1197. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +0 -110
  1198. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +0 -114
  1199. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +0 -114
  1200. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +0 -236
  1201. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +0 -236
  1202. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +0 -110
  1203. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +0 -110
  1204. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +0 -114
  1205. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +0 -114
  1206. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +0 -495
  1207. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +0 -462
  1208. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +0 -581
  1209. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +0 -563
  1210. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +0 -40
  1211. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +0 -41
  1212. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +0 -147
  1213. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +0 -39
  1214. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +0 -39
  1215. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_windows.hpp +0 -201
  1216. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_windows.hpp +0 -67
  1217. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_caps_windows.hpp +0 -57
  1218. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_windows.hpp +0 -179
  1219. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +0 -228
  1220. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf_cc.hpp +0 -441
  1221. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_template.hpp +0 -345
  1222. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_cc.hpp +0 -103
  1223. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_template.hpp +0 -1047
  1224. data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn_vw.hpp +0 -130
  1225. data/src/cxx_supportlib/vendor-modified/boost/bind/storage.hpp +0 -475
  1226. data/src/cxx_supportlib/vendor-modified/boost/config/platform/cygwin.hpp +0 -71
  1227. data/src/cxx_supportlib/vendor-modified/boost/container/detail/hash_table.hpp +0 -1278
  1228. data/src/cxx_supportlib/vendor-modified/boost/container_hash/detail/hash_tuple.hpp +0 -133
  1229. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +0 -21
  1230. data/src/cxx_supportlib/vendor-modified/boost/function/detail/function_iterate.hpp +0 -16
  1231. data/src/cxx_supportlib/vendor-modified/boost/function/detail/gen_maybe_include.pl +0 -39
  1232. data/src/cxx_supportlib/vendor-modified/boost/function/detail/maybe_include.hpp +0 -369
  1233. data/src/cxx_supportlib/vendor-modified/boost/function/detail/prologue.hpp +0 -26
  1234. data/src/cxx_supportlib/vendor-modified/boost/function/gen_function_N.pl +0 -26
  1235. data/src/cxx_supportlib/vendor-modified/boost/functional/hash_fwd.hpp +0 -6
  1236. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/abs.hpp +0 -89
  1237. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/gcd.hpp +0 -124
  1238. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/lcm.hpp +0 -126
  1239. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/mpl/sign.hpp +0 -89
  1240. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/overflow_helpers.hpp +0 -367
  1241. data/src/cxx_supportlib/vendor-modified/boost/ratio/detail/ratio_io.hpp +0 -1342
  1242. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/abs.hpp +0 -30
  1243. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/arithmetic.hpp +0 -22
  1244. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/comparison.hpp +0 -19
  1245. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/divides.hpp +0 -30
  1246. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/equal_to.hpp +0 -30
  1247. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/gcd.hpp +0 -30
  1248. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater.hpp +0 -30
  1249. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/greater_equal.hpp +0 -30
  1250. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/lcm.hpp +0 -30
  1251. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less.hpp +0 -30
  1252. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/less_equal.hpp +0 -30
  1253. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/minus.hpp +0 -30
  1254. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/negate.hpp +0 -30
  1255. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/not_equal_to.hpp +0 -30
  1256. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/numeric_cast.hpp +0 -31
  1257. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/plus.hpp +0 -30
  1258. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_c_tag.hpp +0 -25
  1259. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/rational_constant.hpp +0 -15
  1260. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/sign.hpp +0 -30
  1261. data/src/cxx_supportlib/vendor-modified/boost/ratio/mpl/times.hpp +0 -30
  1262. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
  1263. data/src/cxx_supportlib/vendor-modified/boost/swap.hpp +0 -17
  1264. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +0 -278
  1265. data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +0 -297
  1266. data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +0 -265
  1267. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +0 -100
  1268. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -58
  1269. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +0 -34
  1270. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +0 -118
  1271. data/src/cxx_supportlib/vendor-modified/boost/typeof/integral_template_param.hpp +0 -80
  1272. data/src/cxx_supportlib/vendor-modified/boost/typeof/message.hpp +0 -8
  1273. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +0 -121
  1274. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +0 -60
  1275. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +0 -38
  1276. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions.hpp +0 -50
  1277. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +0 -135
  1278. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +0 -61
  1279. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +0 -32
  1280. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +0 -160
  1281. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +0 -149
  1282. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +0 -27
  1283. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_template_param.hpp +0 -37
  1284. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +0 -187
  1285. data/src/cxx_supportlib/vendor-modified/boost/typeof/unsupported.hpp +0 -29
  1286. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +0 -166
  1287. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +0 -321
  1288. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +0 -471
  1289. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +0 -621
  1290. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +0 -171
  1291. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa.hpp +0 -1921
  1292. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fwd.hpp +0 -64
  1293. /data/dev/{webpacketpp.patch → websocketpp.patch} +0 -0
@@ -43,8 +43,6 @@
43
43
  // intrusive
44
44
  #include <boost/intrusive/detail/minimal_pair_header.hpp> //pair
45
45
  #include <boost/intrusive/detail/minimal_less_equal_header.hpp>//less, equal
46
- //others
47
- #include <boost/core/no_exceptions_support.hpp>
48
46
 
49
47
  #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
50
48
  #include <initializer_list>
@@ -156,10 +154,10 @@ class flat_map
156
154
  typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
157
155
  typedef typename impl_tree_t::sequence_type impl_sequence_type;
158
156
 
159
- BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
157
+ inline impl_tree_t &tree()
160
158
  { return m_flat_tree; }
161
159
 
162
- BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
160
+ inline const impl_tree_t &tree() const
163
161
  { return m_flat_tree; }
164
162
 
165
163
  private:
@@ -200,7 +198,7 @@ class flat_map
200
198
  typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
201
199
 
202
200
  //AllocatorOrContainer::value_type must be std::pair<Key, T>
203
- BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
201
+ BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
204
202
 
205
203
  //////////////////////////////////////////////
206
204
  //
@@ -211,7 +209,7 @@ class flat_map
211
209
  //! <b>Effects</b>: Default constructs an empty flat_map.
212
210
  //!
213
211
  //! <b>Complexity</b>: Constant.
214
- BOOST_CONTAINER_FORCEINLINE flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
212
+ inline flat_map() BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
215
213
  dtl::is_nothrow_default_constructible<Compare>::value)
216
214
  : m_flat_tree()
217
215
  {}
@@ -219,7 +217,7 @@ class flat_map
219
217
  //! <b>Effects</b>: Constructs an empty flat_map using the specified allocator.
220
218
  //!
221
219
  //! <b>Complexity</b>: Constant.
222
- BOOST_CONTAINER_FORCEINLINE explicit flat_map(const allocator_type& a)
220
+ inline explicit flat_map(const allocator_type& a)
223
221
  : m_flat_tree(dtl::force<const impl_allocator_type>(a))
224
222
  {}
225
223
 
@@ -227,7 +225,7 @@ class flat_map
227
225
  //! comparison object.
228
226
  //!
229
227
  //! <b>Complexity</b>: Constant.
230
- BOOST_CONTAINER_FORCEINLINE explicit flat_map(const Compare& comp)
228
+ inline explicit flat_map(const Compare& comp)
231
229
  : m_flat_tree(comp)
232
230
  {}
233
231
 
@@ -235,7 +233,7 @@ class flat_map
235
233
  //! comparison object and allocator.
236
234
  //!
237
235
  //! <b>Complexity</b>: Constant.
238
- BOOST_CONTAINER_FORCEINLINE flat_map(const Compare& comp, const allocator_type& a)
236
+ inline flat_map(const Compare& comp, const allocator_type& a)
239
237
  : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
240
238
  {}
241
239
 
@@ -245,7 +243,7 @@ class flat_map
245
243
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
246
244
  //! the predicate and otherwise N logN, where N is last - first.
247
245
  template <class InputIterator>
248
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last)
246
+ inline flat_map(InputIterator first, InputIterator last)
249
247
  : m_flat_tree(true, first, last)
250
248
  {}
251
249
 
@@ -255,7 +253,7 @@ class flat_map
255
253
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
256
254
  //! the predicate and otherwise N logN, where N is last - first.
257
255
  template <class InputIterator>
258
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const allocator_type& a)
256
+ inline flat_map(InputIterator first, InputIterator last, const allocator_type& a)
259
257
  : m_flat_tree(true, first, last, dtl::force<const impl_allocator_type>(a))
260
258
  {}
261
259
 
@@ -265,7 +263,7 @@ class flat_map
265
263
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
266
264
  //! the predicate and otherwise N logN, where N is last - first.
267
265
  template <class InputIterator>
268
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp)
266
+ inline flat_map(InputIterator first, InputIterator last, const Compare& comp)
269
267
  : m_flat_tree(true, first, last, comp)
270
268
  {}
271
269
 
@@ -275,7 +273,7 @@ class flat_map
275
273
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
276
274
  //! the predicate and otherwise N logN, where N is last - first.
277
275
  template <class InputIterator>
278
- BOOST_CONTAINER_FORCEINLINE flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
276
+ inline flat_map(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
279
277
  : m_flat_tree(true, first, last, comp, dtl::force<const impl_allocator_type>(a))
280
278
  {}
281
279
 
@@ -289,7 +287,7 @@ class flat_map
289
287
  //!
290
288
  //! <b>Note</b>: Non-standard extension.
291
289
  template <class InputIterator>
292
- BOOST_CONTAINER_FORCEINLINE
290
+ inline
293
291
  flat_map(ordered_unique_range_t, InputIterator first, InputIterator last)
294
292
  : m_flat_tree(ordered_range, first, last)
295
293
  {}
@@ -304,7 +302,7 @@ class flat_map
304
302
  //!
305
303
  //! <b>Note</b>: Non-standard extension.
306
304
  template <class InputIterator>
307
- BOOST_CONTAINER_FORCEINLINE
305
+ inline
308
306
  flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp)
309
307
  : m_flat_tree(ordered_range, first, last, comp)
310
308
  {}
@@ -319,7 +317,7 @@ class flat_map
319
317
  //!
320
318
  //! <b>Note</b>: Non-standard extension.
321
319
  template <class InputIterator>
322
- BOOST_CONTAINER_FORCEINLINE
320
+ inline
323
321
  flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
324
322
  : m_flat_tree(ordered_range, first, last, comp, dtl::force<const impl_allocator_type>(a))
325
323
  {}
@@ -334,7 +332,7 @@ class flat_map
334
332
  //!
335
333
  //! <b>Note</b>: Non-standard extension.
336
334
  template <class InputIterator>
337
- BOOST_CONTAINER_FORCEINLINE
335
+ inline
338
336
  flat_map(ordered_unique_range_t, InputIterator first, InputIterator last, const allocator_type& a)
339
337
  : m_flat_tree(ordered_range, first, last, Compare(), a)
340
338
  {}
@@ -345,7 +343,7 @@ class flat_map
345
343
  //!
346
344
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
347
345
  //! the predicate and otherwise N logN, where N is last - first.
348
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il)
346
+ inline flat_map(std::initializer_list<value_type> il)
349
347
  : m_flat_tree( true
350
348
  , dtl::force<impl_initializer_list>(il).begin()
351
349
  , dtl::force<impl_initializer_list>(il).end())
@@ -356,7 +354,7 @@ class flat_map
356
354
  //!
357
355
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
358
356
  //! the predicate and otherwise N logN, where N is last - first.
359
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const allocator_type& a)
357
+ inline flat_map(std::initializer_list<value_type> il, const allocator_type& a)
360
358
  : m_flat_tree( true
361
359
  , dtl::force<impl_initializer_list>(il).begin()
362
360
  , dtl::force<impl_initializer_list>(il).end()
@@ -368,7 +366,7 @@ class flat_map
368
366
  //!
369
367
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
370
368
  //! the predicate and otherwise N logN, where N is last - first.
371
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp)
369
+ inline flat_map(std::initializer_list<value_type> il, const Compare& comp)
372
370
  : m_flat_tree(true
373
371
  , dtl::force<impl_initializer_list>(il).begin()
374
372
  , dtl::force<impl_initializer_list>(il).end()
@@ -380,7 +378,7 @@ class flat_map
380
378
  //!
381
379
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
382
380
  //! the predicate and otherwise N logN, where N is last - first.
383
- BOOST_CONTAINER_FORCEINLINE flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
381
+ inline flat_map(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
384
382
  : m_flat_tree(true
385
383
  , dtl::force<impl_initializer_list>(il).begin()
386
384
  , dtl::force<impl_initializer_list>(il).end()
@@ -398,7 +396,7 @@ class flat_map
398
396
  //! <b>Complexity</b>: Linear in N.
399
397
  //!
400
398
  //! <b>Note</b>: Non-standard extension.
401
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
399
+ inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il)
402
400
  : m_flat_tree(ordered_unique_range
403
401
  , dtl::force<impl_initializer_list>(il).begin()
404
402
  , dtl::force<impl_initializer_list>(il).end())
@@ -414,7 +412,7 @@ class flat_map
414
412
  //! <b>Complexity</b>: Linear in N.
415
413
  //!
416
414
  //! <b>Note</b>: Non-standard extension.
417
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
415
+ inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp)
418
416
  : m_flat_tree(ordered_unique_range
419
417
  , dtl::force<impl_initializer_list>(il).begin()
420
418
  , dtl::force<impl_initializer_list>(il).end()
@@ -431,7 +429,7 @@ class flat_map
431
429
  //! <b>Complexity</b>: Linear in N.
432
430
  //!
433
431
  //! <b>Note</b>: Non-standard extension.
434
- BOOST_CONTAINER_FORCEINLINE flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
432
+ inline flat_map(ordered_unique_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
435
433
  : m_flat_tree( ordered_unique_range
436
434
  , dtl::force<impl_initializer_list>(il).begin()
437
435
  , dtl::force<impl_initializer_list>(il).end()
@@ -443,7 +441,7 @@ class flat_map
443
441
  //! <b>Effects</b>: Copy constructs a flat_map.
444
442
  //!
445
443
  //! <b>Complexity</b>: Linear in x.size().
446
- BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x)
444
+ inline flat_map(const flat_map& x)
447
445
  : m_flat_tree(x.m_flat_tree)
448
446
  {}
449
447
 
@@ -453,7 +451,7 @@ class flat_map
453
451
  //! <b>Complexity</b>: Constant.
454
452
  //!
455
453
  //! <b>Postcondition</b>: x is emptied.
456
- BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x)
454
+ inline flat_map(BOOST_RV_REF(flat_map) x)
457
455
  BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
458
456
  : m_flat_tree(boost::move(x.m_flat_tree))
459
457
  {}
@@ -461,7 +459,7 @@ class flat_map
461
459
  //! <b>Effects</b>: Copy constructs a flat_map using the specified allocator.
462
460
  //!
463
461
  //! <b>Complexity</b>: Linear in x.size().
464
- BOOST_CONTAINER_FORCEINLINE flat_map(const flat_map& x, const allocator_type &a)
462
+ inline flat_map(const flat_map& x, const allocator_type &a)
465
463
  : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
466
464
  {}
467
465
 
@@ -469,14 +467,14 @@ class flat_map
469
467
  //! Constructs *this using x's resources.
470
468
  //!
471
469
  //! <b>Complexity</b>: Constant if x.get_allocator() == a, linear otherwise.
472
- BOOST_CONTAINER_FORCEINLINE flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
470
+ inline flat_map(BOOST_RV_REF(flat_map) x, const allocator_type &a)
473
471
  : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
474
472
  {}
475
473
 
476
474
  //! <b>Effects</b>: Makes *this a copy of x.
477
475
  //!
478
476
  //! <b>Complexity</b>: Linear in x.size().
479
- BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
477
+ inline flat_map& operator=(BOOST_COPY_ASSIGN_REF(flat_map) x)
480
478
  { m_flat_tree = x.m_flat_tree; return *this; }
481
479
 
482
480
  //! <b>Effects</b>: Move constructs a flat_map.
@@ -488,7 +486,7 @@ class flat_map
488
486
  //! <b>Complexity</b>: Constant if allocator_traits_type::
489
487
  //! propagate_on_container_move_assignment is true or
490
488
  //! this->get>allocator() == x.get_allocator(). Linear otherwise.
491
- BOOST_CONTAINER_FORCEINLINE flat_map& operator=(BOOST_RV_REF(flat_map) x)
489
+ inline flat_map& operator=(BOOST_RV_REF(flat_map) x)
492
490
  BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
493
491
  allocator_traits_type::is_always_equal::value) &&
494
492
  boost::container::dtl::is_nothrow_move_assignable<Compare>::value)
@@ -508,7 +506,7 @@ class flat_map
508
506
  //! was passed to the object's constructor.
509
507
  //!
510
508
  //! <b>Complexity</b>: Constant.
511
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
509
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
512
510
  allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
513
511
  { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
514
512
 
@@ -519,7 +517,7 @@ class flat_map
519
517
  //! <b>Complexity</b>: Constant.
520
518
  //!
521
519
  //! <b>Note</b>: Non-standard extension.
522
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
520
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
523
521
  get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
524
522
  {
525
523
  impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
@@ -533,7 +531,7 @@ class flat_map
533
531
  //! <b>Complexity</b>: Constant.
534
532
  //!
535
533
  //! <b>Note</b>: Non-standard extension.
536
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
534
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
537
535
  get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
538
536
  {
539
537
  impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
@@ -551,7 +549,7 @@ class flat_map
551
549
  //! <b>Throws</b>: Nothing.
552
550
  //!
553
551
  //! <b>Complexity</b>: Constant.
554
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
552
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
555
553
  iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
556
554
  { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
557
555
 
@@ -560,7 +558,7 @@ class flat_map
560
558
  //! <b>Throws</b>: Nothing.
561
559
  //!
562
560
  //! <b>Complexity</b>: Constant.
563
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
561
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
564
562
  const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
565
563
  { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
566
564
 
@@ -569,7 +567,7 @@ class flat_map
569
567
  //! <b>Throws</b>: Nothing.
570
568
  //!
571
569
  //! <b>Complexity</b>: Constant.
572
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
570
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
573
571
  iterator end() BOOST_NOEXCEPT_OR_NOTHROW
574
572
  { return dtl::force_copy<iterator>(m_flat_tree.end()); }
575
573
 
@@ -578,7 +576,7 @@ class flat_map
578
576
  //! <b>Throws</b>: Nothing.
579
577
  //!
580
578
  //! <b>Complexity</b>: Constant.
581
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
579
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
582
580
  const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
583
581
  { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
584
582
 
@@ -588,7 +586,7 @@ class flat_map
588
586
  //! <b>Throws</b>: Nothing.
589
587
  //!
590
588
  //! <b>Complexity</b>: Constant.
591
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
589
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
592
590
  reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
593
591
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
594
592
 
@@ -598,7 +596,7 @@ class flat_map
598
596
  //! <b>Throws</b>: Nothing.
599
597
  //!
600
598
  //! <b>Complexity</b>: Constant.
601
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
599
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
602
600
  const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
603
601
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
604
602
 
@@ -608,7 +606,7 @@ class flat_map
608
606
  //! <b>Throws</b>: Nothing.
609
607
  //!
610
608
  //! <b>Complexity</b>: Constant.
611
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
609
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
612
610
  reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
613
611
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
614
612
 
@@ -618,7 +616,7 @@ class flat_map
618
616
  //! <b>Throws</b>: Nothing.
619
617
  //!
620
618
  //! <b>Complexity</b>: Constant.
621
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
619
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
622
620
  const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
623
621
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
624
622
 
@@ -627,7 +625,7 @@ class flat_map
627
625
  //! <b>Throws</b>: Nothing.
628
626
  //!
629
627
  //! <b>Complexity</b>: Constant.
630
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
628
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
631
629
  const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
632
630
  { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
633
631
 
@@ -636,7 +634,7 @@ class flat_map
636
634
  //! <b>Throws</b>: Nothing.
637
635
  //!
638
636
  //! <b>Complexity</b>: Constant.
639
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
637
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
640
638
  const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
641
639
  { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
642
640
 
@@ -646,7 +644,7 @@ class flat_map
646
644
  //! <b>Throws</b>: Nothing.
647
645
  //!
648
646
  //! <b>Complexity</b>: Constant.
649
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
647
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
650
648
  const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
651
649
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
652
650
 
@@ -656,7 +654,7 @@ class flat_map
656
654
  //! <b>Throws</b>: Nothing.
657
655
  //!
658
656
  //! <b>Complexity</b>: Constant.
659
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
657
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
660
658
  const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
661
659
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
662
660
 
@@ -671,7 +669,7 @@ class flat_map
671
669
  //! <b>Throws</b>: Nothing.
672
670
  //!
673
671
  //! <b>Complexity</b>: Constant.
674
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
672
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
675
673
  bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
676
674
  { return m_flat_tree.empty(); }
677
675
 
@@ -680,7 +678,7 @@ class flat_map
680
678
  //! <b>Throws</b>: Nothing.
681
679
  //!
682
680
  //! <b>Complexity</b>: Constant.
683
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
681
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
684
682
  size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
685
683
  { return m_flat_tree.size(); }
686
684
 
@@ -689,7 +687,7 @@ class flat_map
689
687
  //! <b>Throws</b>: Nothing.
690
688
  //!
691
689
  //! <b>Complexity</b>: Constant.
692
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
690
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
693
691
  size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
694
692
  { return m_flat_tree.max_size(); }
695
693
 
@@ -699,7 +697,7 @@ class flat_map
699
697
  //! <b>Throws</b>: Nothing.
700
698
  //!
701
699
  //! <b>Complexity</b>: Constant.
702
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
700
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
703
701
  size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
704
702
  { return m_flat_tree.capacity(); }
705
703
 
@@ -713,7 +711,7 @@ class flat_map
713
711
  //!
714
712
  //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
715
713
  //! to values might be invalidated.
716
- BOOST_CONTAINER_FORCEINLINE void reserve(size_type cnt)
714
+ inline void reserve(size_type cnt)
717
715
  { m_flat_tree.reserve(cnt); }
718
716
 
719
717
  //! <b>Effects</b>: Tries to deallocate the excess of memory created
@@ -722,7 +720,7 @@ class flat_map
722
720
  //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
723
721
  //!
724
722
  //! <b>Complexity</b>: Linear to size().
725
- BOOST_CONTAINER_FORCEINLINE void shrink_to_fit()
723
+ inline void shrink_to_fit()
726
724
  { m_flat_tree.shrink_to_fit(); }
727
725
 
728
726
  //////////////////////////////////////////////
@@ -749,8 +747,8 @@ class flat_map
749
747
  mapped_type &operator[](key_type &&k);
750
748
  #elif defined(BOOST_MOVE_HELPERS_RETURN_SFINAE_BROKEN)
751
749
  //in compilers like GCC 3.4, we can't catch temporaries
752
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
753
- BOOST_CONTAINER_FORCEINLINE mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
750
+ inline mapped_type& operator[](const key_type &k) { return this->priv_subscript(k); }
751
+ inline mapped_type& operator[](BOOST_RV_REF(key_type) k) { return this->priv_subscript(::boost::move(k)); }
754
752
  #else
755
753
  BOOST_MOVE_CONVERSION_AWARE_CATCH( operator[] , key_type, mapped_type&, this->priv_subscript)
756
754
  #endif
@@ -768,7 +766,7 @@ class flat_map
768
766
  //!
769
767
  //! Complexity: Logarithmic search time plus linear insertion time in case no equivalent key is present.
770
768
  template <class M>
771
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
769
+ inline std::pair<iterator, bool> insert_or_assign(const key_type& k, BOOST_FWD_REF(M) obj)
772
770
  {
773
771
  return dtl::force_copy< std::pair<iterator, bool> >
774
772
  (this->m_flat_tree.insert_or_assign
@@ -789,7 +787,7 @@ class flat_map
789
787
  //!
790
788
  //! Complexity: Logarithmic in the size of the container.
791
789
  template <class M>
792
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
790
+ inline std::pair<iterator, bool> insert_or_assign(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
793
791
  {
794
792
  return dtl::force_copy< std::pair<iterator, bool> >
795
793
  (this->m_flat_tree.insert_or_assign
@@ -812,7 +810,7 @@ class flat_map
812
810
  //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
813
811
  //! the new element is inserted just before hint.
814
812
  template <class M>
815
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
813
+ inline iterator insert_or_assign(const_iterator hint, const key_type& k, BOOST_FWD_REF(M) obj)
816
814
  {
817
815
  return dtl::force_copy<iterator>
818
816
  (this->m_flat_tree.insert_or_assign
@@ -836,7 +834,7 @@ class flat_map
836
834
  //! Complexity: Logarithmic in the size of the container in general, but amortized constant if
837
835
  //! the new element is inserted just before hint.
838
836
  template <class M>
839
- BOOST_CONTAINER_FORCEINLINE iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
837
+ inline iterator insert_or_assign(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(M) obj)
840
838
  {
841
839
  return dtl::force_copy<iterator>
842
840
  (this->m_flat_tree.insert_or_assign
@@ -846,22 +844,22 @@ class flat_map
846
844
  }
847
845
 
848
846
  //! @copydoc ::boost::container::flat_set::nth(size_type)
849
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
847
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
850
848
  iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
851
849
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
852
850
 
853
851
  //! @copydoc ::boost::container::flat_set::nth(size_type) const
854
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
852
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
855
853
  const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
856
854
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
857
855
 
858
856
  //! @copydoc ::boost::container::flat_set::index_of(iterator)
859
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
857
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
860
858
  size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
861
859
  { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
862
860
 
863
861
  //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
864
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
862
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
865
863
  size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
866
864
  { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
867
865
 
@@ -914,7 +912,7 @@ class flat_map
914
912
  //!
915
913
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
916
914
  template <class... Args>
917
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
915
+ inline std::pair<iterator,bool> emplace(BOOST_FWD_REF(Args)... args)
918
916
  { return dtl::force_copy< std::pair<iterator, bool> >(m_flat_tree.emplace_unique(boost::forward<Args>(args)...)); }
919
917
 
920
918
  //! <b>Effects</b>: Inserts an object of type T constructed with
@@ -930,7 +928,7 @@ class flat_map
930
928
  //!
931
929
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
932
930
  template <class... Args>
933
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
931
+ inline iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
934
932
  {
935
933
  return dtl::force_copy<iterator>
936
934
  (m_flat_tree.emplace_hint_unique( dtl::force_copy<impl_const_iterator>(hint)
@@ -949,7 +947,7 @@ class flat_map
949
947
  //!
950
948
  //! <b>Complexity</b>: Logarithmic.
951
949
  template <class... Args>
952
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
950
+ inline std::pair<iterator, bool> try_emplace(const key_type& k, BOOST_FWD_REF(Args)... args)
953
951
  {
954
952
  return dtl::force_copy< std::pair<iterator, bool> >(
955
953
  m_flat_tree.try_emplace(impl_const_iterator(), k, boost::forward<Args>(args)...));
@@ -967,7 +965,7 @@ class flat_map
967
965
  //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
968
966
  //! is inserted right before p.
969
967
  template <class... Args>
970
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
968
+ inline iterator try_emplace(const_iterator hint, const key_type &k, BOOST_FWD_REF(Args)... args)
971
969
  {
972
970
  return dtl::force_copy<iterator>(m_flat_tree.try_emplace
973
971
  (dtl::force_copy<impl_const_iterator>(hint), k, boost::forward<Args>(args)...).first);
@@ -985,7 +983,7 @@ class flat_map
985
983
  //!
986
984
  //! <b>Complexity</b>: Logarithmic search time plus linear insertion time in case the key is not present.
987
985
  template <class... Args>
988
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
986
+ inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
989
987
  {
990
988
  return dtl::force_copy< std::pair<iterator, bool> >
991
989
  (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k), boost::forward<Args>(args)...));
@@ -1003,7 +1001,7 @@ class flat_map
1003
1001
  //! <b>Complexity</b>: Logarithmic in general, but amortized constant if value
1004
1002
  //! is inserted right before p. Linear insertion time in case no equivalent key is present.
1005
1003
  template <class... Args>
1006
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
1004
+ inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k, BOOST_FWD_REF(Args)... args)
1007
1005
  {
1008
1006
  return dtl::force_copy<iterator>
1009
1007
  (m_flat_tree.try_emplace(dtl::force_copy
@@ -1014,39 +1012,39 @@ class flat_map
1014
1012
 
1015
1013
  #define BOOST_CONTAINER_FLAT_MAP_EMPLACE_CODE(N) \
1016
1014
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1017
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
1015
+ inline std::pair<iterator,bool> emplace(BOOST_MOVE_UREF##N)\
1018
1016
  {\
1019
1017
  return dtl::force_copy< std::pair<iterator, bool> >\
1020
1018
  (m_flat_tree.emplace_unique(BOOST_MOVE_FWD##N));\
1021
1019
  }\
1022
1020
  \
1023
1021
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1024
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1022
+ inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1025
1023
  {\
1026
1024
  return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_unique\
1027
1025
  (dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1028
1026
  }\
1029
1027
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1030
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1028
+ inline std::pair<iterator, bool> try_emplace(const key_type& k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1031
1029
  {\
1032
1030
  return dtl::force_copy< std::pair<iterator, bool> >\
1033
1031
  (m_flat_tree.try_emplace(impl_const_iterator(), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1034
1032
  }\
1035
1033
  \
1036
1034
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1037
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1035
+ inline iterator try_emplace(const_iterator hint, const key_type &k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1038
1036
  { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
1039
1037
  (dtl::force_copy<impl_const_iterator>(hint), k BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
1040
1038
  \
1041
1039
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1042
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1040
+ inline std::pair<iterator, bool> try_emplace(BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1043
1041
  {\
1044
1042
  return dtl::force_copy< std::pair<iterator, bool> >\
1045
1043
  (m_flat_tree.try_emplace(impl_const_iterator(), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
1046
1044
  }\
1047
1045
  \
1048
1046
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
1049
- BOOST_CONTAINER_FORCEINLINE iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1047
+ inline iterator try_emplace(const_iterator hint, BOOST_RV_REF(key_type) k BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
1050
1048
  { return dtl::force_copy<iterator>(m_flat_tree.try_emplace\
1051
1049
  (dtl::force_copy<impl_const_iterator>(hint), boost::move(k) BOOST_MOVE_I##N BOOST_MOVE_FWD##N).first); }\
1052
1050
  //
@@ -1066,7 +1064,7 @@ class flat_map
1066
1064
  //! to the elements with bigger keys than x.
1067
1065
  //!
1068
1066
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1069
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(const value_type& x)
1067
+ inline std::pair<iterator,bool> insert(const value_type& x)
1070
1068
  { return dtl::force_copy<std::pair<iterator,bool> >(
1071
1069
  m_flat_tree.insert_unique(dtl::force<const impl_value_type>(x))); }
1072
1070
 
@@ -1081,7 +1079,7 @@ class flat_map
1081
1079
  //! to the elements with bigger keys than x.
1082
1080
  //!
1083
1081
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1084
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
1082
+ inline std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
1085
1083
  {
1086
1084
  return dtl::force_copy<std::pair<iterator,bool> >(
1087
1085
  m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
@@ -1099,7 +1097,7 @@ class flat_map
1099
1097
  //!
1100
1098
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1101
1099
  template <class Pair>
1102
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1100
+ inline BOOST_CONTAINER_DOC1ST
1103
1101
  ( std::pair<iterator BOOST_MOVE_I bool>
1104
1102
  , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1105
1103
  BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
@@ -1120,7 +1118,7 @@ class flat_map
1120
1118
  //! right before p) plus insertion linear to the elements with bigger keys than x.
1121
1119
  //!
1122
1120
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1123
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
1121
+ inline iterator insert(const_iterator p, const value_type& x)
1124
1122
  {
1125
1123
  return dtl::force_copy<iterator>(
1126
1124
  m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
@@ -1136,7 +1134,7 @@ class flat_map
1136
1134
  //! right before p) plus insertion linear to the elements with bigger keys than x.
1137
1135
  //!
1138
1136
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1139
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
1137
+ inline iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
1140
1138
  {
1141
1139
  return dtl::force_copy<iterator>
1142
1140
  (m_flat_tree.insert_unique( dtl::force_copy<impl_const_iterator>(p)
@@ -1153,7 +1151,7 @@ class flat_map
1153
1151
  //!
1154
1152
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1155
1153
  template <class Pair>
1156
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1154
+ inline BOOST_CONTAINER_DOC1ST
1157
1155
  ( iterator
1158
1156
  , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1159
1157
  BOOST_MOVE_I iterator>::type)
@@ -1172,7 +1170,7 @@ class flat_map
1172
1170
  //!
1173
1171
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1174
1172
  template <class InputIterator>
1175
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
1173
+ inline void insert(InputIterator first, InputIterator last)
1176
1174
  { m_flat_tree.insert_unique(first, last); }
1177
1175
 
1178
1176
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -1190,7 +1188,7 @@ class flat_map
1190
1188
  //!
1191
1189
  //! <b>Note</b>: Non-standard extension.
1192
1190
  template <class InputIterator>
1193
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
1191
+ inline void insert(ordered_unique_range_t, InputIterator first, InputIterator last)
1194
1192
  { m_flat_tree.insert_unique(ordered_unique_range, first, last); }
1195
1193
 
1196
1194
  #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
@@ -1200,7 +1198,7 @@ class flat_map
1200
1198
  //! <b>Complexity</b>: N log(N).
1201
1199
  //!
1202
1200
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1203
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
1201
+ inline void insert(std::initializer_list<value_type> il)
1204
1202
  {
1205
1203
  m_flat_tree.insert_unique( dtl::force<impl_initializer_list>(il).begin()
1206
1204
  , dtl::force<impl_initializer_list>(il).end());
@@ -1218,7 +1216,7 @@ class flat_map
1218
1216
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1219
1217
  //!
1220
1218
  //! <b>Note</b>: Non-standard extension.
1221
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
1219
+ inline void insert(ordered_unique_range_t, std::initializer_list<value_type> il)
1222
1220
  {
1223
1221
  m_flat_tree.insert_unique(ordered_unique_range
1224
1222
  , dtl::force<impl_initializer_list>(il).begin()
@@ -1236,22 +1234,22 @@ class flat_map
1236
1234
  //!
1237
1235
  //! <b>Note</b>: Invalidates all iterators and references.
1238
1236
  template<class C2>
1239
- BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
1237
+ inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
1240
1238
  { m_flat_tree.merge_unique(source.tree()); }
1241
1239
 
1242
1240
  //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1243
1241
  template<class C2>
1244
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1242
+ inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1245
1243
  { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
1246
1244
 
1247
1245
  //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1248
1246
  template<class C2>
1249
- BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
1247
+ inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
1250
1248
  { m_flat_tree.merge_unique(source.tree()); }
1251
1249
 
1252
1250
  //! @copydoc ::boost::container::flat_map::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
1253
1251
  template<class C2>
1254
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1252
+ inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
1255
1253
  { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
1256
1254
 
1257
1255
  //! <b>Effects</b>: Erases the element pointed to by p.
@@ -1264,7 +1262,7 @@ class flat_map
1264
1262
  //!
1265
1263
  //! <b>Note</b>: Invalidates elements with keys
1266
1264
  //! not less than the erased element.
1267
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
1265
+ inline iterator erase(const_iterator p)
1268
1266
  {
1269
1267
  return dtl::force_copy<iterator>
1270
1268
  (m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
@@ -1276,7 +1274,7 @@ class flat_map
1276
1274
  //!
1277
1275
  //! <b>Complexity</b>: Logarithmic search time plus erasure time
1278
1276
  //! linear to the elements with bigger keys.
1279
- BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
1277
+ inline size_type erase(const key_type& x)
1280
1278
  { return m_flat_tree.erase_unique(x); }
1281
1279
 
1282
1280
  //! <b>Effects</b>: Erases all the elements in the range [first, last).
@@ -1287,7 +1285,7 @@ class flat_map
1287
1285
  //!
1288
1286
  //! <b>Complexity</b>: Logarithmic search time plus erasure time
1289
1287
  //! linear to the elements with bigger keys.
1290
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
1288
+ inline iterator erase(const_iterator first, const_iterator last)
1291
1289
  {
1292
1290
  return dtl::force_copy<iterator>(
1293
1291
  m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
@@ -1299,7 +1297,7 @@ class flat_map
1299
1297
  //! <b>Throws</b>: Nothing.
1300
1298
  //!
1301
1299
  //! <b>Complexity</b>: Constant.
1302
- BOOST_CONTAINER_FORCEINLINE void swap(flat_map& x)
1300
+ inline void swap(flat_map& x)
1303
1301
  BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
1304
1302
  && boost::container::dtl::is_nothrow_swappable<Compare>::value )
1305
1303
  { m_flat_tree.swap(x.m_flat_tree); }
@@ -1309,7 +1307,7 @@ class flat_map
1309
1307
  //! <b>Postcondition</b>: size() == 0.
1310
1308
  //!
1311
1309
  //! <b>Complexity</b>: linear in size().
1312
- BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
1310
+ inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
1313
1311
  { m_flat_tree.clear(); }
1314
1312
 
1315
1313
  //////////////////////////////////////////////
@@ -1322,7 +1320,7 @@ class flat_map
1322
1320
  //! of which a was constructed.
1323
1321
  //!
1324
1322
  //! <b>Complexity</b>: Constant.
1325
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1323
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1326
1324
  key_compare key_comp() const
1327
1325
  { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
1328
1326
 
@@ -1330,7 +1328,7 @@ class flat_map
1330
1328
  //! of the comparison object.
1331
1329
  //!
1332
1330
  //! <b>Complexity</b>: Constant.
1333
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1331
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1334
1332
  value_compare value_comp() const
1335
1333
  { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
1336
1334
 
@@ -1344,7 +1342,7 @@ class flat_map
1344
1342
  //! equivalent to x, or end() if such an element is not found.
1345
1343
  //!
1346
1344
  //! <b>Complexity</b>: Logarithmic.
1347
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1345
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1348
1346
  iterator find(const key_type& x)
1349
1347
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1350
1348
 
@@ -1352,7 +1350,7 @@ class flat_map
1352
1350
  //! equivalent to x, or end() if such an element is not found.
1353
1351
  //!
1354
1352
  //! <b>Complexity</b>: Logarithmic.
1355
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1353
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1356
1354
  const_iterator find(const key_type& x) const
1357
1355
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1358
1356
 
@@ -1364,7 +1362,7 @@ class flat_map
1364
1362
  //!
1365
1363
  //! <b>Complexity</b>: Logarithmic.
1366
1364
  template<class K>
1367
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1365
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1368
1366
  iterator find(const K& x)
1369
1367
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1370
1368
 
@@ -1376,14 +1374,14 @@ class flat_map
1376
1374
  //!
1377
1375
  //! <b>Complexity</b>: Logarithmic.
1378
1376
  template<class K>
1379
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1377
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1380
1378
  const_iterator find(const K& x) const
1381
1379
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1382
1380
 
1383
1381
  //! <b>Returns</b>: The number of elements with key equivalent to x.
1384
1382
  //!
1385
1383
  //! <b>Complexity</b>: log(size())+count(k)
1386
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1384
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1387
1385
  size_type count(const key_type& x) const
1388
1386
  { return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
1389
1387
 
@@ -1394,7 +1392,7 @@ class flat_map
1394
1392
  //!
1395
1393
  //! <b>Complexity</b>: log(size())+count(k)
1396
1394
  template<class K>
1397
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1395
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1398
1396
  size_type count(const K& x) const
1399
1397
  //Don't use find() != end optimization here as transparent comparators with key K might
1400
1398
  //return a different range than key_type (which can only return a single element range)
@@ -1404,7 +1402,7 @@ class flat_map
1404
1402
  //! equivalent to key in the container, otherwise false.
1405
1403
  //!
1406
1404
  //! <b>Complexity</b>: log(size()).
1407
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1405
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1408
1406
  bool contains(const key_type& x) const
1409
1407
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
1410
1408
 
@@ -1416,7 +1414,7 @@ class flat_map
1416
1414
  //!
1417
1415
  //! <b>Complexity</b>: log(size()).
1418
1416
  template<typename K>
1419
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1417
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1420
1418
  bool contains(const K& x) const
1421
1419
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
1422
1420
 
@@ -1424,7 +1422,7 @@ class flat_map
1424
1422
  //! than x, or end() if such an element is not found.
1425
1423
  //!
1426
1424
  //! <b>Complexity</b>: Logarithmic.
1427
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1425
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1428
1426
  iterator lower_bound(const key_type& x)
1429
1427
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1430
1428
 
@@ -1432,7 +1430,7 @@ class flat_map
1432
1430
  //! less than x, or end() if such an element is not found.
1433
1431
  //!
1434
1432
  //! <b>Complexity</b>: Logarithmic.
1435
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1433
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1436
1434
  const_iterator lower_bound(const key_type& x) const
1437
1435
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1438
1436
 
@@ -1444,7 +1442,7 @@ class flat_map
1444
1442
  //!
1445
1443
  //! <b>Complexity</b>: Logarithmic.
1446
1444
  template<class K>
1447
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1445
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1448
1446
  iterator lower_bound(const K& x)
1449
1447
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1450
1448
 
@@ -1456,7 +1454,7 @@ class flat_map
1456
1454
  //!
1457
1455
  //! <b>Complexity</b>: Logarithmic.
1458
1456
  template<class K>
1459
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1457
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1460
1458
  const_iterator lower_bound(const K& x) const
1461
1459
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1462
1460
 
@@ -1464,7 +1462,7 @@ class flat_map
1464
1462
  //! than x, or end() if such an element is not found.
1465
1463
  //!
1466
1464
  //! <b>Complexity</b>: Logarithmic.
1467
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1465
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1468
1466
  iterator upper_bound(const key_type& x)
1469
1467
  { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1470
1468
 
@@ -1472,7 +1470,7 @@ class flat_map
1472
1470
  //! greater than x, or end() if such an element is not found.
1473
1471
  //!
1474
1472
  //! <b>Complexity</b>: Logarithmic.
1475
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1473
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1476
1474
  const_iterator upper_bound(const key_type& x) const
1477
1475
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1478
1476
 
@@ -1484,7 +1482,7 @@ class flat_map
1484
1482
  //!
1485
1483
  //! <b>Complexity</b>: Logarithmic.
1486
1484
  template<class K>
1487
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1485
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1488
1486
  iterator upper_bound(const K& x)
1489
1487
  { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1490
1488
 
@@ -1496,21 +1494,21 @@ class flat_map
1496
1494
  //!
1497
1495
  //! <b>Complexity</b>: Logarithmic.
1498
1496
  template<class K>
1499
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1497
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1500
1498
  const_iterator upper_bound(const K& x) const
1501
1499
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1502
1500
 
1503
1501
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1504
1502
  //!
1505
1503
  //! <b>Complexity</b>: Logarithmic.
1506
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1504
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1507
1505
  std::pair<iterator,iterator> equal_range(const key_type& x)
1508
1506
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
1509
1507
 
1510
1508
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1511
1509
  //!
1512
1510
  //! <b>Complexity</b>: Logarithmic.
1513
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1511
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1514
1512
  std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
1515
1513
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
1516
1514
 
@@ -1521,7 +1519,7 @@ class flat_map
1521
1519
  //!
1522
1520
  //! <b>Complexity</b>: Logarithmic.
1523
1521
  template<class K>
1524
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1522
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1525
1523
  std::pair<iterator,iterator> equal_range(const K& x)
1526
1524
  //Don't use lower_bound_range optimization here as transparent comparators with key K might
1527
1525
  //return a different range than key_type (which can only return a single element range)
@@ -1534,7 +1532,7 @@ class flat_map
1534
1532
  //!
1535
1533
  //! <b>Complexity</b>: Logarithmic.
1536
1534
  template<class K>
1537
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1535
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1538
1536
  std::pair<const_iterator, const_iterator> equal_range(const K& x) const
1539
1537
  //Don't use lower_bound_range optimization here as transparent comparators with key K might
1540
1538
  //return a different range than key_type (which can only return a single element range)
@@ -1547,7 +1545,7 @@ class flat_map
1547
1545
  //! <b>Postcondition</b>: this->empty()
1548
1546
  //!
1549
1547
  //! <b>Throws</b>: If secuence_type's move constructor throws
1550
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
1548
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline sequence_type extract_sequence()
1551
1549
  {
1552
1550
  return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
1553
1551
  }
@@ -1558,7 +1556,7 @@ class flat_map
1558
1556
  //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
1559
1557
  //!
1560
1558
  //! <b>Throws</b>: If the comparison or the move constructor throws
1561
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
1559
+ inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
1562
1560
  { this->m_flat_tree.adopt_sequence_unique(boost::move(dtl::force<impl_sequence_type>(seq))); }
1563
1561
 
1564
1562
  //! <b>Requires</b>: seq shall be ordered according to this->compare()
@@ -1570,7 +1568,7 @@ class flat_map
1570
1568
  //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
1571
1569
  //!
1572
1570
  //! <b>Throws</b>: If the move assignment throws
1573
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
1571
+ inline void adopt_sequence(ordered_unique_range_t, BOOST_RV_REF(sequence_type) seq)
1574
1572
  { this->m_flat_tree.adopt_sequence_unique(ordered_unique_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
1575
1573
 
1576
1574
  //! <b>Effects</b>: Returns a const view of the underlying sequence.
@@ -1578,55 +1576,55 @@ class flat_map
1578
1576
  //! <b>Complexity</b>: Constant
1579
1577
  //!
1580
1578
  //! <b>Throws</b>: Nothing
1581
- BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
1579
+ inline const sequence_type & sequence() const BOOST_NOEXCEPT
1582
1580
  { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
1583
1581
 
1584
1582
  //! <b>Effects</b>: Returns true if x and y are equal
1585
1583
  //!
1586
1584
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1587
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1585
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1588
1586
  friend bool operator==(const flat_map& x, const flat_map& y)
1589
1587
  { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
1590
1588
 
1591
1589
  //! <b>Effects</b>: Returns true if x and y are unequal
1592
1590
  //!
1593
1591
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1594
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1592
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1595
1593
  friend bool operator!=(const flat_map& x, const flat_map& y)
1596
1594
  { return !(x == y); }
1597
1595
 
1598
1596
  //! <b>Effects</b>: Returns true if x is less than y
1599
1597
  //!
1600
1598
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1601
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1599
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1602
1600
  friend bool operator<(const flat_map& x, const flat_map& y)
1603
1601
  { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
1604
1602
 
1605
1603
  //! <b>Effects</b>: Returns true if x is greater than y
1606
1604
  //!
1607
1605
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1608
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1606
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1609
1607
  friend bool operator>(const flat_map& x, const flat_map& y)
1610
1608
  { return y < x; }
1611
1609
 
1612
1610
  //! <b>Effects</b>: Returns true if x is equal or less than y
1613
1611
  //!
1614
1612
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1615
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1613
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1616
1614
  friend bool operator<=(const flat_map& x, const flat_map& y)
1617
1615
  { return !(y < x); }
1618
1616
 
1619
1617
  //! <b>Effects</b>: Returns true if x is equal or greater than y
1620
1618
  //!
1621
1619
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1622
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1620
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
1623
1621
  friend bool operator>=(const flat_map& x, const flat_map& y)
1624
1622
  { return !(x < y); }
1625
1623
 
1626
1624
  //! <b>Effects</b>: x.swap(y)
1627
1625
  //!
1628
1626
  //! <b>Complexity</b>: Constant.
1629
- BOOST_CONTAINER_FORCEINLINE friend void swap(flat_map& x, flat_map& y)
1627
+ inline friend void swap(flat_map& x, flat_map& y)
1630
1628
  BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
1631
1629
  { x.swap(y); }
1632
1630
 
@@ -1814,10 +1812,10 @@ class flat_multimap
1814
1812
  typedef typename impl_tree_t::stored_allocator_type impl_stored_allocator_type;
1815
1813
  typedef typename impl_tree_t::sequence_type impl_sequence_type;
1816
1814
 
1817
- BOOST_CONTAINER_FORCEINLINE impl_tree_t &tree()
1815
+ inline impl_tree_t &tree()
1818
1816
  { return m_flat_tree; }
1819
1817
 
1820
- BOOST_CONTAINER_FORCEINLINE const impl_tree_t &tree() const
1818
+ inline const impl_tree_t &tree() const
1821
1819
  { return m_flat_tree; }
1822
1820
 
1823
1821
  private:
@@ -1853,7 +1851,7 @@ class flat_multimap
1853
1851
  typedef BOOST_CONTAINER_IMPDEF(impl_value_type) movable_value_type;
1854
1852
 
1855
1853
  //AllocatorOrContainer::value_type must be std::pair<Key, T>
1856
- BOOST_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
1854
+ BOOST_CONTAINER_STATIC_ASSERT((dtl::is_same<std::pair<Key, T>, value_type>::value));
1857
1855
 
1858
1856
  //////////////////////////////////////////////
1859
1857
  //
@@ -1864,7 +1862,7 @@ class flat_multimap
1864
1862
  //! <b>Effects</b>: Default constructs an empty flat_map.
1865
1863
  //!
1866
1864
  //! <b>Complexity</b>: Constant.
1867
- BOOST_CONTAINER_FORCEINLINE flat_multimap()
1865
+ inline flat_multimap()
1868
1866
  BOOST_NOEXCEPT_IF(dtl::is_nothrow_default_constructible<AllocatorOrContainer>::value &&
1869
1867
  dtl::is_nothrow_default_constructible<Compare>::value)
1870
1868
  : m_flat_tree()
@@ -1873,7 +1871,7 @@ class flat_multimap
1873
1871
  //! <b>Effects</b>: Constructs an empty flat_multimap using the specified allocator.
1874
1872
  //!
1875
1873
  //! <b>Complexity</b>: Constant.
1876
- BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const allocator_type& a)
1874
+ inline explicit flat_multimap(const allocator_type& a)
1877
1875
  : m_flat_tree(dtl::force<const impl_allocator_type>(a))
1878
1876
  {}
1879
1877
 
@@ -1881,7 +1879,7 @@ class flat_multimap
1881
1879
  //! object .
1882
1880
  //!
1883
1881
  //! <b>Complexity</b>: Constant.
1884
- BOOST_CONTAINER_FORCEINLINE explicit flat_multimap(const Compare& comp)
1882
+ inline explicit flat_multimap(const Compare& comp)
1885
1883
  : m_flat_tree(comp)
1886
1884
  {}
1887
1885
 
@@ -1889,7 +1887,7 @@ class flat_multimap
1889
1887
  //! object and allocator.
1890
1888
  //!
1891
1889
  //! <b>Complexity</b>: Constant.
1892
- BOOST_CONTAINER_FORCEINLINE
1890
+ inline
1893
1891
  flat_multimap(const Compare& comp, const allocator_type& a)
1894
1892
  : m_flat_tree(comp, dtl::force<const impl_allocator_type>(a))
1895
1893
  {}
@@ -1900,7 +1898,7 @@ class flat_multimap
1900
1898
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1901
1899
  //! the predicate and otherwise N logN, where N is last - first.
1902
1900
  template <class InputIterator>
1903
- BOOST_CONTAINER_FORCEINLINE
1901
+ inline
1904
1902
  flat_multimap(InputIterator first, InputIterator last)
1905
1903
  : m_flat_tree(false, first, last)
1906
1904
  {}
@@ -1911,7 +1909,7 @@ class flat_multimap
1911
1909
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1912
1910
  //! the predicate and otherwise N logN, where N is last - first.
1913
1911
  template <class InputIterator>
1914
- BOOST_CONTAINER_FORCEINLINE
1912
+ inline
1915
1913
  flat_multimap(InputIterator first, InputIterator last, const allocator_type& a)
1916
1914
  : m_flat_tree(false, first, last, dtl::force<const impl_allocator_type>(a))
1917
1915
  {}
@@ -1922,7 +1920,7 @@ class flat_multimap
1922
1920
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1923
1921
  //! the predicate and otherwise N logN, where N is last - first.
1924
1922
  template <class InputIterator>
1925
- BOOST_CONTAINER_FORCEINLINE
1923
+ inline
1926
1924
  flat_multimap(InputIterator first, InputIterator last, const Compare& comp)
1927
1925
  : m_flat_tree(false, first, last, comp)
1928
1926
  {}
@@ -1933,7 +1931,7 @@ class flat_multimap
1933
1931
  //! <b>Complexity</b>: Linear in N if the range [first ,last ) is already sorted using
1934
1932
  //! the predicate and otherwise N logN, where N is last - first.
1935
1933
  template <class InputIterator>
1936
- BOOST_CONTAINER_FORCEINLINE
1934
+ inline
1937
1935
  flat_multimap(InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
1938
1936
  : m_flat_tree(false, first, last, comp, dtl::force<const impl_allocator_type>(a))
1939
1937
  {}
@@ -1948,7 +1946,7 @@ class flat_multimap
1948
1946
  //!
1949
1947
  //! <b>Note</b>: Non-standard extension.
1950
1948
  template <class InputIterator>
1951
- BOOST_CONTAINER_FORCEINLINE
1949
+ inline
1952
1950
  flat_multimap(ordered_range_t, InputIterator first, InputIterator last)
1953
1951
  : m_flat_tree(ordered_range, first, last)
1954
1952
  {}
@@ -1963,7 +1961,7 @@ class flat_multimap
1963
1961
  //!
1964
1962
  //! <b>Note</b>: Non-standard extension.
1965
1963
  template <class InputIterator>
1966
- BOOST_CONTAINER_FORCEINLINE
1964
+ inline
1967
1965
  flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp)
1968
1966
  : m_flat_tree(ordered_range, first, last, comp)
1969
1967
  {}
@@ -1978,7 +1976,7 @@ class flat_multimap
1978
1976
  //!
1979
1977
  //! <b>Note</b>: Non-standard extension.
1980
1978
  template <class InputIterator>
1981
- BOOST_CONTAINER_FORCEINLINE
1979
+ inline
1982
1980
  flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const Compare& comp, const allocator_type& a)
1983
1981
  : m_flat_tree(ordered_range, first, last, comp, a)
1984
1982
  {}
@@ -1993,7 +1991,7 @@ class flat_multimap
1993
1991
  //!
1994
1992
  //! <b>Note</b>: Non-standard extension.
1995
1993
  template <class InputIterator>
1996
- BOOST_CONTAINER_FORCEINLINE
1994
+ inline
1997
1995
  flat_multimap(ordered_range_t, InputIterator first, InputIterator last, const allocator_type &a)
1998
1996
  : m_flat_tree(ordered_range, first, last, Compare(), a)
1999
1997
  {}
@@ -2004,7 +2002,7 @@ class flat_multimap
2004
2002
  //!
2005
2003
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2006
2004
  //! the predicate and otherwise N logN, where N is last - first.
2007
- BOOST_CONTAINER_FORCEINLINE
2005
+ inline
2008
2006
  flat_multimap(std::initializer_list<value_type> il)
2009
2007
  : m_flat_tree( false
2010
2008
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2016,7 +2014,7 @@ class flat_multimap
2016
2014
  //!
2017
2015
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2018
2016
  //! the predicate and otherwise N logN, where N is last - first.
2019
- BOOST_CONTAINER_FORCEINLINE
2017
+ inline
2020
2018
  flat_multimap(std::initializer_list<value_type> il, const allocator_type& a)
2021
2019
  : m_flat_tree(false
2022
2020
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2029,7 +2027,7 @@ class flat_multimap
2029
2027
  //!
2030
2028
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2031
2029
  //! the predicate and otherwise N logN, where N is last - first.
2032
- BOOST_CONTAINER_FORCEINLINE
2030
+ inline
2033
2031
  flat_multimap(std::initializer_list<value_type> il, const Compare& comp)
2034
2032
  : m_flat_tree(false
2035
2033
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2041,7 +2039,7 @@ class flat_multimap
2041
2039
  //!
2042
2040
  //! <b>Complexity</b>: Linear in N if the range [il.begin(), il.end()) is already sorted using
2043
2041
  //! the predicate and otherwise N logN, where N is last - first.
2044
- BOOST_CONTAINER_FORCEINLINE
2042
+ inline
2045
2043
  flat_multimap(std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
2046
2044
  : m_flat_tree( false
2047
2045
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2058,7 +2056,7 @@ class flat_multimap
2058
2056
  //! <b>Complexity</b>: Linear in N.
2059
2057
  //!
2060
2058
  //! <b>Note</b>: Non-standard extension.
2061
- BOOST_CONTAINER_FORCEINLINE
2059
+ inline
2062
2060
  flat_multimap(ordered_range_t, std::initializer_list<value_type> il)
2063
2061
  : m_flat_tree( ordered_range
2064
2062
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2074,7 +2072,7 @@ class flat_multimap
2074
2072
  //! <b>Complexity</b>: Linear in N.
2075
2073
  //!
2076
2074
  //! <b>Note</b>: Non-standard extension.
2077
- BOOST_CONTAINER_FORCEINLINE
2075
+ inline
2078
2076
  flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp)
2079
2077
  : m_flat_tree( ordered_range
2080
2078
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2090,7 +2088,7 @@ class flat_multimap
2090
2088
  //! <b>Complexity</b>: Linear in N.
2091
2089
  //!
2092
2090
  //! <b>Note</b>: Non-standard extension.
2093
- BOOST_CONTAINER_FORCEINLINE
2091
+ inline
2094
2092
  flat_multimap(ordered_range_t, std::initializer_list<value_type> il, const Compare& comp, const allocator_type& a)
2095
2093
  : m_flat_tree( ordered_range
2096
2094
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2102,7 +2100,7 @@ class flat_multimap
2102
2100
  //! <b>Effects</b>: Copy constructs a flat_multimap.
2103
2101
  //!
2104
2102
  //! <b>Complexity</b>: Linear in x.size().
2105
- BOOST_CONTAINER_FORCEINLINE
2103
+ inline
2106
2104
  flat_multimap(const flat_multimap& x)
2107
2105
  : m_flat_tree(x.m_flat_tree)
2108
2106
  {}
@@ -2112,7 +2110,7 @@ class flat_multimap
2112
2110
  //! <b>Complexity</b>: Constant.
2113
2111
  //!
2114
2112
  //! <b>Postcondition</b>: x is emptied.
2115
- BOOST_CONTAINER_FORCEINLINE
2113
+ inline
2116
2114
  flat_multimap(BOOST_RV_REF(flat_multimap) x)
2117
2115
  BOOST_NOEXCEPT_IF(boost::container::dtl::is_nothrow_move_constructible<Compare>::value)
2118
2116
  : m_flat_tree(boost::move(x.m_flat_tree))
@@ -2121,7 +2119,7 @@ class flat_multimap
2121
2119
  //! <b>Effects</b>: Copy constructs a flat_multimap using the specified allocator.
2122
2120
  //!
2123
2121
  //! <b>Complexity</b>: Linear in x.size().
2124
- BOOST_CONTAINER_FORCEINLINE
2122
+ inline
2125
2123
  flat_multimap(const flat_multimap& x, const allocator_type &a)
2126
2124
  : m_flat_tree(x.m_flat_tree, dtl::force<const impl_allocator_type>(a))
2127
2125
  {}
@@ -2130,7 +2128,7 @@ class flat_multimap
2130
2128
  //! Constructs *this using x's resources.
2131
2129
  //!
2132
2130
  //! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
2133
- BOOST_CONTAINER_FORCEINLINE
2131
+ inline
2134
2132
  flat_multimap(BOOST_RV_REF(flat_multimap) x, const allocator_type &a)
2135
2133
  : m_flat_tree(boost::move(x.m_flat_tree), dtl::force<const impl_allocator_type>(a))
2136
2134
  {}
@@ -2138,14 +2136,14 @@ class flat_multimap
2138
2136
  //! <b>Effects</b>: Makes *this a copy of x.
2139
2137
  //!
2140
2138
  //! <b>Complexity</b>: Linear in x.size().
2141
- BOOST_CONTAINER_FORCEINLINE
2139
+ inline
2142
2140
  flat_multimap& operator=(BOOST_COPY_ASSIGN_REF(flat_multimap) x)
2143
2141
  { m_flat_tree = x.m_flat_tree; return *this; }
2144
2142
 
2145
2143
  //! <b>Effects</b>: this->swap(x.get()).
2146
2144
  //!
2147
2145
  //! <b>Complexity</b>: Constant.
2148
- BOOST_CONTAINER_FORCEINLINE
2146
+ inline
2149
2147
  flat_multimap& operator=(BOOST_RV_REF(flat_multimap) x)
2150
2148
  BOOST_NOEXCEPT_IF( (allocator_traits_type::propagate_on_container_move_assignment::value ||
2151
2149
  allocator_traits_type::is_always_equal::value) &&
@@ -2156,7 +2154,7 @@ class flat_multimap
2156
2154
  //! <b>Effects</b>: Assign content of il to *this
2157
2155
  //!
2158
2156
  //! <b>Complexity</b>: Linear in il.size().
2159
- BOOST_CONTAINER_FORCEINLINE
2157
+ inline
2160
2158
  flat_multimap& operator=(std::initializer_list<value_type> il)
2161
2159
  {
2162
2160
  this->clear();
@@ -2169,7 +2167,7 @@ class flat_multimap
2169
2167
  //! was passed to the object's constructor.
2170
2168
  //!
2171
2169
  //! <b>Complexity</b>: Constant.
2172
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2170
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2173
2171
  allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2174
2172
  { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
2175
2173
 
@@ -2180,7 +2178,7 @@ class flat_multimap
2180
2178
  //! <b>Complexity</b>: Constant.
2181
2179
  //!
2182
2180
  //! <b>Note</b>: Non-standard extension.
2183
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2181
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2184
2182
  stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
2185
2183
  { return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2186
2184
 
@@ -2191,7 +2189,7 @@ class flat_multimap
2191
2189
  //! <b>Complexity</b>: Constant.
2192
2190
  //!
2193
2191
  //! <b>Note</b>: Non-standard extension.
2194
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2192
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2195
2193
  const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2196
2194
  { return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2197
2195
 
@@ -2206,7 +2204,7 @@ class flat_multimap
2206
2204
  //! <b>Throws</b>: Nothing.
2207
2205
  //!
2208
2206
  //! <b>Complexity</b>: Constant.
2209
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2207
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2210
2208
  iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
2211
2209
  { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
2212
2210
 
@@ -2215,7 +2213,7 @@ class flat_multimap
2215
2213
  //! <b>Throws</b>: Nothing.
2216
2214
  //!
2217
2215
  //! <b>Complexity</b>: Constant.
2218
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2216
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2219
2217
  const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
2220
2218
  { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
2221
2219
 
@@ -2224,7 +2222,7 @@ class flat_multimap
2224
2222
  //! <b>Throws</b>: Nothing.
2225
2223
  //!
2226
2224
  //! <b>Complexity</b>: Constant.
2227
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2225
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2228
2226
  iterator end() BOOST_NOEXCEPT_OR_NOTHROW
2229
2227
  { return dtl::force_copy<iterator>(m_flat_tree.end()); }
2230
2228
 
@@ -2233,7 +2231,7 @@ class flat_multimap
2233
2231
  //! <b>Throws</b>: Nothing.
2234
2232
  //!
2235
2233
  //! <b>Complexity</b>: Constant.
2236
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2234
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2237
2235
  const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
2238
2236
  { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
2239
2237
 
@@ -2243,7 +2241,7 @@ class flat_multimap
2243
2241
  //! <b>Throws</b>: Nothing.
2244
2242
  //!
2245
2243
  //! <b>Complexity</b>: Constant.
2246
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2244
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2247
2245
  reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
2248
2246
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
2249
2247
 
@@ -2253,7 +2251,7 @@ class flat_multimap
2253
2251
  //! <b>Throws</b>: Nothing.
2254
2252
  //!
2255
2253
  //! <b>Complexity</b>: Constant.
2256
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2254
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2257
2255
  const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2258
2256
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
2259
2257
 
@@ -2263,7 +2261,7 @@ class flat_multimap
2263
2261
  //! <b>Throws</b>: Nothing.
2264
2262
  //!
2265
2263
  //! <b>Complexity</b>: Constant.
2266
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2264
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2267
2265
  reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
2268
2266
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
2269
2267
 
@@ -2273,7 +2271,7 @@ class flat_multimap
2273
2271
  //! <b>Throws</b>: Nothing.
2274
2272
  //!
2275
2273
  //! <b>Complexity</b>: Constant.
2276
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2274
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2277
2275
  const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
2278
2276
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
2279
2277
 
@@ -2282,7 +2280,7 @@ class flat_multimap
2282
2280
  //! <b>Throws</b>: Nothing.
2283
2281
  //!
2284
2282
  //! <b>Complexity</b>: Constant.
2285
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2283
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2286
2284
  const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2287
2285
  { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
2288
2286
 
@@ -2291,7 +2289,7 @@ class flat_multimap
2291
2289
  //! <b>Throws</b>: Nothing.
2292
2290
  //!
2293
2291
  //! <b>Complexity</b>: Constant.
2294
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2292
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2295
2293
  const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
2296
2294
  { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
2297
2295
 
@@ -2301,7 +2299,7 @@ class flat_multimap
2301
2299
  //! <b>Throws</b>: Nothing.
2302
2300
  //!
2303
2301
  //! <b>Complexity</b>: Constant.
2304
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2302
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2305
2303
  const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2306
2304
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
2307
2305
 
@@ -2311,7 +2309,7 @@ class flat_multimap
2311
2309
  //! <b>Throws</b>: Nothing.
2312
2310
  //!
2313
2311
  //! <b>Complexity</b>: Constant.
2314
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2312
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2315
2313
  const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
2316
2314
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
2317
2315
 
@@ -2326,7 +2324,7 @@ class flat_multimap
2326
2324
  //! <b>Throws</b>: Nothing.
2327
2325
  //!
2328
2326
  //! <b>Complexity</b>: Constant.
2329
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2327
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2330
2328
  bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
2331
2329
  { return m_flat_tree.empty(); }
2332
2330
 
@@ -2335,7 +2333,7 @@ class flat_multimap
2335
2333
  //! <b>Throws</b>: Nothing.
2336
2334
  //!
2337
2335
  //! <b>Complexity</b>: Constant.
2338
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2336
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2339
2337
  size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
2340
2338
  { return m_flat_tree.size(); }
2341
2339
 
@@ -2344,7 +2342,7 @@ class flat_multimap
2344
2342
  //! <b>Throws</b>: Nothing.
2345
2343
  //!
2346
2344
  //! <b>Complexity</b>: Constant.
2347
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2345
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2348
2346
  size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
2349
2347
  { return m_flat_tree.max_size(); }
2350
2348
 
@@ -2354,7 +2352,7 @@ class flat_multimap
2354
2352
  //! <b>Throws</b>: Nothing.
2355
2353
  //!
2356
2354
  //! <b>Complexity</b>: Constant.
2357
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2355
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2358
2356
  size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
2359
2357
  { return m_flat_tree.capacity(); }
2360
2358
 
@@ -2368,7 +2366,7 @@ class flat_multimap
2368
2366
  //!
2369
2367
  //! <b>Note</b>: If capacity() is less than "cnt", iterators and references to
2370
2368
  //! to values might be invalidated.
2371
- BOOST_CONTAINER_FORCEINLINE
2369
+ inline
2372
2370
  void reserve(size_type cnt)
2373
2371
  { m_flat_tree.reserve(cnt); }
2374
2372
 
@@ -2378,27 +2376,27 @@ class flat_multimap
2378
2376
  //! <b>Throws</b>: If memory allocation throws, or T's copy constructor throws.
2379
2377
  //!
2380
2378
  //! <b>Complexity</b>: Linear to size().
2381
- BOOST_CONTAINER_FORCEINLINE
2379
+ inline
2382
2380
  void shrink_to_fit()
2383
2381
  { m_flat_tree.shrink_to_fit(); }
2384
2382
 
2385
2383
  //! @copydoc ::boost::container::flat_set::nth(size_type)
2386
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2384
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2387
2385
  iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
2388
2386
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2389
2387
 
2390
2388
  //! @copydoc ::boost::container::flat_set::nth(size_type) const
2391
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2389
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2392
2390
  const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
2393
2391
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2394
2392
 
2395
2393
  //! @copydoc ::boost::container::flat_set::index_of(iterator)
2396
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2394
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2397
2395
  size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
2398
2396
  { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
2399
2397
 
2400
2398
  //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
2401
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2399
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2402
2400
  size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
2403
2401
  { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
2404
2402
 
@@ -2413,7 +2411,7 @@ class flat_multimap
2413
2411
  //!
2414
2412
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2415
2413
  template <class... Args>
2416
- BOOST_CONTAINER_FORCEINLINE
2414
+ inline
2417
2415
  iterator emplace(BOOST_FWD_REF(Args)... args)
2418
2416
  { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Args>(args)...)); }
2419
2417
 
@@ -2430,7 +2428,7 @@ class flat_multimap
2430
2428
  //!
2431
2429
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2432
2430
  template <class... Args>
2433
- BOOST_CONTAINER_FORCEINLINE
2431
+ inline
2434
2432
  iterator emplace_hint(const_iterator hint, BOOST_FWD_REF(Args)... args)
2435
2433
  {
2436
2434
  return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal
@@ -2441,11 +2439,11 @@ class flat_multimap
2441
2439
 
2442
2440
  #define BOOST_CONTAINER_FLAT_MULTIMAP_EMPLACE_CODE(N) \
2443
2441
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2444
- BOOST_CONTAINER_FORCEINLINE iterator emplace(BOOST_MOVE_UREF##N)\
2442
+ inline iterator emplace(BOOST_MOVE_UREF##N)\
2445
2443
  { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(BOOST_MOVE_FWD##N)); }\
2446
2444
  \
2447
2445
  BOOST_MOVE_TMPL_LT##N BOOST_MOVE_CLASS##N BOOST_MOVE_GT##N \
2448
- BOOST_CONTAINER_FORCEINLINE iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2446
+ inline iterator emplace_hint(const_iterator hint BOOST_MOVE_I##N BOOST_MOVE_UREF##N)\
2449
2447
  {\
2450
2448
  return dtl::force_copy<iterator>(m_flat_tree.emplace_hint_equal\
2451
2449
  (dtl::force_copy<impl_const_iterator>(hint) BOOST_MOVE_I##N BOOST_MOVE_FWD##N));\
@@ -2463,7 +2461,7 @@ class flat_multimap
2463
2461
  //! to the elements with bigger keys than x.
2464
2462
  //!
2465
2463
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2466
- BOOST_CONTAINER_FORCEINLINE iterator insert(const value_type& x)
2464
+ inline iterator insert(const value_type& x)
2467
2465
  {
2468
2466
  return dtl::force_copy<iterator>(
2469
2467
  m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
@@ -2477,7 +2475,7 @@ class flat_multimap
2477
2475
  //!
2478
2476
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2479
2477
  template<class Pair>
2480
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2478
+ inline BOOST_CONTAINER_DOC1ST
2481
2479
  ( iterator
2482
2480
  , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2483
2481
  BOOST_MOVE_I iterator >::type)
@@ -2495,7 +2493,7 @@ class flat_multimap
2495
2493
  //! to the elements with bigger keys than x.
2496
2494
  //!
2497
2495
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2498
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, const value_type& x)
2496
+ inline iterator insert(const_iterator p, const value_type& x)
2499
2497
  {
2500
2498
  return dtl::force_copy<iterator>
2501
2499
  (m_flat_tree.insert_equal( dtl::force_copy<impl_const_iterator>(p)
@@ -2514,7 +2512,7 @@ class flat_multimap
2514
2512
  //!
2515
2513
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2516
2514
  template<class Pair>
2517
- BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2515
+ inline BOOST_CONTAINER_DOC1ST
2518
2516
  ( iterator
2519
2517
  , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2520
2518
  BOOST_MOVE_I iterator>::type)
@@ -2532,7 +2530,7 @@ class flat_multimap
2532
2530
  //!
2533
2531
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2534
2532
  template <class InputIterator>
2535
- BOOST_CONTAINER_FORCEINLINE void insert(InputIterator first, InputIterator last)
2533
+ inline void insert(InputIterator first, InputIterator last)
2536
2534
  { m_flat_tree.insert_equal(first, last); }
2537
2535
 
2538
2536
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -2549,7 +2547,7 @@ class flat_multimap
2549
2547
  //!
2550
2548
  //! <b>Note</b>: Non-standard extension.
2551
2549
  template <class InputIterator>
2552
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, InputIterator first, InputIterator last)
2550
+ inline void insert(ordered_range_t, InputIterator first, InputIterator last)
2553
2551
  { m_flat_tree.insert_equal(ordered_range, first, last); }
2554
2552
 
2555
2553
  #if !defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)
@@ -2558,7 +2556,7 @@ class flat_multimap
2558
2556
  //! <b>Complexity</b>: N log(N).
2559
2557
  //!
2560
2558
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2561
- BOOST_CONTAINER_FORCEINLINE void insert(std::initializer_list<value_type> il)
2559
+ inline void insert(std::initializer_list<value_type> il)
2562
2560
  {
2563
2561
  m_flat_tree.insert_equal( dtl::force<impl_initializer_list>(il).begin()
2564
2562
  , dtl::force<impl_initializer_list>(il).end());
@@ -2575,7 +2573,7 @@ class flat_multimap
2575
2573
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2576
2574
  //!
2577
2575
  //! <b>Note</b>: Non-standard extension.
2578
- BOOST_CONTAINER_FORCEINLINE void insert(ordered_range_t, std::initializer_list<value_type> il)
2576
+ inline void insert(ordered_range_t, std::initializer_list<value_type> il)
2579
2577
  {
2580
2578
  m_flat_tree.insert_equal( ordered_range
2581
2579
  , dtl::force<impl_initializer_list>(il).begin()
@@ -2592,22 +2590,22 @@ class flat_multimap
2592
2590
  //!
2593
2591
  //! <b>Note</b>: Invalidates all iterators and references.
2594
2592
  template<class C2>
2595
- BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
2593
+ inline void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
2596
2594
  { m_flat_tree.merge_equal(source.tree()); }
2597
2595
 
2598
2596
  //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
2599
2597
  template<class C2>
2600
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2598
+ inline void merge(BOOST_RV_REF_BEG flat_multimap<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2601
2599
  { return this->merge(static_cast<flat_multimap<Key, T, C2, AllocatorOrContainer>&>(source)); }
2602
2600
 
2603
2601
  //! @copydoc ::boost::container::flat_multimap::merge(flat_multimap<Key, T, C2, AllocatorOrContainer>&)
2604
2602
  template<class C2>
2605
- BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
2603
+ inline void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
2606
2604
  { m_flat_tree.merge_equal(source.tree()); }
2607
2605
 
2608
2606
  //! @copydoc ::boost::container::flat_multimap::merge(flat_map<Key, T, C2, AllocatorOrContainer>&)
2609
2607
  template<class C2>
2610
- BOOST_CONTAINER_FORCEINLINE void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2608
+ inline void merge(BOOST_RV_REF_BEG flat_map<Key, T, C2, AllocatorOrContainer> BOOST_RV_REF_END source)
2611
2609
  { return this->merge(static_cast<flat_map<Key, T, C2, AllocatorOrContainer>&>(source)); }
2612
2610
 
2613
2611
  //! <b>Effects</b>: Erases the element pointed to by p.
@@ -2620,7 +2618,7 @@ class flat_multimap
2620
2618
  //!
2621
2619
  //! <b>Note</b>: Invalidates elements with keys
2622
2620
  //! not less than the erased element.
2623
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator p)
2621
+ inline iterator erase(const_iterator p)
2624
2622
  {
2625
2623
  return dtl::force_copy<iterator>(
2626
2624
  m_flat_tree.erase(dtl::force_copy<impl_const_iterator>(p)));
@@ -2632,7 +2630,7 @@ class flat_multimap
2632
2630
  //!
2633
2631
  //! <b>Complexity</b>: Logarithmic search time plus erasure time
2634
2632
  //! linear to the elements with bigger keys.
2635
- BOOST_CONTAINER_FORCEINLINE size_type erase(const key_type& x)
2633
+ inline size_type erase(const key_type& x)
2636
2634
  { return m_flat_tree.erase(x); }
2637
2635
 
2638
2636
  //! <b>Effects</b>: Erases all the elements in the range [first, last).
@@ -2643,7 +2641,7 @@ class flat_multimap
2643
2641
  //!
2644
2642
  //! <b>Complexity</b>: Logarithmic search time plus erasure time
2645
2643
  //! linear to the elements with bigger keys.
2646
- BOOST_CONTAINER_FORCEINLINE iterator erase(const_iterator first, const_iterator last)
2644
+ inline iterator erase(const_iterator first, const_iterator last)
2647
2645
  {
2648
2646
  return dtl::force_copy<iterator>
2649
2647
  (m_flat_tree.erase( dtl::force_copy<impl_const_iterator>(first)
@@ -2655,7 +2653,7 @@ class flat_multimap
2655
2653
  //! <b>Throws</b>: Nothing.
2656
2654
  //!
2657
2655
  //! <b>Complexity</b>: Constant.
2658
- BOOST_CONTAINER_FORCEINLINE void swap(flat_multimap& x)
2656
+ inline void swap(flat_multimap& x)
2659
2657
  BOOST_NOEXCEPT_IF( allocator_traits_type::is_always_equal::value
2660
2658
  && boost::container::dtl::is_nothrow_swappable<Compare>::value )
2661
2659
  { m_flat_tree.swap(x.m_flat_tree); }
@@ -2665,7 +2663,7 @@ class flat_multimap
2665
2663
  //! <b>Postcondition</b>: size() == 0.
2666
2664
  //!
2667
2665
  //! <b>Complexity</b>: linear in size().
2668
- BOOST_CONTAINER_FORCEINLINE void clear() BOOST_NOEXCEPT_OR_NOTHROW
2666
+ inline void clear() BOOST_NOEXCEPT_OR_NOTHROW
2669
2667
  { m_flat_tree.clear(); }
2670
2668
 
2671
2669
  //////////////////////////////////////////////
@@ -2678,7 +2676,7 @@ class flat_multimap
2678
2676
  //! of which a was constructed.
2679
2677
  //!
2680
2678
  //! <b>Complexity</b>: Constant.
2681
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2679
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2682
2680
  key_compare key_comp() const
2683
2681
  { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
2684
2682
 
@@ -2686,7 +2684,7 @@ class flat_multimap
2686
2684
  //! of the comparison object.
2687
2685
  //!
2688
2686
  //! <b>Complexity</b>: Constant.
2689
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2687
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2690
2688
  value_compare value_comp() const
2691
2689
  { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
2692
2690
 
@@ -2700,7 +2698,7 @@ class flat_multimap
2700
2698
  //! equivalent to x, or end() if such an element is not found.
2701
2699
  //!
2702
2700
  //! <b>Complexity</b>: Logarithmic.
2703
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2701
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2704
2702
  iterator find(const key_type& x)
2705
2703
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2706
2704
 
@@ -2708,7 +2706,7 @@ class flat_multimap
2708
2706
  //! equivalent to x, or end() if such an element is not found.
2709
2707
  //!
2710
2708
  //! <b>Complexity</b>: Logarithmic.
2711
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2709
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2712
2710
  const_iterator find(const key_type& x) const
2713
2711
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2714
2712
 
@@ -2720,7 +2718,7 @@ class flat_multimap
2720
2718
  //!
2721
2719
  //! <b>Complexity</b>: Logarithmic.
2722
2720
  template<class K>
2723
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2721
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2724
2722
  iterator find(const K& x)
2725
2723
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2726
2724
 
@@ -2732,14 +2730,14 @@ class flat_multimap
2732
2730
  //!
2733
2731
  //! <b>Complexity</b>: Logarithmic.
2734
2732
  template<class K>
2735
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2733
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2736
2734
  const_iterator find(const K& x) const
2737
2735
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2738
2736
 
2739
2737
  //! <b>Returns</b>: The number of elements with key equivalent to x.
2740
2738
  //!
2741
2739
  //! <b>Complexity</b>: log(size())+count(k)
2742
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2740
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2743
2741
  size_type count(const key_type& x) const
2744
2742
  { return m_flat_tree.count(x); }
2745
2743
 
@@ -2750,7 +2748,7 @@ class flat_multimap
2750
2748
  //!
2751
2749
  //! <b>Complexity</b>: log(size())+count(k)
2752
2750
  template<class K>
2753
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2751
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2754
2752
  size_type count(const K& x) const
2755
2753
  { return m_flat_tree.count(x); }
2756
2754
 
@@ -2758,7 +2756,7 @@ class flat_multimap
2758
2756
  //! equivalent to key in the container, otherwise false.
2759
2757
  //!
2760
2758
  //! <b>Complexity</b>: log(size()).
2761
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2759
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2762
2760
  bool contains(const key_type& x) const
2763
2761
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
2764
2762
 
@@ -2770,7 +2768,7 @@ class flat_multimap
2770
2768
  //!
2771
2769
  //! <b>Complexity</b>: log(size()).
2772
2770
  template<typename K>
2773
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2771
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2774
2772
  bool contains(const K& x) const
2775
2773
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
2776
2774
 
@@ -2778,7 +2776,7 @@ class flat_multimap
2778
2776
  //! than x, or end() if such an element is not found.
2779
2777
  //!
2780
2778
  //! <b>Complexity</b>: Logarithmic
2781
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2779
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2782
2780
  iterator lower_bound(const key_type& x)
2783
2781
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2784
2782
 
@@ -2786,7 +2784,7 @@ class flat_multimap
2786
2784
  //! than x, or end() if such an element is not found.
2787
2785
  //!
2788
2786
  //! <b>Complexity</b>: Logarithmic
2789
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2787
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2790
2788
  const_iterator lower_bound(const key_type& x) const
2791
2789
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2792
2790
 
@@ -2798,7 +2796,7 @@ class flat_multimap
2798
2796
  //!
2799
2797
  //! <b>Complexity</b>: Logarithmic
2800
2798
  template<class K>
2801
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2799
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2802
2800
  iterator lower_bound(const K& x)
2803
2801
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2804
2802
 
@@ -2810,7 +2808,7 @@ class flat_multimap
2810
2808
  //!
2811
2809
  //! <b>Complexity</b>: Logarithmic
2812
2810
  template<class K>
2813
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2811
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2814
2812
  const_iterator lower_bound(const K& x) const
2815
2813
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2816
2814
 
@@ -2818,7 +2816,7 @@ class flat_multimap
2818
2816
  //! than x, or end() if such an element is not found.
2819
2817
  //!
2820
2818
  //! <b>Complexity</b>: Logarithmic
2821
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2819
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2822
2820
  iterator upper_bound(const key_type& x)
2823
2821
  {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2824
2822
 
@@ -2826,7 +2824,7 @@ class flat_multimap
2826
2824
  //! greater than x, or end() if such an element is not found.
2827
2825
  //!
2828
2826
  //! <b>Complexity</b>: Logarithmic
2829
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2827
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2830
2828
  const_iterator upper_bound(const key_type& x) const
2831
2829
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2832
2830
 
@@ -2838,7 +2836,7 @@ class flat_multimap
2838
2836
  //!
2839
2837
  //! <b>Complexity</b>: Logarithmic
2840
2838
  template<class K>
2841
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2839
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2842
2840
  iterator upper_bound(const K& x)
2843
2841
  {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2844
2842
 
@@ -2850,21 +2848,21 @@ class flat_multimap
2850
2848
  //!
2851
2849
  //! <b>Complexity</b>: Logarithmic
2852
2850
  template<class K>
2853
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2851
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2854
2852
  const_iterator upper_bound(const K& x) const
2855
2853
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2856
2854
 
2857
2855
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2858
2856
  //!
2859
2857
  //! <b>Complexity</b>: Logarithmic
2860
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2858
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2861
2859
  std::pair<iterator,iterator> equal_range(const key_type& x)
2862
2860
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2863
2861
 
2864
2862
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2865
2863
  //!
2866
2864
  //! <b>Complexity</b>: Logarithmic
2867
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2865
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2868
2866
  std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
2869
2867
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2870
2868
 
@@ -2875,7 +2873,7 @@ class flat_multimap
2875
2873
  //!
2876
2874
  //! <b>Complexity</b>: Logarithmic
2877
2875
  template<class K>
2878
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2876
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2879
2877
  std::pair<iterator,iterator> equal_range(const K& x)
2880
2878
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2881
2879
 
@@ -2886,7 +2884,7 @@ class flat_multimap
2886
2884
  //!
2887
2885
  //! <b>Complexity</b>: Logarithmic
2888
2886
  template<class K>
2889
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2887
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2890
2888
  std::pair<const_iterator, const_iterator> equal_range(const K& x) const
2891
2889
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2892
2890
 
@@ -2897,7 +2895,7 @@ class flat_multimap
2897
2895
  //! <b>Postcondition</b>: this->empty()
2898
2896
  //!
2899
2897
  //! <b>Throws</b>: If secuence_type's move constructor throws
2900
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2898
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2901
2899
  sequence_type extract_sequence()
2902
2900
  { return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref())); }
2903
2901
 
@@ -2907,7 +2905,7 @@ class flat_multimap
2907
2905
  //! <b>Complexity</b>: Assuming O(1) move assignment, O(NlogN) with N = seq.size()
2908
2906
  //!
2909
2907
  //! <b>Throws</b>: If the comparison or the move constructor throws
2910
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
2908
+ inline void adopt_sequence(BOOST_RV_REF(sequence_type) seq)
2911
2909
  { this->m_flat_tree.adopt_sequence_equal(boost::move(dtl::force<impl_sequence_type>(seq))); }
2912
2910
 
2913
2911
  //! <b>Requires</b>: seq shall be ordered according to this->compare().
@@ -2918,7 +2916,7 @@ class flat_multimap
2918
2916
  //! <b>Complexity</b>: Assuming O(1) move assignment, O(1)
2919
2917
  //!
2920
2918
  //! <b>Throws</b>: If the move assignment throws
2921
- BOOST_CONTAINER_FORCEINLINE void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
2919
+ inline void adopt_sequence(ordered_range_t, BOOST_RV_REF(sequence_type) seq)
2922
2920
  { this->m_flat_tree.adopt_sequence_equal(ordered_range_t(), boost::move(dtl::force<impl_sequence_type>(seq))); }
2923
2921
 
2924
2922
  //! <b>Effects</b>: Returns a const view of the underlying sequence.
@@ -2926,55 +2924,55 @@ class flat_multimap
2926
2924
  //! <b>Complexity</b>: Constant
2927
2925
  //!
2928
2926
  //! <b>Throws</b>: Nothing
2929
- BOOST_CONTAINER_FORCEINLINE const sequence_type & sequence() const BOOST_NOEXCEPT
2927
+ inline const sequence_type & sequence() const BOOST_NOEXCEPT
2930
2928
  { return dtl::force<sequence_type>(m_flat_tree.get_sequence_cref()); }
2931
2929
 
2932
2930
  //! <b>Effects</b>: Returns true if x and y are equal
2933
2931
  //!
2934
2932
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2935
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2933
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2936
2934
  friend bool operator==(const flat_multimap& x, const flat_multimap& y)
2937
2935
  { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
2938
2936
 
2939
2937
  //! <b>Effects</b>: Returns true if x and y are unequal
2940
2938
  //!
2941
2939
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2942
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2940
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2943
2941
  friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
2944
2942
  { return !(x == y); }
2945
2943
 
2946
2944
  //! <b>Effects</b>: Returns true if x is less than y
2947
2945
  //!
2948
2946
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2949
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2947
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2950
2948
  friend bool operator<(const flat_multimap& x, const flat_multimap& y)
2951
2949
  { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
2952
2950
 
2953
2951
  //! <b>Effects</b>: Returns true if x is greater than y
2954
2952
  //!
2955
2953
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2956
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2954
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2957
2955
  friend bool operator>(const flat_multimap& x, const flat_multimap& y)
2958
2956
  { return y < x; }
2959
2957
 
2960
2958
  //! <b>Effects</b>: Returns true if x is equal or less than y
2961
2959
  //!
2962
2960
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2963
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2961
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2964
2962
  friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
2965
2963
  { return !(y < x); }
2966
2964
 
2967
2965
  //! <b>Effects</b>: Returns true if x is equal or greater than y
2968
2966
  //!
2969
2967
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2970
- BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2968
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD inline
2971
2969
  friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
2972
2970
  { return !(x < y); }
2973
2971
 
2974
2972
  //! <b>Effects</b>: x.swap(y)
2975
2973
  //!
2976
2974
  //! <b>Complexity</b>: Constant.
2977
- BOOST_CONTAINER_FORCEINLINE friend void swap(flat_multimap& x, flat_multimap& y)
2975
+ inline friend void swap(flat_multimap& x, flat_multimap& y)
2978
2976
  BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
2979
2977
  { x.swap(y); }
2980
2978
  };