passenger 6.0.8 → 6.0.9

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 (1145) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +29 -0
  3. data/CONTRIBUTORS +5 -0
  4. data/src/agent/Core/Config.h +1 -1
  5. data/src/agent/Core/Controller/Config.h +1 -1
  6. data/src/agent/Shared/ApplicationPoolApiKey.h +2 -0
  7. data/src/agent/Watchdog/Config.h +1 -1
  8. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +27 -27
  9. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +1 -1
  10. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +2 -2
  11. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +19 -19
  12. data/src/cxx_supportlib/Constants.h +1 -1
  13. data/src/cxx_supportlib/DataStructures/HashedStaticString.h +2 -0
  14. data/src/cxx_supportlib/FileDescriptor.h +8 -0
  15. data/src/cxx_supportlib/StaticString.h +2 -0
  16. data/src/cxx_supportlib/Utils/HttpConstants.h +1 -1
  17. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/case_conv.hpp +3 -0
  18. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/classification.hpp +2 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/detail/find_format_all.hpp +2 -0
  20. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +1 -1
  21. data/src/cxx_supportlib/vendor-modified/boost/asio/any_io_executor.hpp +240 -11
  22. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +1 -1
  23. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +5 -5
  24. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +9 -9
  25. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  26. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +21 -13
  27. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +13 -13
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_io_object.hpp +1 -1
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +21 -13
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +20 -13
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_serial_port.hpp +18 -18
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_signal_set.hpp +29 -21
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +22 -21
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +58 -51
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_iostream.hpp +1 -1
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_streambuf.hpp +1 -1
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +20 -13
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf.hpp +1 -1
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_streambuf_fwd.hpp +1 -1
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +16 -16
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +5 -5
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +25 -25
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream.hpp +1 -1
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_read_stream_fwd.hpp +1 -1
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream.hpp +1 -1
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_stream_fwd.hpp +1 -1
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream.hpp +1 -1
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/buffered_write_stream_fwd.hpp +1 -1
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/buffers_iterator.hpp +1 -1
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +13 -13
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/completion_condition.hpp +1 -1
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/compose.hpp +1 -1
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +19 -19
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/coroutine.hpp +1 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/deadline_timer.hpp +1 -1
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/defer.hpp +5 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/detached.hpp +3 -3
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array.hpp +1 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/array_fwd.hpp +1 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/assert.hpp +1 -1
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/atomic_count.hpp +1 -1
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_completion_cond.hpp +1 -1
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +5 -1
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/blocking_executor_op.hpp +1 -1
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_resize_guard.hpp +1 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffer_sequence_adapter.hpp +1 -1
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/buffered_stream_storage.hpp +1 -1
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bulk_executor_op.hpp +1 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/call_stack.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/chrono_time_traits.hpp +1 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/completion_handler.hpp +1 -1
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/concurrency_hint.hpp +1 -1
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_event.hpp +1 -1
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/conditionally_enabled_mutex.hpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +58 -15
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/consuming_buffers.hpp +1 -1
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstddef.hpp +1 -1
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/cstdint.hpp +1 -1
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/date_time_fwd.hpp +1 -1
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +1 -1
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dependent_type.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_ops.hpp +1 -1
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_read_op.hpp +1 -1
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/descriptor_write_op.hpp +1 -1
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +1 -1
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +1 -1
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/event.hpp +1 -1
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/eventfd_select_interrupter.hpp +1 -1
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_function.hpp +3 -2
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/executor_op.hpp +1 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fd_set_adapter.hpp +1 -1
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/fenced_block.hpp +1 -1
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +1 -1
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +1 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_arm_fenced_block.hpp +1 -1
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_hppa_fenced_block.hpp +1 -1
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_sync_fenced_block.hpp +1 -1
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/gcc_x86_fenced_block.hpp +1 -1
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/global.hpp +1 -1
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +3 -3
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_cont_helpers.hpp +1 -1
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_invoke_helpers.hpp +1 -1
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_tracking.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +1 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +88 -12
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/hash_map.hpp +1 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/buffer_sequence_adapter.ipp +1 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/descriptor_ops.ipp +1 -1
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +1 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +1 -1
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +1 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +1 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/eventfd_select_interrupter.ipp +10 -8
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/handler_tracking.ipp +1 -1
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +1 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/null_event.ipp +1 -1
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/pipe_select_interrupter.ipp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_event.ipp +8 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_mutex.ipp +1 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_thread.ipp +1 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/posix_tss_ptr.ipp +1 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_descriptor_service.ipp +1 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_serial_port_service.ipp +1 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/reactive_socket_service_base.ipp +1 -1
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/resolver_service_base.ipp +1 -1
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/scheduler.ipp +6 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +1 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +1 -1
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.hpp +1 -1
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/service_registry.ipp +1 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/signal_set_service.ipp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +13 -11
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_select_interrupter.ipp +1 -1
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +7 -40
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.ipp +25 -1
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.hpp +3 -33
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_service.ipp +29 -5
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/thread_context.ipp +37 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/throw_error.ipp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_set.ipp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_control.hpp +1 -1
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/io_object_impl.hpp +4 -7
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +1 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_executor.hpp +1 -1
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/keyword_tss_ptr.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/local_free_on_block_exit.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/macos_fenced_block.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/mutex.hpp +1 -1
  154. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/non_const_lvalue.hpp +1 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/noncopyable.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_event.hpp +1 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_fenced_block.hpp +1 -1
  158. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_global.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_mutex.hpp +1 -1
  160. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_reactor.hpp +1 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_signal_blocker.hpp +1 -1
  162. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_socket_service.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_static_mutex.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_thread.hpp +1 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/null_tss_ptr.hpp +1 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/object_pool.hpp +1 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/old_win_sdk_compat.hpp +1 -1
  168. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/op_queue.hpp +1 -1
  169. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/operation.hpp +1 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pipe_select_interrupter.hpp +1 -1
  171. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_event.hpp +1 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_fd_set_adapter.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_global.hpp +1 -1
  175. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_mutex.hpp +1 -1
  176. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_signal_blocker.hpp +1 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_static_mutex.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_thread.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/posix_tss_ptr.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +7 -1
  181. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +1 -1
  182. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_null_buffers_op.hpp +1 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_serial_port_service.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_accept_op.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_connect_op.hpp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recv_op.hpp +1 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvfrom_op.hpp +1 -1
  188. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_recvmsg_op.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_send_op.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_sendto_op.hpp +1 -1
  191. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_wait_op.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_fwd.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +3 -5
  199. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/regex_fwd.hpp +11 -2
  200. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_op.hpp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_query_op.hpp +3 -3
  203. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service.hpp +7 -7
  204. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolver_service_base.hpp +16 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler.hpp +2 -5
  206. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_operation.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scheduler_thread_info.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_lock.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/scoped_ptr.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_interrupter.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/service_registry.hpp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_blocker.hpp +1 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_handler.hpp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_init.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_op.hpp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/signal_set_service.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_holder.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_ops.hpp +1 -1
  220. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_option.hpp +1 -1
  221. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_select_interrupter.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/socket_types.hpp +2 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/solaris_fenced_block.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/source_location.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/static_mutex.hpp +1 -1
  226. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_event.hpp +2 -2
  227. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_fenced_block.hpp +1 -1
  228. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_global.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_mutex.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_static_mutex.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/std_thread.hpp +1 -1
  232. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_executor_service.hpp +8 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/strand_service.hpp +4 -5
  234. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/string_view.hpp +1 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread.hpp +5 -5
  236. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_context.hpp +10 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_group.hpp +5 -1
  238. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +9 -2
  239. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_error.hpp +1 -1
  240. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/throw_exception.hpp +1 -1
  241. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_base.hpp +1 -1
  243. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +1 -1
  244. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_set.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_scheduler_fwd.hpp +1 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/tss_ptr.hpp +1 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/type_traits.hpp +9 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/variadic_templates.hpp +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_handler.hpp +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/winsock_init.hpp +1 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +1 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wrapped_handler.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/asio/dispatch.hpp +5 -5
  256. data/src/cxx_supportlib/vendor-modified/boost/asio/error.hpp +1 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/asio/execution.hpp +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/allocator.hpp +107 -19
  259. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +194 -112
  260. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bad_executor.hpp +1 -1
  261. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking.hpp +283 -83
  262. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/blocking_adaptation.hpp +218 -70
  263. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +47 -42
  264. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_guarantee.hpp +287 -90
  265. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +39 -36
  266. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context.hpp +62 -14
  267. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/context_as.hpp +29 -9
  268. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_invocable.hpp +1 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_operation.hpp +1 -1
  270. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/as_receiver.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/bulk_sender.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/submit_receiver.hpp +1 -1
  273. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/detail/void_receiver.hpp +1 -1
  274. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +67 -48
  275. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/executor.hpp +39 -25
  276. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/bad_executor.ipp +1 -1
  277. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/impl/receiver_invocation_error.ipp +1 -1
  278. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/invocable_archetype.hpp +1 -1
  279. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/mapping.hpp +281 -82
  280. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/occupancy.hpp +62 -14
  281. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/operation_state.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/outstanding_work.hpp +216 -70
  283. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/prefer_only.hpp +7 -3
  284. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver.hpp +1 -1
  285. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/receiver_invocation_error.hpp +1 -1
  286. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/relationship.hpp +215 -70
  287. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +14 -17
  288. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/scheduler.hpp +1 -1
  289. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/sender.hpp +1 -1
  290. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -10
  291. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -10
  292. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +7 -10
  293. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -10
  294. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +21 -21
  295. data/src/cxx_supportlib/vendor-modified/boost/asio/execution_context.hpp +1 -1
  296. data/src/cxx_supportlib/vendor-modified/boost/asio/executor.hpp +1 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/asio/executor_work_guard.hpp +34 -19
  298. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_single.hpp +137 -0
  299. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +245 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/basic_endpoint.hpp +1 -1
  301. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/datagram_protocol.hpp +1 -1
  302. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/endpoint.hpp +1 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/detail/impl/endpoint.ipp +1 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/raw_protocol.hpp +1 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/seq_packet_protocol.hpp +1 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/asio/generic/stream_protocol.hpp +1 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_alloc_hook.hpp +1 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_continuation_hook.hpp +1 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/asio/handler_invoke_hook.hpp +1 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/asio/high_resolution_timer.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +4 -4
  312. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +3 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +3 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +13 -13
  315. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +4 -2
  316. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +19 -19
  317. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +13 -9
  318. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/detached.hpp +1 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +13 -9
  320. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/error.ipp +1 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.hpp +1 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/execution_context.ipp +1 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.hpp +1 -2
  324. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/executor.ipp +1 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -3
  326. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +6 -2
  327. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.ipp +1 -1
  328. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/multiple_exceptions.ipp +1 -1
  329. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +13 -9
  330. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +56 -44
  331. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +2 -2
  332. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +106 -70
  333. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +2 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.hpp +1 -1
  335. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/serial_port_base.ipp +1 -1
  336. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +8 -7
  337. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.hpp +2 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.hpp +1 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_context.ipp +1 -1
  340. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/system_executor.hpp +1 -2
  341. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.hpp +6 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/thread_pool.ipp +1 -1
  343. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +14 -14
  344. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +1 -1
  345. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +56 -44
  346. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +2 -2
  347. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +21 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context_strand.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service.hpp +1 -1
  350. data/src/cxx_supportlib/vendor-modified/boost/asio/io_service_strand.hpp +1 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address.hpp +23 -1
  352. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4.hpp +21 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_iterator.hpp +1 -1
  354. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v4_range.hpp +1 -1
  355. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6.hpp +47 -6
  356. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_iterator.hpp +1 -1
  357. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/address_v6_range.hpp +1 -1
  358. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +1 -1
  359. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_endpoint.hpp +32 -5
  360. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +51 -5
  361. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_entry.hpp +1 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_iterator.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_query.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +1 -1
  365. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/endpoint.hpp +1 -1
  366. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/impl/endpoint.ipp +1 -1
  367. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/detail/socket_option.hpp +1 -1
  368. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/host_name.hpp +1 -1
  369. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/icmp.hpp +1 -1
  370. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.hpp +1 -1
  371. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address.ipp +1 -1
  372. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.hpp +1 -1
  373. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v4.ipp +1 -1
  374. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.hpp +1 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/address_v6.ipp +2 -2
  376. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/basic_endpoint.hpp +1 -1
  377. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/host_name.ipp +1 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.hpp +1 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v4.ipp +1 -1
  380. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.hpp +1 -1
  381. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/impl/network_v6.ipp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/multicast.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v4.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/network_v6.hpp +1 -1
  385. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_base.hpp +1 -1
  386. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/resolver_query_base.hpp +1 -1
  387. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/tcp.hpp +1 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/udp.hpp +1 -1
  389. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/unicast.hpp +1 -1
  390. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/v6_only.hpp +1 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/asio/is_applicable_property.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/asio/is_executor.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/asio/is_read_buffered.hpp +1 -1
  394. data/src/cxx_supportlib/vendor-modified/boost/asio/is_write_buffered.hpp +1 -1
  395. data/src/cxx_supportlib/vendor-modified/boost/asio/local/basic_endpoint.hpp +1 -1
  396. data/src/cxx_supportlib/vendor-modified/boost/asio/local/connect_pair.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/asio/local/datagram_protocol.hpp +1 -1
  398. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/endpoint.hpp +1 -1
  399. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +1 -1
  400. data/src/cxx_supportlib/vendor-modified/boost/asio/local/stream_protocol.hpp +1 -1
  401. data/src/cxx_supportlib/vendor-modified/boost/asio/multiple_exceptions.hpp +1 -1
  402. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +1 -1
  403. data/src/cxx_supportlib/vendor-modified/boost/asio/placeholders.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +11 -10
  405. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +17 -6
  406. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor.hpp +1 -1
  407. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/descriptor_base.hpp +1 -1
  408. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/stream_descriptor.hpp +1 -1
  409. data/src/cxx_supportlib/vendor-modified/boost/asio/post.hpp +5 -5
  410. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +235 -157
  411. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +79 -51
  412. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +55 -43
  413. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +1 -1
  414. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +106 -70
  415. data/src/cxx_supportlib/vendor-modified/boost/asio/redirect_error.hpp +1 -1
  416. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +136 -89
  417. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +100 -58
  418. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port.hpp +1 -1
  419. data/src/cxx_supportlib/vendor-modified/boost/asio/serial_port_base.hpp +1 -1
  420. data/src/cxx_supportlib/vendor-modified/boost/asio/signal_set.hpp +1 -1
  421. data/src/cxx_supportlib/vendor-modified/boost/asio/socket_base.hpp +1 -1
  422. data/src/cxx_supportlib/vendor-modified/boost/asio/spawn.hpp +7 -7
  423. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl.hpp +1 -1
  424. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context.hpp +1 -1
  425. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +1 -1
  426. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  427. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +1 -1
  428. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
  429. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +1 -1
  430. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/openssl_init.ipp +1 -1
  431. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +2 -1
  432. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_init.hpp +1 -1
  433. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/openssl_types.hpp +1 -1
  434. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/password_callback.hpp +1 -1
  435. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
  436. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +1 -1
  437. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +1 -1
  438. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/verify_callback.hpp +1 -1
  439. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
  440. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/error.hpp +1 -1
  441. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/host_name_verification.hpp +1 -1
  442. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.hpp +1 -1
  443. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +1 -1
  444. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/error.ipp +1 -1
  445. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/host_name_verification.ipp +1 -1
  446. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/rfc2818_verification.ipp +1 -1
  447. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/src.hpp +1 -1
  448. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/rfc2818_verification.hpp +1 -1
  449. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +1 -1
  450. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream_base.hpp +1 -1
  451. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_context.hpp +1 -1
  452. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/verify_mode.hpp +1 -1
  453. data/src/cxx_supportlib/vendor-modified/boost/asio/static_thread_pool.hpp +1 -1
  454. data/src/cxx_supportlib/vendor-modified/boost/asio/steady_timer.hpp +1 -1
  455. data/src/cxx_supportlib/vendor-modified/boost/asio/strand.hpp +55 -23
  456. data/src/cxx_supportlib/vendor-modified/boost/asio/streambuf.hpp +1 -1
  457. data/src/cxx_supportlib/vendor-modified/boost/asio/system_context.hpp +1 -1
  458. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +23 -1
  459. data/src/cxx_supportlib/vendor-modified/boost/asio/system_timer.hpp +1 -1
  460. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +1 -1
  461. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +21 -1
  462. data/src/cxx_supportlib/vendor-modified/boost/asio/time_traits.hpp +1 -1
  463. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_free.hpp +1 -1
  464. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/bulk_execute_member.hpp +1 -1
  465. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_free.hpp +1 -1
  466. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/connect_member.hpp +1 -1
  467. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/equality_comparable.hpp +7 -3
  468. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_free.hpp +1 -1
  469. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/execute_member.hpp +1 -1
  470. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_free.hpp +1 -1
  471. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/prefer_member.hpp +1 -1
  472. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_free.hpp +1 -1
  473. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_member.hpp +1 -1
  474. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/query_static_constexpr_member.hpp +1 -1
  475. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_free.hpp +1 -1
  476. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_concept_member.hpp +1 -1
  477. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_free.hpp +1 -1
  478. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/require_member.hpp +1 -1
  479. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_free.hpp +1 -1
  480. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/schedule_member.hpp +1 -1
  481. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_free.hpp +1 -1
  482. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_done_member.hpp +1 -1
  483. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_free.hpp +1 -1
  484. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_error_member.hpp +1 -1
  485. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_free.hpp +1 -1
  486. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/set_value_member.hpp +1 -1
  487. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_free.hpp +1 -1
  488. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/start_member.hpp +1 -1
  489. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_query.hpp +1 -1
  490. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require.hpp +1 -1
  491. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/static_require_concept.hpp +3 -2
  492. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_free.hpp +1 -1
  493. data/src/cxx_supportlib/vendor-modified/boost/asio/traits/submit_member.hpp +1 -1
  494. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/buffer.hpp +1 -1
  495. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/executor.hpp +1 -1
  496. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/internet.hpp +1 -1
  497. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/io_context.hpp +1 -1
  498. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/net.hpp +1 -1
  499. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/netfwd.hpp +3 -11
  500. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/socket.hpp +1 -1
  501. data/src/cxx_supportlib/vendor-modified/boost/asio/ts/timer.hpp +1 -1
  502. data/src/cxx_supportlib/vendor-modified/boost/asio/unyield.hpp +1 -1
  503. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +3 -3
  504. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +1 -1
  505. data/src/cxx_supportlib/vendor-modified/boost/asio/uses_executor.hpp +1 -1
  506. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +2 -2
  507. data/src/cxx_supportlib/vendor-modified/boost/asio/wait_traits.hpp +1 -1
  508. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_object_handle.hpp +10 -10
  509. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_overlapped_handle.hpp +10 -10
  510. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +6 -6
  511. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +6 -6
  512. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/object_handle.hpp +1 -1
  513. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_handle.hpp +1 -1
  514. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/overlapped_ptr.hpp +9 -9
  515. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/random_access_handle.hpp +1 -1
  516. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/stream_handle.hpp +1 -1
  517. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +55 -43
  518. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +1 -1
  519. data/src/cxx_supportlib/vendor-modified/boost/asio/yield.hpp +1 -1
  520. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +6 -0
  521. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +6 -6
  522. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +4 -4
  523. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +32 -32
  524. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +15 -15
  525. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +25 -1
  526. data/src/cxx_supportlib/vendor-modified/boost/bind/apply.hpp +13 -0
  527. data/src/cxx_supportlib/vendor-modified/boost/bind/bind.hpp +3 -23
  528. data/src/cxx_supportlib/vendor-modified/boost/bind/bind_mf2_cc.hpp +18 -18
  529. data/src/cxx_supportlib/vendor-modified/boost/bind/detail/result_traits.hpp +154 -0
  530. data/src/cxx_supportlib/vendor-modified/boost/bind/placeholders.hpp +12 -0
  531. data/src/cxx_supportlib/vendor-modified/boost/bind/protect.hpp +52 -8
  532. data/src/cxx_supportlib/vendor-modified/boost/bind/std_placeholders.hpp +39 -0
  533. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +4 -320
  534. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +1 -1
  535. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +6 -6
  536. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +2 -2
  537. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +21 -0
  538. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +7 -0
  539. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +1 -1
  540. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +214 -0
  541. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +215 -0
  542. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +47 -0
  543. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +59 -0
  544. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx98.hpp +23 -0
  545. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +1 -1
  546. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +11 -0
  547. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +186 -0
  548. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +37 -2
  549. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +11 -4
  550. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +21 -1
  551. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +45 -1
  552. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +8 -0
  553. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -7
  554. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +9 -0
  555. data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +6 -0
  556. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +123 -71
  557. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +4 -3
  558. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +117 -45
  559. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +28 -0
  560. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +1 -0
  561. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -3
  562. data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +3 -3
  563. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +142 -36
  564. data/src/cxx_supportlib/vendor-modified/boost/container/detail/destroyers.hpp +100 -31
  565. data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +24 -24
  566. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +141 -90
  567. data/src/cxx_supportlib/vendor-modified/boost/container/detail/guards_dended.hpp +198 -0
  568. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_container.hpp +10 -0
  569. data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_contiguous_container.hpp +35 -0
  570. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +12 -8
  571. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +4 -15
  572. data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +22 -1
  573. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -1
  574. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +126 -92
  575. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  576. data/src/cxx_supportlib/vendor-modified/boost/container/detail/value_functors.hpp +4 -14
  577. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +30 -0
  578. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +3000 -0
  579. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +237 -169
  580. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +10 -28
  581. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +58 -29
  582. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +84 -80
  583. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +41 -0
  584. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +51 -0
  585. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +1 -1
  586. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +2 -3
  587. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +21 -35
  588. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +51 -26
  589. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +1 -1
  590. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +109 -57
  591. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -1
  592. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +184 -105
  593. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +123 -15
  594. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +368 -384
  595. data/src/cxx_supportlib/vendor-modified/boost/container_hash/extensions.hpp +1 -3
  596. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +1 -1
  597. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +1 -1
  598. data/src/cxx_supportlib/vendor-modified/boost/core/allocator_access.hpp +102 -134
  599. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +581 -0
  600. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +199 -0
  601. data/src/cxx_supportlib/vendor-modified/boost/core/detail/splitmix64.hpp +54 -0
  602. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +42 -0
  603. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +36 -0
  604. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +4 -0
  605. data/src/cxx_supportlib/vendor-modified/boost/date_time/date_iterator.hpp +8 -8
  606. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_iterator.hpp +8 -8
  607. data/src/cxx_supportlib/vendor-modified/boost/detail/atomic_count.hpp +21 -0
  608. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/exception_ptr.hpp +55 -37
  609. data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +2 -1
  610. data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +0 -3
  611. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +3 -3
  612. data/src/cxx_supportlib/vendor-modified/boost/integer.hpp +2 -2
  613. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor.hpp +2 -2
  614. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_ct.hpp +2 -2
  615. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +1 -1
  616. data/src/cxx_supportlib/vendor-modified/boost/integer/extended_euclidean.hpp +1 -1
  617. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_log2.hpp +1 -1
  618. data/src/cxx_supportlib/vendor-modified/boost/integer/integer_mask.hpp +2 -2
  619. data/src/cxx_supportlib/vendor-modified/boost/integer/mod_inverse.hpp +1 -1
  620. data/src/cxx_supportlib/vendor-modified/boost/integer/static_log2.hpp +2 -2
  621. data/src/cxx_supportlib/vendor-modified/boost/integer/static_min_max.hpp +2 -2
  622. data/src/cxx_supportlib/vendor-modified/boost/integer_fwd.hpp +2 -2
  623. data/src/cxx_supportlib/vendor-modified/boost/integer_traits.hpp +2 -2
  624. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +8 -16
  625. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +4 -5
  626. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/array_initializer.hpp +2 -1
  627. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +1 -2
  628. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +94 -0
  629. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -2
  630. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +2 -0
  631. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/twin.hpp +49 -0
  632. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/value_functors.hpp +42 -0
  633. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +1 -1
  634. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +11 -5
  635. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +11 -11
  636. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +7 -15
  637. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +18 -22
  638. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +2 -4
  639. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +2 -2
  640. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +7 -7
  641. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +1 -1
  642. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +38 -38
  643. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +1 -1
  644. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +13 -16
  645. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +1 -1
  646. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +2 -2
  647. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +10 -10
  648. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +1 -1
  649. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +5 -5
  650. data/src/cxx_supportlib/vendor-modified/boost/libs/random/src/random_device.cpp +1 -1
  651. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/posix_api.cpp +3 -7
  652. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +10 -121
  653. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +5 -1
  654. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +4 -8
  655. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +2 -4
  656. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +3 -2
  657. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +31 -14
  658. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/merge.hpp +4 -48
  659. data/src/cxx_supportlib/vendor-modified/boost/move/default_delete.hpp +30 -3
  660. data/src/cxx_supportlib/vendor-modified/boost/move/detail/fwd_macros.hpp +12 -0
  661. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +224 -0
  662. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +253 -43
  663. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +0 -26
  664. data/src/cxx_supportlib/vendor-modified/boost/move/unique_ptr.hpp +5 -5
  665. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/enum.hpp +12 -0
  666. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/preprocessor/params.hpp +12 -0
  667. data/src/cxx_supportlib/vendor-modified/boost/mpl/has_xxx.hpp +2 -2
  668. data/src/cxx_supportlib/vendor-modified/boost/mpl/string.hpp +6 -6
  669. data/src/cxx_supportlib/vendor-modified/boost/none.hpp +3 -4
  670. data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +3 -1
  671. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/cast.hpp +1 -1
  672. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/converter_policies.hpp +4 -5
  673. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/converter.hpp +1 -1
  674. data/src/cxx_supportlib/vendor-modified/boost/numeric/conversion/detail/meta.hpp +1 -1
  675. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +2 -2
  676. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_config.hpp +1 -1
  677. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +8 -1
  678. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/arg_list.hpp +5 -5
  679. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/default.hpp +11 -0
  680. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/maybe.hpp +2 -2
  681. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/name.hpp +1 -1
  682. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/item.hpp +2 -2
  683. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/make_arg_list.hpp +4 -4
  684. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/pack/tag_keyword_arg_ref.hpp +2 -2
  685. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_cast.hpp +1 -1
  686. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/function_forward_match.hpp +1 -1
  687. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/impl/specification.hpp +2 -2
  688. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_binary.hpp +1 -1
  689. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/preprocessor/is_nullary.hpp +1 -1
  690. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/set.hpp +1 -1
  691. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tag.hpp +2 -2
  692. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/tagged_argument.hpp +12 -3
  693. data/src/cxx_supportlib/vendor-modified/boost/parameter/aux_/unwrap_cv_reference.hpp +3 -3
  694. data/src/cxx_supportlib/vendor-modified/boost/parameter/config.hpp +1 -1
  695. data/src/cxx_supportlib/vendor-modified/boost/parameter/macros.hpp +1 -1
  696. data/src/cxx_supportlib/vendor-modified/boost/parameter/match.hpp +1 -1
  697. data/src/cxx_supportlib/vendor-modified/boost/parameter/parameters.hpp +6 -6
  698. data/src/cxx_supportlib/vendor-modified/boost/pool/object_pool.hpp +2 -2
  699. data/src/cxx_supportlib/vendor-modified/boost/pool/pool_alloc.hpp +1 -1
  700. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -1
  701. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/alpha.h +5 -0
  702. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +10 -0
  703. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/blackfin.h +5 -0
  704. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/convex.h +5 -0
  705. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/e2k.h +54 -0
  706. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ia64.h +5 -0
  707. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/m68k.h +5 -0
  708. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/mips.h +10 -0
  709. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/parisc.h +5 -0
  710. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ppc.h +55 -4
  711. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +5 -0
  712. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/pyramid.h +5 -0
  713. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/riscv.h +5 -0
  714. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/rs6k.h +10 -0
  715. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sparc.h +14 -2
  716. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/superh.h +13 -0
  717. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys370.h +5 -0
  718. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/sys390.h +5 -0
  719. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/32.h +5 -0
  720. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/x86/64.h +7 -2
  721. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/z.h +5 -0
  722. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/cxx.h +1 -1
  723. data/src/cxx_supportlib/vendor-modified/boost/predef/library/std/stdcpp3.h +1 -1
  724. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  725. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/bsdi.h +1 -0
  726. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/dragonfly.h +1 -0
  727. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/free.h +1 -0
  728. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/net.h +1 -0
  729. data/src/cxx_supportlib/vendor-modified/boost/predef/os/bsd/open.h +1 -0
  730. data/src/cxx_supportlib/vendor-modified/boost/predef/other.h +3 -2
  731. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +7 -10
  732. data/src/cxx_supportlib/vendor-modified/boost/predef/other/wordsize.h +73 -0
  733. data/src/cxx_supportlib/vendor-modified/boost/predef/platform.h +0 -1
  734. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  735. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/add.hpp +54 -1
  736. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/dec.hpp +33 -0
  737. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_1_number.hpp +21 -0
  738. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_maximum_number.hpp +22 -0
  739. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/is_minimum_number.hpp +21 -0
  740. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/detail/maximum_number.hpp +19 -0
  741. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/div.hpp +37 -1
  742. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/inc.hpp +33 -0
  743. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_1024.hpp +531 -0
  744. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_256.hpp +276 -0
  745. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/dec_512.hpp +275 -0
  746. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_1024.hpp +536 -0
  747. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_256.hpp +275 -0
  748. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/limits/inc_512.hpp +280 -0
  749. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mod.hpp +37 -1
  750. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/mul.hpp +60 -1
  751. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/arithmetic/sub.hpp +51 -1
  752. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/detail/get_data.hpp +1 -1
  753. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/enum.hpp +17 -1
  754. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/insert.hpp +71 -0
  755. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/remove.hpp +66 -0
  756. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/array/replace.hpp +58 -0
  757. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_1024.hpp +1044 -0
  758. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_256.hpp +793 -0
  759. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/limits/not_equal_512.hpp +532 -0
  760. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/comparison/not_equal.hpp +44 -1
  761. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +16 -33
  762. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/limits.hpp +136 -3
  763. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/deduce_d.hpp +27 -0
  764. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/dmc/while.hpp +2 -3
  765. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_1024.hpp +1044 -0
  766. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_256.hpp +533 -0
  767. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/limits/while_512.hpp +532 -0
  768. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/edg/while.hpp +27 -0
  769. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_1024.hpp +1044 -0
  770. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_256.hpp +533 -0
  771. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/limits/while_512.hpp +532 -0
  772. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/detail/while.hpp +27 -0
  773. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_1024.hpp +531 -0
  774. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_256.hpp +275 -0
  775. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/limits/while_512.hpp +275 -0
  776. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/control/while.hpp +75 -0
  777. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/auto_rec.hpp +41 -0
  778. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/dmc/auto_rec.hpp +2 -2
  779. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_1024.hpp +532 -0
  780. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_256.hpp +280 -0
  781. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/detail/limits/auto_rec_512.hpp +276 -0
  782. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/intercept.hpp +29 -0
  783. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty.hpp +0 -37
  784. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/is_empty_variadic.hpp +0 -4
  785. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_1024.hpp +530 -0
  786. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_256.hpp +273 -0
  787. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/limits/intercept_512.hpp +274 -0
  788. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/facilities/overload.hpp +1 -3
  789. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward1.hpp +27 -0
  790. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward2.hpp +27 -0
  791. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward3.hpp +27 -0
  792. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward4.hpp +27 -0
  793. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/forward5.hpp +27 -0
  794. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_1024.hpp +2573 -0
  795. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_256.hpp +1296 -0
  796. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward1_512.hpp +1293 -0
  797. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_1024.hpp +2573 -0
  798. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_256.hpp +1296 -0
  799. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward2_512.hpp +1293 -0
  800. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_1024.hpp +2573 -0
  801. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_256.hpp +1296 -0
  802. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward3_512.hpp +1293 -0
  803. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_1024.hpp +2573 -0
  804. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_256.hpp +1296 -0
  805. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward4_512.hpp +1293 -0
  806. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_1024.hpp +2573 -0
  807. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_256.hpp +1296 -0
  808. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/forward5_512.hpp +1293 -0
  809. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_1024.hpp +2571 -0
  810. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_256.hpp +1296 -0
  811. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse1_512.hpp +1291 -0
  812. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_1024.hpp +2571 -0
  813. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_256.hpp +1296 -0
  814. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse2_512.hpp +1293 -0
  815. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_1024.hpp +2571 -0
  816. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_256.hpp +1296 -0
  817. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse3_512.hpp +1293 -0
  818. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_1024.hpp +2571 -0
  819. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_256.hpp +1296 -0
  820. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse4_512.hpp +1293 -0
  821. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_1024.hpp +2571 -0
  822. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_256.hpp +1296 -0
  823. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/limits/reverse5_512.hpp +1293 -0
  824. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse1.hpp +25 -0
  825. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse2.hpp +25 -0
  826. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse3.hpp +25 -0
  827. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse4.hpp +25 -0
  828. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/iter/reverse5.hpp +25 -0
  829. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_1024.hpp +1549 -0
  830. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_256.hpp +782 -0
  831. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/local_512.hpp +781 -0
  832. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_1024.hpp +1549 -0
  833. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_256.hpp +782 -0
  834. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/limits/rlocal_512.hpp +781 -0
  835. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/local.hpp +27 -0
  836. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/iteration/detail/rlocal.hpp +25 -0
  837. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/dmc/fold_left.hpp +3 -2
  838. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_left.hpp +28 -0
  839. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/fold_right.hpp +29 -0
  840. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_1024.hpp +1044 -0
  841. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_256.hpp +533 -0
  842. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_left_512.hpp +532 -0
  843. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_1024.hpp +1557 -0
  844. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_256.hpp +791 -0
  845. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/edg/limits/fold_right_512.hpp +789 -0
  846. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_left.hpp +28 -0
  847. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/fold_right.hpp +26 -0
  848. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_1024.hpp +532 -0
  849. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_256.hpp +275 -0
  850. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_left_512.hpp +276 -0
  851. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_1024.hpp +532 -0
  852. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_256.hpp +275 -0
  853. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/detail/limits/fold_right_512.hpp +276 -0
  854. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/enum.hpp +13 -1
  855. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_left.hpp +60 -0
  856. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/fold_right.hpp +44 -0
  857. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/for_each_product.hpp +25 -6
  858. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_1024.hpp +531 -0
  859. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_256.hpp +275 -0
  860. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/limits/fold_left_512.hpp +275 -0
  861. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/reverse.hpp +35 -0
  862. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/size.hpp +56 -1
  863. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/list/to_array.hpp +5 -72
  864. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/bool.hpp +22 -0
  865. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_1024.hpp +531 -0
  866. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_256.hpp +275 -0
  867. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/logical/limits/bool_512.hpp +275 -0
  868. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/is_begin_parens.hpp +1 -5
  869. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/punctuation/remove_parens.hpp +0 -4
  870. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/deduce_r.hpp +27 -0
  871. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/dmc/for.hpp +3 -2
  872. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/for.hpp +26 -0
  873. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_1024.hpp +1044 -0
  874. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_256.hpp +533 -0
  875. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/edg/limits/for_512.hpp +532 -0
  876. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/for.hpp +28 -0
  877. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_1024.hpp +1044 -0
  878. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_256.hpp +533 -0
  879. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/limits/for_512.hpp +532 -0
  880. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/detail/msvc/for.hpp +1 -0
  881. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/for.hpp +114 -0
  882. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_1024.hpp +531 -0
  883. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_256.hpp +275 -0
  884. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/for_512.hpp +275 -0
  885. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_1024.hpp +1557 -0
  886. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_256.hpp +791 -0
  887. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/limits/repeat_512.hpp +789 -0
  888. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat.hpp +22 -0
  889. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/repetition/repeat_from_to.hpp +27 -0
  890. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/binary_transform.hpp +6 -11
  891. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_1024.hpp +530 -0
  892. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_256.hpp +272 -0
  893. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/limits/split_512.hpp +274 -0
  894. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/detail/split.hpp +23 -0
  895. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/elem.hpp +23 -0
  896. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/enum.hpp +23 -0
  897. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_left.hpp +52 -0
  898. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/fold_right.hpp +37 -0
  899. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_1024.hpp +530 -0
  900. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_256.hpp +272 -0
  901. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/elem_512.hpp +274 -0
  902. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_1024.hpp +530 -0
  903. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_256.hpp +272 -0
  904. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/enum_512.hpp +274 -0
  905. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_1024.hpp +1556 -0
  906. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_256.hpp +1053 -0
  907. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_left_512.hpp +788 -0
  908. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_1024.hpp +530 -0
  909. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_256.hpp +273 -0
  910. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/fold_right_512.hpp +274 -0
  911. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_1024.hpp +1043 -0
  912. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_256.hpp +532 -0
  913. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/limits/size_512.hpp +531 -0
  914. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/rest_n.hpp +9 -3
  915. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/size.hpp +23 -0
  916. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/seq/variadic_seq_to_seq.hpp +0 -2
  917. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +0 -4
  918. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/detail/is_single_return.hpp +2 -2
  919. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/eat.hpp +4 -18
  920. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/elem.hpp +11 -157
  921. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/insert.hpp +0 -5
  922. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_128.hpp +403 -0
  923. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_256.hpp +1171 -0
  924. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/reverse_64.hpp +83 -0
  925. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_128.hpp +595 -0
  926. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_256.hpp +1747 -0
  927. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_list_64.hpp +83 -0
  928. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_128.hpp +403 -0
  929. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +1171 -0
  930. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_64.hpp +84 -0
  931. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_back.hpp +0 -5
  932. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/pop_front.hpp +0 -5
  933. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_back.hpp +0 -5
  934. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/push_front.hpp +0 -6
  935. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/rem.hpp +17 -39
  936. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/remove.hpp +0 -5
  937. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/replace.hpp +0 -5
  938. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/reverse.hpp +38 -25
  939. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/size.hpp +13 -6
  940. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_array.hpp +15 -12
  941. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_list.hpp +37 -25
  942. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/to_seq.hpp +38 -24
  943. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/has_opt.hpp +1 -1
  944. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/detail/is_single_return.hpp +2 -2
  945. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/elem.hpp +93 -71
  946. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/has_opt.hpp +1 -1
  947. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_128.hpp +275 -0
  948. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_256.hpp +723 -0
  949. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/elem_64.hpp +81 -0
  950. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_128.hpp +47 -0
  951. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_256.hpp +53 -0
  952. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/limits/size_64.hpp +23 -0
  953. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/size.hpp +39 -4
  954. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_array.hpp +15 -9
  955. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_list.hpp +9 -2
  956. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_seq.hpp +1 -3
  957. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/variadic/to_tuple.hpp +1 -3
  958. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +0 -4
  959. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +1 -0
  960. data/src/cxx_supportlib/vendor-modified/boost/random/additive_combine.hpp +2 -2
  961. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +29 -5
  962. data/src/cxx_supportlib/vendor-modified/boost/random/detail/int_float_pair.hpp +3 -4
  963. data/src/cxx_supportlib/vendor-modified/boost/random/detail/mixmax_skip_N17.ipp +287 -0
  964. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +1 -0
  965. data/src/cxx_supportlib/vendor-modified/boost/random/detail/operators.hpp +1 -1
  966. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +5 -5
  967. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed.hpp +9 -11
  968. data/src/cxx_supportlib/vendor-modified/boost/random/detail/seed_impl.hpp +13 -14
  969. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +1 -0
  970. data/src/cxx_supportlib/vendor-modified/boost/random/discard_block.hpp +2 -2
  971. data/src/cxx_supportlib/vendor-modified/boost/random/generate_canonical.hpp +2 -3
  972. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +3 -3
  973. data/src/cxx_supportlib/vendor-modified/boost/random/independent_bits.hpp +3 -3
  974. data/src/cxx_supportlib/vendor-modified/boost/random/inversive_congruential.hpp +2 -3
  975. data/src/cxx_supportlib/vendor-modified/boost/random/lagged_fibonacci.hpp +4 -4
  976. data/src/cxx_supportlib/vendor-modified/boost/random/linear_congruential.hpp +5 -7
  977. data/src/cxx_supportlib/vendor-modified/boost/random/linear_feedback_shift.hpp +3 -3
  978. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +2 -2
  979. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +313 -0
  980. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +2 -2
  981. data/src/cxx_supportlib/vendor-modified/boost/random/random_device.hpp +2 -2
  982. data/src/cxx_supportlib/vendor-modified/boost/random/shuffle_order.hpp +2 -2
  983. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +3 -2
  984. data/src/cxx_supportlib/vendor-modified/boost/random/subtract_with_carry.hpp +4 -4
  985. data/src/cxx_supportlib/vendor-modified/boost/random/traits.hpp +3 -3
  986. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +7 -7
  987. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_real_distribution.hpp +2 -3
  988. data/src/cxx_supportlib/vendor-modified/boost/random/uniform_smallint.hpp +4 -5
  989. data/src/cxx_supportlib/vendor-modified/boost/random/xor_combine.hpp +4 -2
  990. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +7 -7
  991. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +4 -0
  992. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +78 -73
  993. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +97 -113
  994. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +4 -75
  995. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +4 -147
  996. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +8 -761
  997. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +4 -0
  998. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +2 -0
  999. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +8 -9
  1000. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +20 -19
  1001. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +13 -13
  1002. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +342 -42
  1003. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +107 -24
  1004. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -117
  1005. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +1516 -0
  1006. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +5 -5
  1007. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +8 -8
  1008. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +39 -1
  1009. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +171 -0
  1010. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +127 -0
  1011. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +13 -4
  1012. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +1 -1
  1013. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +39 -41
  1014. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +6 -6
  1015. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +1 -1
  1016. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +3 -1
  1017. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -36
  1018. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +3 -3
  1019. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +35 -4
  1020. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +2 -0
  1021. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +638 -22
  1022. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +1 -1
  1023. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +790 -0
  1024. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +521 -37
  1025. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +734 -0
  1026. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +1575 -0
  1027. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3117 -0
  1028. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +474 -0
  1029. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +59 -0
  1030. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +1040 -0
  1031. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +195 -0
  1032. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +59 -0
  1033. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +1402 -0
  1034. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/indexed_bit_flag.hpp +54 -0
  1035. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +84 -0
  1036. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +32 -0
  1037. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +156 -0
  1038. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +667 -0
  1039. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +175 -0
  1040. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +160 -0
  1041. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +105 -0
  1042. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +576 -0
  1043. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +915 -0
  1044. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +1872 -0
  1045. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/primary_transform.hpp +120 -0
  1046. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +158 -0
  1047. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +106 -0
  1048. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +1124 -0
  1049. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +73 -0
  1050. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +98 -0
  1051. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +173 -0
  1052. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +92 -0
  1053. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +71 -0
  1054. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +213 -0
  1055. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +77 -0
  1056. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +103 -0
  1057. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +152 -0
  1058. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +255 -0
  1059. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +130 -0
  1060. data/src/cxx_supportlib/vendor-modified/boost/{libs/regex/src/regex_traits_defaults.cpp → regex/v5/regex_traits_defaults.hpp} +719 -415
  1061. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +159 -0
  1062. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +299 -0
  1063. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +382 -0
  1064. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +105 -0
  1065. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +177 -0
  1066. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +312 -0
  1067. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +864 -0
  1068. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +1176 -0
  1069. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +4 -0
  1070. data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +1 -1
  1071. data/src/cxx_supportlib/vendor-modified/boost/system/detail/cerrno.hpp +329 -0
  1072. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
  1073. data/src/cxx_supportlib/vendor-modified/boost/system/detail/enable_if.hpp +32 -0
  1074. data/src/cxx_supportlib/vendor-modified/boost/system/detail/errc.hpp +126 -0
  1075. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +189 -0
  1076. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +108 -0
  1077. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +215 -0
  1078. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +163 -0
  1079. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +80 -58
  1080. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category_message.hpp +108 -0
  1081. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{system_category_posix.hpp → is_generic_value.hpp} +7 -14
  1082. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category.hpp +110 -0
  1083. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +83 -0
  1084. data/src/cxx_supportlib/vendor-modified/boost/system/detail/throws.hpp +59 -0
  1085. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{std_interoperability.hpp → to_std_category.hpp} +11 -2
  1086. data/src/cxx_supportlib/vendor-modified/boost/system/errc.hpp +50 -0
  1087. data/src/cxx_supportlib/vendor-modified/boost/system/error_category.hpp +13 -0
  1088. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +7 -925
  1089. data/src/cxx_supportlib/vendor-modified/boost/system/error_condition.hpp +13 -0
  1090. data/src/cxx_supportlib/vendor-modified/boost/system/generic_category.hpp +13 -0
  1091. data/src/cxx_supportlib/vendor-modified/boost/system/is_error_code_enum.hpp +30 -0
  1092. data/src/cxx_supportlib/vendor-modified/boost/system/is_error_condition_enum.hpp +30 -0
  1093. data/src/cxx_supportlib/vendor-modified/boost/system/system_category.hpp +14 -0
  1094. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +1 -1
  1095. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +26 -0
  1096. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +37 -39
  1097. data/src/cxx_supportlib/vendor-modified/boost/type_index.hpp +1 -1
  1098. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +1 -1
  1099. data/src/cxx_supportlib/vendor-modified/boost/type_index/type_index_facade.hpp +1 -1
  1100. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +247 -168
  1101. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_ptr_tester.hpp +27 -27
  1102. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +1 -1
  1103. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_mem_fun_pointer_tester.hpp +27 -27
  1104. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +242 -217
  1105. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_convertible.hpp +1 -1
  1106. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_empty.hpp +1 -1
  1107. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_trivially_copyable.hpp +4 -0
  1108. data/src/cxx_supportlib/vendor-modified/boost/type_traits/type_with_alignment.hpp +1 -1
  1109. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +3 -3
  1110. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_fundamental.hpp +2 -2
  1111. data/src/cxx_supportlib/vendor-modified/boost/typeof/std/string.hpp +1 -1
  1112. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +1 -1
  1113. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +1 -1
  1114. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof.hpp +4 -4
  1115. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +1 -1
  1116. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +8 -8
  1117. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +8 -8
  1118. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  1119. data/src/ruby_supportlib/phusion_passenger.rb +5 -5
  1120. data/src/ruby_supportlib/phusion_passenger/platform_info/curl.rb +3 -0
  1121. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +5 -0
  1122. metadata +223 -28
  1123. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/src.cpp +0 -25
  1124. data/src/cxx_supportlib/vendor-modified/boost/bind.hpp +0 -60
  1125. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/c_regex_traits.cpp +0 -206
  1126. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cpp_regex_traits.cpp +0 -117
  1127. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +0 -667
  1128. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/instances.cpp +0 -32
  1129. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_raw_buffer.cpp +0 -72
  1130. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wc_regex_traits.cpp +0 -314
  1131. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/winstances.cpp +0 -35
  1132. data/src/cxx_supportlib/vendor-modified/boost/math/policies/policy.hpp +0 -1038
  1133. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +0 -581
  1134. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/round_fwd.hpp +0 -93
  1135. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/fpclassify.hpp +0 -640
  1136. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +0 -1712
  1137. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/sign.hpp +0 -194
  1138. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +0 -489
  1139. data/src/cxx_supportlib/vendor-modified/boost/math/tools/promotion.hpp +0 -182
  1140. data/src/cxx_supportlib/vendor-modified/boost/math/tools/real_cast.hpp +0 -31
  1141. data/src/cxx_supportlib/vendor-modified/boost/math/tools/user.hpp +0 -105
  1142. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -557
  1143. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +0 -236
  1144. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp.orig +0 -841
  1145. data/src/cxx_supportlib/vendor-modified/boost/thread/once.hpp.orig +0 -54
@@ -503,7 +503,8 @@ class flat_map
503
503
  //! was passed to the object's constructor.
504
504
  //!
505
505
  //! <b>Complexity</b>: Constant.
506
- BOOST_CONTAINER_FORCEINLINE allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
506
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
507
+ allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
507
508
  { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
508
509
 
509
510
  //! <b>Effects</b>: Returns a reference to the internal allocator.
@@ -513,7 +514,8 @@ class flat_map
513
514
  //! <b>Complexity</b>: Constant.
514
515
  //!
515
516
  //! <b>Note</b>: Non-standard extension.
516
- BOOST_CONTAINER_FORCEINLINE get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
517
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
518
+ get_stored_allocator_noconst_return_t get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
517
519
  {
518
520
  impl_get_stored_allocator_noconst_return_t r = m_flat_tree.get_stored_allocator();
519
521
  return dtl::force<stored_allocator_type>(r);
@@ -526,7 +528,8 @@ class flat_map
526
528
  //! <b>Complexity</b>: Constant.
527
529
  //!
528
530
  //! <b>Note</b>: Non-standard extension.
529
- BOOST_CONTAINER_FORCEINLINE get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
531
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
532
+ get_stored_allocator_const_return_t get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
530
533
  {
531
534
  impl_get_stored_allocator_const_return_t r = m_flat_tree.get_stored_allocator();
532
535
  return dtl::force<const stored_allocator_type>(r);
@@ -543,7 +546,8 @@ class flat_map
543
546
  //! <b>Throws</b>: Nothing.
544
547
  //!
545
548
  //! <b>Complexity</b>: Constant.
546
- BOOST_CONTAINER_FORCEINLINE iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
549
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
550
+ iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
547
551
  { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
548
552
 
549
553
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
@@ -551,7 +555,8 @@ class flat_map
551
555
  //! <b>Throws</b>: Nothing.
552
556
  //!
553
557
  //! <b>Complexity</b>: Constant.
554
- BOOST_CONTAINER_FORCEINLINE const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
558
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
559
+ const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
555
560
  { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
556
561
 
557
562
  //! <b>Effects</b>: Returns an iterator to the end of the container.
@@ -559,7 +564,8 @@ class flat_map
559
564
  //! <b>Throws</b>: Nothing.
560
565
  //!
561
566
  //! <b>Complexity</b>: Constant.
562
- BOOST_CONTAINER_FORCEINLINE iterator end() BOOST_NOEXCEPT_OR_NOTHROW
567
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
568
+ iterator end() BOOST_NOEXCEPT_OR_NOTHROW
563
569
  { return dtl::force_copy<iterator>(m_flat_tree.end()); }
564
570
 
565
571
  //! <b>Effects</b>: Returns a const_iterator to the end of the container.
@@ -567,7 +573,8 @@ class flat_map
567
573
  //! <b>Throws</b>: Nothing.
568
574
  //!
569
575
  //! <b>Complexity</b>: Constant.
570
- BOOST_CONTAINER_FORCEINLINE const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
576
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
577
+ const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
571
578
  { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
572
579
 
573
580
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
@@ -576,7 +583,8 @@ class flat_map
576
583
  //! <b>Throws</b>: Nothing.
577
584
  //!
578
585
  //! <b>Complexity</b>: Constant.
579
- BOOST_CONTAINER_FORCEINLINE reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
586
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
587
+ reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
580
588
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
581
589
 
582
590
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -585,7 +593,8 @@ class flat_map
585
593
  //! <b>Throws</b>: Nothing.
586
594
  //!
587
595
  //! <b>Complexity</b>: Constant.
588
- BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
596
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
597
+ const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
589
598
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
590
599
 
591
600
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
@@ -594,7 +603,8 @@ class flat_map
594
603
  //! <b>Throws</b>: Nothing.
595
604
  //!
596
605
  //! <b>Complexity</b>: Constant.
597
- BOOST_CONTAINER_FORCEINLINE reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
606
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
607
+ reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
598
608
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
599
609
 
600
610
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -603,7 +613,8 @@ class flat_map
603
613
  //! <b>Throws</b>: Nothing.
604
614
  //!
605
615
  //! <b>Complexity</b>: Constant.
606
- BOOST_CONTAINER_FORCEINLINE const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
616
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
617
+ const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
607
618
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
608
619
 
609
620
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the container.
@@ -611,7 +622,8 @@ class flat_map
611
622
  //! <b>Throws</b>: Nothing.
612
623
  //!
613
624
  //! <b>Complexity</b>: Constant.
614
- BOOST_CONTAINER_FORCEINLINE const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
625
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
626
+ const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
615
627
  { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
616
628
 
617
629
  //! <b>Effects</b>: Returns a const_iterator to the end of the container.
@@ -619,7 +631,8 @@ class flat_map
619
631
  //! <b>Throws</b>: Nothing.
620
632
  //!
621
633
  //! <b>Complexity</b>: Constant.
622
- BOOST_CONTAINER_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
634
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
635
+ const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
623
636
  { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
624
637
 
625
638
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -628,7 +641,8 @@ class flat_map
628
641
  //! <b>Throws</b>: Nothing.
629
642
  //!
630
643
  //! <b>Complexity</b>: Constant.
631
- BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
644
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
645
+ const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
632
646
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
633
647
 
634
648
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -637,7 +651,8 @@ class flat_map
637
651
  //! <b>Throws</b>: Nothing.
638
652
  //!
639
653
  //! <b>Complexity</b>: Constant.
640
- BOOST_CONTAINER_FORCEINLINE const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
654
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
655
+ const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
641
656
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
642
657
 
643
658
  //////////////////////////////////////////////
@@ -651,7 +666,8 @@ class flat_map
651
666
  //! <b>Throws</b>: Nothing.
652
667
  //!
653
668
  //! <b>Complexity</b>: Constant.
654
- BOOST_CONTAINER_FORCEINLINE bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
669
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
670
+ bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
655
671
  { return m_flat_tree.empty(); }
656
672
 
657
673
  //! <b>Effects</b>: Returns the number of the elements contained in the container.
@@ -659,7 +675,8 @@ class flat_map
659
675
  //! <b>Throws</b>: Nothing.
660
676
  //!
661
677
  //! <b>Complexity</b>: Constant.
662
- BOOST_CONTAINER_FORCEINLINE size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
678
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
679
+ size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
663
680
  { return m_flat_tree.size(); }
664
681
 
665
682
  //! <b>Effects</b>: Returns the largest possible size of the container.
@@ -667,7 +684,8 @@ class flat_map
667
684
  //! <b>Throws</b>: Nothing.
668
685
  //!
669
686
  //! <b>Complexity</b>: Constant.
670
- BOOST_CONTAINER_FORCEINLINE size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
687
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
688
+ size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
671
689
  { return m_flat_tree.max_size(); }
672
690
 
673
691
  //! <b>Effects</b>: Number of elements for which memory has been allocated.
@@ -676,7 +694,8 @@ class flat_map
676
694
  //! <b>Throws</b>: Nothing.
677
695
  //!
678
696
  //! <b>Complexity</b>: Constant.
679
- BOOST_CONTAINER_FORCEINLINE size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
697
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
698
+ size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
680
699
  { return m_flat_tree.capacity(); }
681
700
 
682
701
  //! <b>Effects</b>: If n is less than or equal to capacity(), or the
@@ -822,19 +841,23 @@ class flat_map
822
841
  }
823
842
 
824
843
  //! @copydoc ::boost::container::flat_set::nth(size_type)
825
- BOOST_CONTAINER_FORCEINLINE iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
844
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
845
+ iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
826
846
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
827
847
 
828
848
  //! @copydoc ::boost::container::flat_set::nth(size_type) const
829
- BOOST_CONTAINER_FORCEINLINE const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
849
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
850
+ const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
830
851
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
831
852
 
832
853
  //! @copydoc ::boost::container::flat_set::index_of(iterator)
833
- BOOST_CONTAINER_FORCEINLINE size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
854
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
855
+ size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
834
856
  { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
835
857
 
836
858
  //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
837
- BOOST_CONTAINER_FORCEINLINE size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
859
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
860
+ size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
838
861
  { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
839
862
 
840
863
  //! Returns: A reference to the element whose key is equivalent to x.
@@ -842,7 +865,7 @@ class flat_map
842
865
  //! Throws: An exception object of type out_of_range if no such element is present.
843
866
  //!
844
867
  //! Complexity: logarithmic.
845
- T& at(const key_type& k)
868
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD T& at(const key_type& k)
846
869
  {
847
870
  iterator i = this->find(k);
848
871
  if(i == this->end()){
@@ -856,7 +879,7 @@ class flat_map
856
879
  //! Throws: An exception object of type out_of_range if no such element is present.
857
880
  //!
858
881
  //! Complexity: logarithmic.
859
- const T& at(const key_type& k) const
882
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD const T& at(const key_type& k) const
860
883
  {
861
884
  const_iterator i = this->find(k);
862
885
  if(i == this->end()){
@@ -1054,10 +1077,12 @@ class flat_map
1054
1077
  //!
1055
1078
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1056
1079
  BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(value_type) x)
1057
- { return dtl::force_copy<std::pair<iterator,bool> >(
1058
- m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x)))); }
1080
+ {
1081
+ return dtl::force_copy<std::pair<iterator,bool> >(
1082
+ m_flat_tree.insert_unique(boost::move(dtl::force<impl_value_type>(x))));
1083
+ }
1059
1084
 
1060
- //! <b>Effects</b>: Inserts a new value_type move constructed from the pair if and
1085
+ //! <b>Effects</b>: Inserts a new value_type constructed from the pair if and
1061
1086
  //! only if there is no element in the container with key equivalent to the key of x.
1062
1087
  //!
1063
1088
  //! <b>Returns</b>: The bool component of the returned pair is true if and only
@@ -1068,10 +1093,15 @@ class flat_map
1068
1093
  //! to the elements with bigger keys than x.
1069
1094
  //!
1070
1095
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1071
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,bool> insert(BOOST_RV_REF(movable_value_type) x)
1096
+ template <class Pair>
1097
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1098
+ ( std::pair<iterator BOOST_MOVE_I bool>
1099
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1100
+ BOOST_MOVE_I std::pair<iterator BOOST_MOVE_I bool> >::type)
1101
+ insert(BOOST_FWD_REF(Pair) x)
1072
1102
  {
1073
1103
  return dtl::force_copy<std::pair<iterator,bool> >
1074
- (m_flat_tree.insert_unique(boost::move(x)));
1104
+ (m_flat_tree.emplace_unique(boost::forward<Pair>(x)));
1075
1105
  }
1076
1106
 
1077
1107
  //! <b>Effects</b>: Inserts a copy of x in the container if and only if there is
@@ -1108,7 +1138,7 @@ class flat_map
1108
1138
  , boost::move(dtl::force<impl_value_type>(x))));
1109
1139
  }
1110
1140
 
1111
- //! <b>Effects</b>: Inserts an element move constructed from x in the container.
1141
+ //! <b>Effects</b>: Inserts an element constructed from x in the container.
1112
1142
  //! p is a hint pointing to where the insert should start to search.
1113
1143
  //!
1114
1144
  //! <b>Returns</b>: An iterator pointing to the element with key equivalent to the key of x.
@@ -1117,10 +1147,15 @@ class flat_map
1117
1147
  //! right before p) plus insertion linear to the elements with bigger keys than x.
1118
1148
  //!
1119
1149
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
1120
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(movable_value_type) x)
1150
+ template <class Pair>
1151
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
1152
+ ( iterator
1153
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
1154
+ BOOST_MOVE_I iterator>::type)
1155
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
1121
1156
  {
1122
1157
  return dtl::force_copy<iterator>(
1123
- m_flat_tree.insert_unique(dtl::force_copy<impl_const_iterator>(p), boost::move(x)));
1158
+ m_flat_tree.emplace_hint_unique(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
1124
1159
  }
1125
1160
 
1126
1161
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -1188,18 +1223,13 @@ class flat_map
1188
1223
 
1189
1224
  //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
1190
1225
  //!
1191
- //! <b>Effects</b>: Attempts to extract each element in source and insert it into a using
1226
+ //! <b>Effects</b>: Move-inserts each element from source into *this a using
1192
1227
  //! the comparison object of *this. If there is an element in a with key equivalent to the
1193
- //! key of an element from source, then that element is not extracted from source.
1194
- //!
1195
- //! <b>Postcondition</b>: Pointers and references to the transferred elements of source refer
1196
- //! to those same elements but as members of *this. Iterators referring to the transferred
1197
- //! elements will continue to refer to their elements, but they now behave as iterators into *this,
1198
- //! not into source.
1228
+ //! key of an element from source, then that element is not moved from source.
1199
1229
  //!
1200
- //! <b>Throws</b>: Nothing unless the comparison object throws.
1230
+ //! <b>Complexity</b>: Linear in this->size() + source.size().
1201
1231
  //!
1202
- //! <b>Complexity</b>: N log(size() + N) (N has the value source.size())
1232
+ //! <b>Note</b>: Invalidates all iterators and references.
1203
1233
  template<class C2>
1204
1234
  BOOST_CONTAINER_FORCEINLINE void merge(flat_map<Key, T, C2, AllocatorOrContainer>& source)
1205
1235
  { m_flat_tree.merge_unique(source.tree()); }
@@ -1287,14 +1317,16 @@ class flat_map
1287
1317
  //! of which a was constructed.
1288
1318
  //!
1289
1319
  //! <b>Complexity</b>: Constant.
1290
- BOOST_CONTAINER_FORCEINLINE key_compare key_comp() const
1320
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1321
+ key_compare key_comp() const
1291
1322
  { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
1292
1323
 
1293
1324
  //! <b>Effects</b>: Returns an object of value_compare constructed out
1294
1325
  //! of the comparison object.
1295
1326
  //!
1296
1327
  //! <b>Complexity</b>: Constant.
1297
- BOOST_CONTAINER_FORCEINLINE value_compare value_comp() const
1328
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1329
+ value_compare value_comp() const
1298
1330
  { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
1299
1331
 
1300
1332
  //////////////////////////////////////////////
@@ -1307,14 +1339,16 @@ class flat_map
1307
1339
  //! equivalent to x, or end() if such an element is not found.
1308
1340
  //!
1309
1341
  //! <b>Complexity</b>: Logarithmic.
1310
- BOOST_CONTAINER_FORCEINLINE iterator find(const key_type& x)
1342
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1343
+ iterator find(const key_type& x)
1311
1344
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1312
1345
 
1313
1346
  //! <b>Returns</b>: A const_iterator pointing to an element with the key
1314
1347
  //! equivalent to x, or end() if such an element is not found.
1315
1348
  //!
1316
1349
  //! <b>Complexity</b>: Logarithmic.
1317
- BOOST_CONTAINER_FORCEINLINE const_iterator find(const key_type& x) const
1350
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1351
+ const_iterator find(const key_type& x) const
1318
1352
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1319
1353
 
1320
1354
  //! <b>Requires</b>: This overload is available only if
@@ -1325,7 +1359,8 @@ class flat_map
1325
1359
  //!
1326
1360
  //! <b>Complexity</b>: Logarithmic.
1327
1361
  template<class K>
1328
- BOOST_CONTAINER_FORCEINLINE iterator find(const K& x)
1362
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1363
+ iterator find(const K& x)
1329
1364
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
1330
1365
 
1331
1366
  //! <b>Requires</b>: This overload is available only if
@@ -1336,13 +1371,15 @@ class flat_map
1336
1371
  //!
1337
1372
  //! <b>Complexity</b>: Logarithmic.
1338
1373
  template<class K>
1339
- BOOST_CONTAINER_FORCEINLINE const_iterator find(const K& x) const
1374
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1375
+ const_iterator find(const K& x) const
1340
1376
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
1341
1377
 
1342
1378
  //! <b>Returns</b>: The number of elements with key equivalent to x.
1343
1379
  //!
1344
1380
  //! <b>Complexity</b>: log(size())+count(k)
1345
- BOOST_CONTAINER_FORCEINLINE size_type count(const key_type& x) const
1381
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1382
+ size_type count(const key_type& x) const
1346
1383
  { return static_cast<size_type>(m_flat_tree.find(x) != m_flat_tree.end()); }
1347
1384
 
1348
1385
  //! <b>Requires</b>: This overload is available only if
@@ -1352,7 +1389,8 @@ class flat_map
1352
1389
  //!
1353
1390
  //! <b>Complexity</b>: log(size())+count(k)
1354
1391
  template<class K>
1355
- BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
1392
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1393
+ size_type count(const K& x) const
1356
1394
  //Don't use find() != end optimization here as transparent comparators with key K might
1357
1395
  //return a different range than key_type (which can only return a single element range)
1358
1396
  { return m_flat_tree.count(x); }
@@ -1361,7 +1399,8 @@ class flat_map
1361
1399
  //! equivalent to key in the container, otherwise false.
1362
1400
  //!
1363
1401
  //! <b>Complexity</b>: log(size()).
1364
- bool contains(const key_type& x) const
1402
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1403
+ bool contains(const key_type& x) const
1365
1404
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
1366
1405
 
1367
1406
  //! <b>Requires</b>: This overload is available only if
@@ -1372,21 +1411,24 @@ class flat_map
1372
1411
  //!
1373
1412
  //! <b>Complexity</b>: log(size()).
1374
1413
  template<typename K>
1375
- bool contains(const K& x) const
1414
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1415
+ bool contains(const K& x) const
1376
1416
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
1377
1417
 
1378
1418
  //! <b>Returns</b>: An iterator pointing to the first element with key not less
1379
1419
  //! than x, or end() if such an element is not found.
1380
1420
  //!
1381
1421
  //! <b>Complexity</b>: Logarithmic.
1382
- BOOST_CONTAINER_FORCEINLINE iterator lower_bound(const key_type& x)
1422
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1423
+ iterator lower_bound(const key_type& x)
1383
1424
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1384
1425
 
1385
1426
  //! <b>Returns</b>: A const iterator pointing to the first element with key not
1386
1427
  //! less than x, or end() if such an element is not found.
1387
1428
  //!
1388
1429
  //! <b>Complexity</b>: Logarithmic.
1389
- BOOST_CONTAINER_FORCEINLINE const_iterator lower_bound(const key_type& x) const
1430
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1431
+ const_iterator lower_bound(const key_type& x) const
1390
1432
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1391
1433
 
1392
1434
  //! <b>Requires</b>: This overload is available only if
@@ -1397,7 +1439,8 @@ class flat_map
1397
1439
  //!
1398
1440
  //! <b>Complexity</b>: Logarithmic.
1399
1441
  template<class K>
1400
- BOOST_CONTAINER_FORCEINLINE iterator lower_bound(const K& x)
1442
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1443
+ iterator lower_bound(const K& x)
1401
1444
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
1402
1445
 
1403
1446
  //! <b>Requires</b>: This overload is available only if
@@ -1408,21 +1451,24 @@ class flat_map
1408
1451
  //!
1409
1452
  //! <b>Complexity</b>: Logarithmic.
1410
1453
  template<class K>
1411
- BOOST_CONTAINER_FORCEINLINE const_iterator lower_bound(const K& x) const
1454
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1455
+ const_iterator lower_bound(const K& x) const
1412
1456
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
1413
1457
 
1414
1458
  //! <b>Returns</b>: An iterator pointing to the first element with key greater
1415
1459
  //! than x, or end() if such an element is not found.
1416
1460
  //!
1417
1461
  //! <b>Complexity</b>: Logarithmic.
1418
- BOOST_CONTAINER_FORCEINLINE iterator upper_bound(const key_type& x)
1462
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1463
+ iterator upper_bound(const key_type& x)
1419
1464
  { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1420
1465
 
1421
1466
  //! <b>Returns</b>: A const iterator pointing to the first element with key
1422
1467
  //! greater than x, or end() if such an element is not found.
1423
1468
  //!
1424
1469
  //! <b>Complexity</b>: Logarithmic.
1425
- BOOST_CONTAINER_FORCEINLINE const_iterator upper_bound(const key_type& x) const
1470
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1471
+ const_iterator upper_bound(const key_type& x) const
1426
1472
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1427
1473
 
1428
1474
  //! <b>Requires</b>: This overload is available only if
@@ -1433,7 +1479,8 @@ class flat_map
1433
1479
  //!
1434
1480
  //! <b>Complexity</b>: Logarithmic.
1435
1481
  template<class K>
1436
- BOOST_CONTAINER_FORCEINLINE iterator upper_bound(const K& x)
1482
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1483
+ iterator upper_bound(const K& x)
1437
1484
  { return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
1438
1485
 
1439
1486
  //! <b>Requires</b>: This overload is available only if
@@ -1444,19 +1491,22 @@ class flat_map
1444
1491
  //!
1445
1492
  //! <b>Complexity</b>: Logarithmic.
1446
1493
  template<class K>
1447
- BOOST_CONTAINER_FORCEINLINE const_iterator upper_bound(const K& x) const
1494
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1495
+ const_iterator upper_bound(const K& x) const
1448
1496
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
1449
1497
 
1450
1498
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1451
1499
  //!
1452
1500
  //! <b>Complexity</b>: Logarithmic.
1453
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const key_type& x)
1501
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1502
+ std::pair<iterator,iterator> equal_range(const key_type& x)
1454
1503
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.lower_bound_range(x)); }
1455
1504
 
1456
1505
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
1457
1506
  //!
1458
1507
  //! <b>Complexity</b>: Logarithmic.
1459
- BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
1508
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1509
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
1460
1510
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.lower_bound_range(x)); }
1461
1511
 
1462
1512
  //! <b>Requires</b>: This overload is available only if
@@ -1466,7 +1516,8 @@ class flat_map
1466
1516
  //!
1467
1517
  //! <b>Complexity</b>: Logarithmic.
1468
1518
  template<class K>
1469
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const K& x)
1519
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1520
+ std::pair<iterator,iterator> equal_range(const K& x)
1470
1521
  //Don't use lower_bound_range optimization here as transparent comparators with key K might
1471
1522
  //return a different range than key_type (which can only return a single element range)
1472
1523
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
@@ -1478,7 +1529,8 @@ class flat_map
1478
1529
  //!
1479
1530
  //! <b>Complexity</b>: Logarithmic.
1480
1531
  template<class K>
1481
- BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator, const_iterator> equal_range(const K& x) const
1532
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1533
+ std::pair<const_iterator, const_iterator> equal_range(const K& x) const
1482
1534
  //Don't use lower_bound_range optimization here as transparent comparators with key K might
1483
1535
  //return a different range than key_type (which can only return a single element range)
1484
1536
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
@@ -1490,7 +1542,7 @@ class flat_map
1490
1542
  //! <b>Postcondition</b>: this->empty()
1491
1543
  //!
1492
1544
  //! <b>Throws</b>: If secuence_type's move constructor throws
1493
- BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
1545
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
1494
1546
  {
1495
1547
  return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
1496
1548
  }
@@ -1519,65 +1571,74 @@ class flat_map
1519
1571
  //! <b>Effects</b>: Returns true if x and y are equal
1520
1572
  //!
1521
1573
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1522
- BOOST_CONTAINER_FORCEINLINE friend bool operator==(const flat_map& x, const flat_map& y)
1574
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1575
+ friend bool operator==(const flat_map& x, const flat_map& y)
1523
1576
  { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
1524
1577
 
1525
1578
  //! <b>Effects</b>: Returns true if x and y are unequal
1526
1579
  //!
1527
1580
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1528
- BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const flat_map& x, const flat_map& y)
1581
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1582
+ friend bool operator!=(const flat_map& x, const flat_map& y)
1529
1583
  { return !(x == y); }
1530
1584
 
1531
1585
  //! <b>Effects</b>: Returns true if x is less than y
1532
1586
  //!
1533
1587
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1534
- BOOST_CONTAINER_FORCEINLINE friend bool operator<(const flat_map& x, const flat_map& y)
1588
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1589
+ friend bool operator<(const flat_map& x, const flat_map& y)
1535
1590
  { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
1536
1591
 
1537
1592
  //! <b>Effects</b>: Returns true if x is greater than y
1538
1593
  //!
1539
1594
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1540
- BOOST_CONTAINER_FORCEINLINE friend bool operator>(const flat_map& x, const flat_map& y)
1595
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1596
+ friend bool operator>(const flat_map& x, const flat_map& y)
1541
1597
  { return y < x; }
1542
1598
 
1543
1599
  //! <b>Effects</b>: Returns true if x is equal or less than y
1544
1600
  //!
1545
1601
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1546
- BOOST_CONTAINER_FORCEINLINE friend bool operator<=(const flat_map& x, const flat_map& y)
1602
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1603
+ friend bool operator<=(const flat_map& x, const flat_map& y)
1547
1604
  { return !(y < x); }
1548
1605
 
1549
1606
  //! <b>Effects</b>: Returns true if x is equal or greater than y
1550
1607
  //!
1551
1608
  //! <b>Complexity</b>: Linear to the number of elements in the container.
1552
- BOOST_CONTAINER_FORCEINLINE friend bool operator>=(const flat_map& x, const flat_map& y)
1609
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
1610
+ friend bool operator>=(const flat_map& x, const flat_map& y)
1553
1611
  { return !(x < y); }
1554
1612
 
1555
1613
  //! <b>Effects</b>: x.swap(y)
1556
1614
  //!
1557
1615
  //! <b>Complexity</b>: Constant.
1558
1616
  BOOST_CONTAINER_FORCEINLINE friend void swap(flat_map& x, flat_map& y)
1617
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
1559
1618
  { x.swap(y); }
1560
1619
 
1561
1620
  #ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
1562
1621
  private:
1563
1622
  mapped_type &priv_subscript(const key_type& k)
1564
1623
  {
1565
- iterator i = lower_bound(k);
1624
+ iterator i = this->lower_bound(k);
1566
1625
  // i->first is greater than or equivalent to k.
1567
1626
  if (i == end() || key_comp()(k, (*i).first)){
1568
1627
  dtl::value_init<mapped_type> m;
1569
- i = insert(i, impl_value_type(k, ::boost::move(m.m_t)));
1628
+ impl_value_type v(k, ::boost::move(m.m_t));
1629
+ i = this->insert(i, ::boost::move(v));
1570
1630
  }
1571
1631
  return (*i).second;
1572
1632
  }
1573
1633
  mapped_type &priv_subscript(BOOST_RV_REF(key_type) mk)
1574
1634
  {
1575
1635
  key_type &k = mk;
1576
- iterator i = lower_bound(k);
1636
+ iterator i = this->lower_bound(k);
1577
1637
  // i->first is greater than or equivalent to k.
1578
1638
  if (i == end() || key_comp()(k, (*i).first)){
1579
1639
  dtl::value_init<mapped_type> m;
1580
- i = insert(i, impl_value_type(boost::move(k), ::boost::move(m.m_t)));
1640
+ impl_value_type v(::boost::move(k), ::boost::move(m.m_t));
1641
+ i = this->insert(i, ::boost::move(v));
1581
1642
  }
1582
1643
  return (*i).second;
1583
1644
  }
@@ -2095,7 +2156,7 @@ class flat_multimap
2095
2156
  //! was passed to the object's constructor.
2096
2157
  //!
2097
2158
  //! <b>Complexity</b>: Constant.
2098
- BOOST_CONTAINER_FORCEINLINE
2159
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2099
2160
  allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2100
2161
  { return dtl::force_copy<allocator_type>(m_flat_tree.get_allocator()); }
2101
2162
 
@@ -2106,7 +2167,7 @@ class flat_multimap
2106
2167
  //! <b>Complexity</b>: Constant.
2107
2168
  //!
2108
2169
  //! <b>Note</b>: Non-standard extension.
2109
- BOOST_CONTAINER_FORCEINLINE
2170
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2110
2171
  stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
2111
2172
  { return dtl::force<stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2112
2173
 
@@ -2117,7 +2178,7 @@ class flat_multimap
2117
2178
  //! <b>Complexity</b>: Constant.
2118
2179
  //!
2119
2180
  //! <b>Note</b>: Non-standard extension.
2120
- BOOST_CONTAINER_FORCEINLINE
2181
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2121
2182
  const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
2122
2183
  { return dtl::force<const stored_allocator_type>(m_flat_tree.get_stored_allocator()); }
2123
2184
 
@@ -2132,7 +2193,7 @@ class flat_multimap
2132
2193
  //! <b>Throws</b>: Nothing.
2133
2194
  //!
2134
2195
  //! <b>Complexity</b>: Constant.
2135
- BOOST_CONTAINER_FORCEINLINE
2196
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2136
2197
  iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
2137
2198
  { return dtl::force_copy<iterator>(m_flat_tree.begin()); }
2138
2199
 
@@ -2141,7 +2202,7 @@ class flat_multimap
2141
2202
  //! <b>Throws</b>: Nothing.
2142
2203
  //!
2143
2204
  //! <b>Complexity</b>: Constant.
2144
- BOOST_CONTAINER_FORCEINLINE
2205
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2145
2206
  const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
2146
2207
  { return dtl::force_copy<const_iterator>(m_flat_tree.begin()); }
2147
2208
 
@@ -2150,7 +2211,7 @@ class flat_multimap
2150
2211
  //! <b>Throws</b>: Nothing.
2151
2212
  //!
2152
2213
  //! <b>Complexity</b>: Constant.
2153
- BOOST_CONTAINER_FORCEINLINE
2214
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2154
2215
  iterator end() BOOST_NOEXCEPT_OR_NOTHROW
2155
2216
  { return dtl::force_copy<iterator>(m_flat_tree.end()); }
2156
2217
 
@@ -2159,7 +2220,7 @@ class flat_multimap
2159
2220
  //! <b>Throws</b>: Nothing.
2160
2221
  //!
2161
2222
  //! <b>Complexity</b>: Constant.
2162
- BOOST_CONTAINER_FORCEINLINE
2223
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2163
2224
  const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
2164
2225
  { return dtl::force_copy<const_iterator>(m_flat_tree.end()); }
2165
2226
 
@@ -2169,7 +2230,7 @@ class flat_multimap
2169
2230
  //! <b>Throws</b>: Nothing.
2170
2231
  //!
2171
2232
  //! <b>Complexity</b>: Constant.
2172
- BOOST_CONTAINER_FORCEINLINE
2233
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2173
2234
  reverse_iterator rbegin() BOOST_NOEXCEPT_OR_NOTHROW
2174
2235
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rbegin()); }
2175
2236
 
@@ -2179,7 +2240,7 @@ class flat_multimap
2179
2240
  //! <b>Throws</b>: Nothing.
2180
2241
  //!
2181
2242
  //! <b>Complexity</b>: Constant.
2182
- BOOST_CONTAINER_FORCEINLINE
2243
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2183
2244
  const_reverse_iterator rbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2184
2245
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rbegin()); }
2185
2246
 
@@ -2189,7 +2250,7 @@ class flat_multimap
2189
2250
  //! <b>Throws</b>: Nothing.
2190
2251
  //!
2191
2252
  //! <b>Complexity</b>: Constant.
2192
- BOOST_CONTAINER_FORCEINLINE
2253
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2193
2254
  reverse_iterator rend() BOOST_NOEXCEPT_OR_NOTHROW
2194
2255
  { return dtl::force_copy<reverse_iterator>(m_flat_tree.rend()); }
2195
2256
 
@@ -2199,7 +2260,7 @@ class flat_multimap
2199
2260
  //! <b>Throws</b>: Nothing.
2200
2261
  //!
2201
2262
  //! <b>Complexity</b>: Constant.
2202
- BOOST_CONTAINER_FORCEINLINE
2263
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2203
2264
  const_reverse_iterator rend() const BOOST_NOEXCEPT_OR_NOTHROW
2204
2265
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.rend()); }
2205
2266
 
@@ -2208,7 +2269,7 @@ class flat_multimap
2208
2269
  //! <b>Throws</b>: Nothing.
2209
2270
  //!
2210
2271
  //! <b>Complexity</b>: Constant.
2211
- BOOST_CONTAINER_FORCEINLINE
2272
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2212
2273
  const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2213
2274
  { return dtl::force_copy<const_iterator>(m_flat_tree.cbegin()); }
2214
2275
 
@@ -2217,7 +2278,7 @@ class flat_multimap
2217
2278
  //! <b>Throws</b>: Nothing.
2218
2279
  //!
2219
2280
  //! <b>Complexity</b>: Constant.
2220
- BOOST_CONTAINER_FORCEINLINE
2281
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2221
2282
  const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
2222
2283
  { return dtl::force_copy<const_iterator>(m_flat_tree.cend()); }
2223
2284
 
@@ -2227,7 +2288,7 @@ class flat_multimap
2227
2288
  //! <b>Throws</b>: Nothing.
2228
2289
  //!
2229
2290
  //! <b>Complexity</b>: Constant.
2230
- BOOST_CONTAINER_FORCEINLINE
2291
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2231
2292
  const_reverse_iterator crbegin() const BOOST_NOEXCEPT_OR_NOTHROW
2232
2293
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crbegin()); }
2233
2294
 
@@ -2237,7 +2298,7 @@ class flat_multimap
2237
2298
  //! <b>Throws</b>: Nothing.
2238
2299
  //!
2239
2300
  //! <b>Complexity</b>: Constant.
2240
- BOOST_CONTAINER_FORCEINLINE
2301
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2241
2302
  const_reverse_iterator crend() const BOOST_NOEXCEPT_OR_NOTHROW
2242
2303
  { return dtl::force_copy<const_reverse_iterator>(m_flat_tree.crend()); }
2243
2304
 
@@ -2252,7 +2313,7 @@ class flat_multimap
2252
2313
  //! <b>Throws</b>: Nothing.
2253
2314
  //!
2254
2315
  //! <b>Complexity</b>: Constant.
2255
- BOOST_CONTAINER_FORCEINLINE
2316
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2256
2317
  bool empty() const BOOST_NOEXCEPT_OR_NOTHROW
2257
2318
  { return m_flat_tree.empty(); }
2258
2319
 
@@ -2261,7 +2322,7 @@ class flat_multimap
2261
2322
  //! <b>Throws</b>: Nothing.
2262
2323
  //!
2263
2324
  //! <b>Complexity</b>: Constant.
2264
- BOOST_CONTAINER_FORCEINLINE
2325
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2265
2326
  size_type size() const BOOST_NOEXCEPT_OR_NOTHROW
2266
2327
  { return m_flat_tree.size(); }
2267
2328
 
@@ -2270,7 +2331,7 @@ class flat_multimap
2270
2331
  //! <b>Throws</b>: Nothing.
2271
2332
  //!
2272
2333
  //! <b>Complexity</b>: Constant.
2273
- BOOST_CONTAINER_FORCEINLINE
2334
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2274
2335
  size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
2275
2336
  { return m_flat_tree.max_size(); }
2276
2337
 
@@ -2280,7 +2341,7 @@ class flat_multimap
2280
2341
  //! <b>Throws</b>: Nothing.
2281
2342
  //!
2282
2343
  //! <b>Complexity</b>: Constant.
2283
- BOOST_CONTAINER_FORCEINLINE
2344
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2284
2345
  size_type capacity() const BOOST_NOEXCEPT_OR_NOTHROW
2285
2346
  { return m_flat_tree.capacity(); }
2286
2347
 
@@ -2309,22 +2370,22 @@ class flat_multimap
2309
2370
  { m_flat_tree.shrink_to_fit(); }
2310
2371
 
2311
2372
  //! @copydoc ::boost::container::flat_set::nth(size_type)
2312
- BOOST_CONTAINER_FORCEINLINE
2373
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2313
2374
  iterator nth(size_type n) BOOST_NOEXCEPT_OR_NOTHROW
2314
2375
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2315
2376
 
2316
2377
  //! @copydoc ::boost::container::flat_set::nth(size_type) const
2317
- BOOST_CONTAINER_FORCEINLINE
2378
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2318
2379
  const_iterator nth(size_type n) const BOOST_NOEXCEPT_OR_NOTHROW
2319
2380
  { return dtl::force_copy<iterator>(m_flat_tree.nth(n)); }
2320
2381
 
2321
2382
  //! @copydoc ::boost::container::flat_set::index_of(iterator)
2322
- BOOST_CONTAINER_FORCEINLINE
2383
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2323
2384
  size_type index_of(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
2324
2385
  { return m_flat_tree.index_of(dtl::force_copy<impl_iterator>(p)); }
2325
2386
 
2326
2387
  //! @copydoc ::boost::container::flat_set::index_of(const_iterator) const
2327
- BOOST_CONTAINER_FORCEINLINE
2388
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2328
2389
  size_type index_of(const_iterator p) const BOOST_NOEXCEPT_OR_NOTHROW
2329
2390
  { return m_flat_tree.index_of(dtl::force_copy<impl_const_iterator>(p)); }
2330
2391
 
@@ -2395,25 +2456,20 @@ class flat_multimap
2395
2456
  m_flat_tree.insert_equal(dtl::force<const impl_value_type>(x)));
2396
2457
  }
2397
2458
 
2398
- //! <b>Effects</b>: Inserts a new value move-constructed from x and returns
2459
+ //! <b>Effects</b>: Inserts a new value constructed from x and returns
2399
2460
  //! the iterator pointing to the newly inserted element.
2400
2461
  //!
2401
2462
  //! <b>Complexity</b>: Logarithmic search time plus linear insertion
2402
2463
  //! to the elements with bigger keys than x.
2403
2464
  //!
2404
2465
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2405
- BOOST_CONTAINER_FORCEINLINE iterator insert(BOOST_RV_REF(value_type) x)
2406
- { return dtl::force_copy<iterator>(m_flat_tree.insert_equal(boost::move(x))); }
2407
-
2408
- //! <b>Effects</b>: Inserts a new value move-constructed from x and returns
2409
- //! the iterator pointing to the newly inserted element.
2410
- //!
2411
- //! <b>Complexity</b>: Logarithmic search time plus linear insertion
2412
- //! to the elements with bigger keys than x.
2413
- //!
2414
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
2415
- BOOST_CONTAINER_FORCEINLINE iterator insert(BOOST_RV_REF(impl_value_type) x)
2416
- { return dtl::force_copy<iterator>(m_flat_tree.insert_equal(boost::move(x))); }
2466
+ template<class Pair>
2467
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2468
+ ( iterator
2469
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2470
+ BOOST_MOVE_I iterator >::type)
2471
+ insert(BOOST_FWD_REF(Pair) x)
2472
+ { return dtl::force_copy<iterator>(m_flat_tree.emplace_equal(boost::forward<Pair>(x))); }
2417
2473
 
2418
2474
  //! <b>Effects</b>: Inserts a copy of x in the container.
2419
2475
  //! p is a hint pointing to where the insert should start to search.
@@ -2433,25 +2489,7 @@ class flat_multimap
2433
2489
  , dtl::force<const impl_value_type>(x)));
2434
2490
  }
2435
2491
 
2436
- //! <b>Effects</b>: Inserts a value move constructed from x in the container.
2437
- //! p is a hint pointing to where the insert should start to search.
2438
- //!
2439
- //! <b>Returns</b>: An iterator pointing to the element with key equivalent
2440
- //! to the key of x.
2441
- //!
2442
- //! <b>Complexity</b>: Logarithmic search time (constant time if the value
2443
- //! is to be inserted before p) plus linear insertion
2444
- //! to the elements with bigger keys than x.
2445
- //!
2446
- //! <b>Note</b>: If an element is inserted it might invalidate elements.
2447
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(value_type) x)
2448
- {
2449
- return dtl::force_copy<iterator>
2450
- (m_flat_tree.insert_equal(dtl::force_copy<impl_const_iterator>(p)
2451
- , boost::move(x)));
2452
- }
2453
-
2454
- //! <b>Effects</b>: Inserts a value move constructed from x in the container.
2492
+ //! <b>Effects</b>: Inserts a value constructed from x in the container.
2455
2493
  //! p is a hint pointing to where the insert should start to search.
2456
2494
  //!
2457
2495
  //! <b>Returns</b>: An iterator pointing to the element with key equivalent
@@ -2462,10 +2500,15 @@ class flat_multimap
2462
2500
  //! to the elements with bigger keys than x.
2463
2501
  //!
2464
2502
  //! <b>Note</b>: If an element is inserted it might invalidate elements.
2465
- BOOST_CONTAINER_FORCEINLINE iterator insert(const_iterator p, BOOST_RV_REF(impl_value_type) x)
2503
+ template<class Pair>
2504
+ BOOST_CONTAINER_FORCEINLINE BOOST_CONTAINER_DOC1ST
2505
+ ( iterator
2506
+ , typename dtl::enable_if_c<dtl::is_convertible<Pair BOOST_MOVE_I impl_value_type>::value
2507
+ BOOST_MOVE_I iterator>::type)
2508
+ insert(const_iterator p, BOOST_FWD_REF(Pair) x)
2466
2509
  {
2467
2510
  return dtl::force_copy<iterator>(
2468
- m_flat_tree.insert_equal(dtl::force_copy<impl_const_iterator>(p), boost::move(x)));
2511
+ m_flat_tree.emplace_hint_equal(dtl::force_copy<impl_const_iterator>(p), boost::forward<Pair>(x)));
2469
2512
  }
2470
2513
 
2471
2514
  //! <b>Requires</b>: first, last are not iterators into *this.
@@ -2529,17 +2572,12 @@ class flat_multimap
2529
2572
 
2530
2573
  //! <b>Requires</b>: this->get_allocator() == source.get_allocator().
2531
2574
  //!
2532
- //! <b>Effects</b>: Extracts each element in source and insert it into a using
2575
+ //! <b>Effects</b>: Move-inserts each element from source into *this a using
2533
2576
  //! the comparison object of *this.
2534
- //!
2535
- //! <b>Postcondition</b>: Pointers and references to the transferred elements of source refer
2536
- //! to those same elements but as members of *this. Iterators referring to the transferred
2537
- //! elements will continue to refer to their elements, but they now behave as iterators into *this,
2538
- //! not into source.
2539
2577
  //!
2540
- //! <b>Throws</b>: Nothing unless the comparison object throws.
2578
+ //! <b>Complexity</b>: Linear in this->size() + source.size().
2541
2579
  //!
2542
- //! <b>Complexity</b>: N log(size() + N) (N has the value source.size())
2580
+ //! <b>Note</b>: Invalidates all iterators and references.
2543
2581
  template<class C2>
2544
2582
  BOOST_CONTAINER_FORCEINLINE void merge(flat_multimap<Key, T, C2, AllocatorOrContainer>& source)
2545
2583
  { m_flat_tree.merge_equal(source.tree()); }
@@ -2627,14 +2665,16 @@ class flat_multimap
2627
2665
  //! of which a was constructed.
2628
2666
  //!
2629
2667
  //! <b>Complexity</b>: Constant.
2630
- BOOST_CONTAINER_FORCEINLINE key_compare key_comp() const
2668
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2669
+ key_compare key_comp() const
2631
2670
  { return dtl::force_copy<key_compare>(m_flat_tree.key_comp()); }
2632
2671
 
2633
2672
  //! <b>Effects</b>: Returns an object of value_compare constructed out
2634
2673
  //! of the comparison object.
2635
2674
  //!
2636
2675
  //! <b>Complexity</b>: Constant.
2637
- BOOST_CONTAINER_FORCEINLINE value_compare value_comp() const
2676
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2677
+ value_compare value_comp() const
2638
2678
  { return value_compare(dtl::force_copy<key_compare>(m_flat_tree.key_comp())); }
2639
2679
 
2640
2680
  //////////////////////////////////////////////
@@ -2647,14 +2687,16 @@ class flat_multimap
2647
2687
  //! equivalent to x, or end() if such an element is not found.
2648
2688
  //!
2649
2689
  //! <b>Complexity</b>: Logarithmic.
2650
- BOOST_CONTAINER_FORCEINLINE iterator find(const key_type& x)
2690
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2691
+ iterator find(const key_type& x)
2651
2692
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2652
2693
 
2653
2694
  //! <b>Returns</b>: An const_iterator pointing to an element with the key
2654
2695
  //! equivalent to x, or end() if such an element is not found.
2655
2696
  //!
2656
2697
  //! <b>Complexity</b>: Logarithmic.
2657
- BOOST_CONTAINER_FORCEINLINE const_iterator find(const key_type& x) const
2698
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2699
+ const_iterator find(const key_type& x) const
2658
2700
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2659
2701
 
2660
2702
  //! <b>Requires</b>: This overload is available only if
@@ -2665,7 +2707,8 @@ class flat_multimap
2665
2707
  //!
2666
2708
  //! <b>Complexity</b>: Logarithmic.
2667
2709
  template<class K>
2668
- BOOST_CONTAINER_FORCEINLINE iterator find(const K& x)
2710
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2711
+ iterator find(const K& x)
2669
2712
  { return dtl::force_copy<iterator>(m_flat_tree.find(x)); }
2670
2713
 
2671
2714
  //! <b>Requires</b>: This overload is available only if
@@ -2676,13 +2719,15 @@ class flat_multimap
2676
2719
  //!
2677
2720
  //! <b>Complexity</b>: Logarithmic.
2678
2721
  template<class K>
2679
- BOOST_CONTAINER_FORCEINLINE const_iterator find(const K& x) const
2722
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2723
+ const_iterator find(const K& x) const
2680
2724
  { return dtl::force_copy<const_iterator>(m_flat_tree.find(x)); }
2681
2725
 
2682
2726
  //! <b>Returns</b>: The number of elements with key equivalent to x.
2683
2727
  //!
2684
2728
  //! <b>Complexity</b>: log(size())+count(k)
2685
- BOOST_CONTAINER_FORCEINLINE size_type count(const key_type& x) const
2729
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2730
+ size_type count(const key_type& x) const
2686
2731
  { return m_flat_tree.count(x); }
2687
2732
 
2688
2733
  //! <b>Requires</b>: This overload is available only if
@@ -2692,14 +2737,16 @@ class flat_multimap
2692
2737
  //!
2693
2738
  //! <b>Complexity</b>: log(size())+count(k)
2694
2739
  template<class K>
2695
- BOOST_CONTAINER_FORCEINLINE size_type count(const K& x) const
2740
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2741
+ size_type count(const K& x) const
2696
2742
  { return m_flat_tree.count(x); }
2697
2743
 
2698
2744
  //! <b>Returns</b>: Returns true if there is an element with key
2699
2745
  //! equivalent to key in the container, otherwise false.
2700
2746
  //!
2701
2747
  //! <b>Complexity</b>: log(size()).
2702
- bool contains(const key_type& x) const
2748
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2749
+ bool contains(const key_type& x) const
2703
2750
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
2704
2751
 
2705
2752
  //! <b>Requires</b>: This overload is available only if
@@ -2710,21 +2757,24 @@ class flat_multimap
2710
2757
  //!
2711
2758
  //! <b>Complexity</b>: log(size()).
2712
2759
  template<typename K>
2713
- bool contains(const K& x) const
2760
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2761
+ bool contains(const K& x) const
2714
2762
  { return m_flat_tree.find(x) != m_flat_tree.end(); }
2715
2763
 
2716
2764
  //! <b>Returns</b>: An iterator pointing to the first element with key not less
2717
2765
  //! than x, or end() if such an element is not found.
2718
2766
  //!
2719
2767
  //! <b>Complexity</b>: Logarithmic
2720
- BOOST_CONTAINER_FORCEINLINE iterator lower_bound(const key_type& x)
2768
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2769
+ iterator lower_bound(const key_type& x)
2721
2770
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2722
2771
 
2723
2772
  //! <b>Returns</b>: An iterator pointing to the first element with key not less
2724
2773
  //! than x, or end() if such an element is not found.
2725
2774
  //!
2726
2775
  //! <b>Complexity</b>: Logarithmic
2727
- BOOST_CONTAINER_FORCEINLINE const_iterator lower_bound(const key_type& x) const
2776
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2777
+ const_iterator lower_bound(const key_type& x) const
2728
2778
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2729
2779
 
2730
2780
  //! <b>Requires</b>: This overload is available only if
@@ -2735,7 +2785,8 @@ class flat_multimap
2735
2785
  //!
2736
2786
  //! <b>Complexity</b>: Logarithmic
2737
2787
  template<class K>
2738
- BOOST_CONTAINER_FORCEINLINE iterator lower_bound(const K& x)
2788
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2789
+ iterator lower_bound(const K& x)
2739
2790
  { return dtl::force_copy<iterator>(m_flat_tree.lower_bound(x)); }
2740
2791
 
2741
2792
  //! <b>Requires</b>: This overload is available only if
@@ -2746,21 +2797,24 @@ class flat_multimap
2746
2797
  //!
2747
2798
  //! <b>Complexity</b>: Logarithmic
2748
2799
  template<class K>
2749
- BOOST_CONTAINER_FORCEINLINE const_iterator lower_bound(const K& x) const
2800
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2801
+ const_iterator lower_bound(const K& x) const
2750
2802
  { return dtl::force_copy<const_iterator>(m_flat_tree.lower_bound(x)); }
2751
2803
 
2752
2804
  //! <b>Returns</b>: An iterator pointing to the first element with key greater
2753
2805
  //! than x, or end() if such an element is not found.
2754
2806
  //!
2755
2807
  //! <b>Complexity</b>: Logarithmic
2756
- BOOST_CONTAINER_FORCEINLINE iterator upper_bound(const key_type& x)
2808
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2809
+ iterator upper_bound(const key_type& x)
2757
2810
  {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2758
2811
 
2759
2812
  //! <b>Returns</b>: A const iterator pointing to the first element with key
2760
2813
  //! greater than x, or end() if such an element is not found.
2761
2814
  //!
2762
2815
  //! <b>Complexity</b>: Logarithmic
2763
- BOOST_CONTAINER_FORCEINLINE const_iterator upper_bound(const key_type& x) const
2816
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2817
+ const_iterator upper_bound(const key_type& x) const
2764
2818
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2765
2819
 
2766
2820
  //! <b>Requires</b>: This overload is available only if
@@ -2771,7 +2825,8 @@ class flat_multimap
2771
2825
  //!
2772
2826
  //! <b>Complexity</b>: Logarithmic
2773
2827
  template<class K>
2774
- BOOST_CONTAINER_FORCEINLINE iterator upper_bound(const K& x)
2828
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2829
+ iterator upper_bound(const K& x)
2775
2830
  {return dtl::force_copy<iterator>(m_flat_tree.upper_bound(x)); }
2776
2831
 
2777
2832
  //! <b>Requires</b>: This overload is available only if
@@ -2782,19 +2837,22 @@ class flat_multimap
2782
2837
  //!
2783
2838
  //! <b>Complexity</b>: Logarithmic
2784
2839
  template<class K>
2785
- BOOST_CONTAINER_FORCEINLINE const_iterator upper_bound(const K& x) const
2840
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2841
+ const_iterator upper_bound(const K& x) const
2786
2842
  { return dtl::force_copy<const_iterator>(m_flat_tree.upper_bound(x)); }
2787
2843
 
2788
2844
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2789
2845
  //!
2790
2846
  //! <b>Complexity</b>: Logarithmic
2791
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const key_type& x)
2847
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2848
+ std::pair<iterator,iterator> equal_range(const key_type& x)
2792
2849
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2793
2850
 
2794
2851
  //! <b>Effects</b>: Equivalent to std::make_pair(this->lower_bound(k), this->upper_bound(k)).
2795
2852
  //!
2796
2853
  //! <b>Complexity</b>: Logarithmic
2797
- BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
2854
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2855
+ std::pair<const_iterator, const_iterator> equal_range(const key_type& x) const
2798
2856
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2799
2857
 
2800
2858
  //! <b>Requires</b>: This overload is available only if
@@ -2804,7 +2862,8 @@ class flat_multimap
2804
2862
  //!
2805
2863
  //! <b>Complexity</b>: Logarithmic
2806
2864
  template<class K>
2807
- BOOST_CONTAINER_FORCEINLINE std::pair<iterator,iterator> equal_range(const K& x)
2865
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2866
+ std::pair<iterator,iterator> equal_range(const K& x)
2808
2867
  { return dtl::force_copy<std::pair<iterator,iterator> >(m_flat_tree.equal_range(x)); }
2809
2868
 
2810
2869
  //! <b>Requires</b>: This overload is available only if
@@ -2814,7 +2873,8 @@ class flat_multimap
2814
2873
  //!
2815
2874
  //! <b>Complexity</b>: Logarithmic
2816
2875
  template<class K>
2817
- BOOST_CONTAINER_FORCEINLINE std::pair<const_iterator, const_iterator> equal_range(const K& x) const
2876
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2877
+ std::pair<const_iterator, const_iterator> equal_range(const K& x) const
2818
2878
  { return dtl::force_copy<std::pair<const_iterator,const_iterator> >(m_flat_tree.equal_range(x)); }
2819
2879
 
2820
2880
  //! <b>Effects</b>: Extracts the internal sequence container.
@@ -2824,7 +2884,8 @@ class flat_multimap
2824
2884
  //! <b>Postcondition</b>: this->empty()
2825
2885
  //!
2826
2886
  //! <b>Throws</b>: If secuence_type's move constructor throws
2827
- BOOST_CONTAINER_FORCEINLINE sequence_type extract_sequence()
2887
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2888
+ sequence_type extract_sequence()
2828
2889
  {
2829
2890
  return boost::move(dtl::force<sequence_type>(m_flat_tree.get_sequence_ref()));
2830
2891
  }
@@ -2852,43 +2913,50 @@ class flat_multimap
2852
2913
  //! <b>Effects</b>: Returns true if x and y are equal
2853
2914
  //!
2854
2915
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2855
- BOOST_CONTAINER_FORCEINLINE friend bool operator==(const flat_multimap& x, const flat_multimap& y)
2916
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2917
+ friend bool operator==(const flat_multimap& x, const flat_multimap& y)
2856
2918
  { return x.size() == y.size() && ::boost::container::algo_equal(x.begin(), x.end(), y.begin()); }
2857
2919
 
2858
2920
  //! <b>Effects</b>: Returns true if x and y are unequal
2859
2921
  //!
2860
2922
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2861
- BOOST_CONTAINER_FORCEINLINE friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
2923
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2924
+ friend bool operator!=(const flat_multimap& x, const flat_multimap& y)
2862
2925
  { return !(x == y); }
2863
2926
 
2864
2927
  //! <b>Effects</b>: Returns true if x is less than y
2865
2928
  //!
2866
2929
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2867
- BOOST_CONTAINER_FORCEINLINE friend bool operator<(const flat_multimap& x, const flat_multimap& y)
2930
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2931
+ friend bool operator<(const flat_multimap& x, const flat_multimap& y)
2868
2932
  { return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
2869
2933
 
2870
2934
  //! <b>Effects</b>: Returns true if x is greater than y
2871
2935
  //!
2872
2936
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2873
- BOOST_CONTAINER_FORCEINLINE friend bool operator>(const flat_multimap& x, const flat_multimap& y)
2937
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2938
+ friend bool operator>(const flat_multimap& x, const flat_multimap& y)
2874
2939
  { return y < x; }
2875
2940
 
2876
2941
  //! <b>Effects</b>: Returns true if x is equal or less than y
2877
2942
  //!
2878
2943
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2879
- BOOST_CONTAINER_FORCEINLINE friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
2944
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2945
+ friend bool operator<=(const flat_multimap& x, const flat_multimap& y)
2880
2946
  { return !(y < x); }
2881
2947
 
2882
2948
  //! <b>Effects</b>: Returns true if x is equal or greater than y
2883
2949
  //!
2884
2950
  //! <b>Complexity</b>: Linear to the number of elements in the container.
2885
- BOOST_CONTAINER_FORCEINLINE friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
2951
+ BOOST_CONTAINER_ATTRIBUTE_NODISCARD BOOST_CONTAINER_FORCEINLINE
2952
+ friend bool operator>=(const flat_multimap& x, const flat_multimap& y)
2886
2953
  { return !(x < y); }
2887
2954
 
2888
2955
  //! <b>Effects</b>: x.swap(y)
2889
2956
  //!
2890
2957
  //! <b>Complexity</b>: Constant.
2891
2958
  BOOST_CONTAINER_FORCEINLINE friend void swap(flat_multimap& x, flat_multimap& y)
2959
+ BOOST_NOEXCEPT_IF(BOOST_NOEXCEPT(x.swap(y)))
2892
2960
  { x.swap(y); }
2893
2961
  };
2894
2962