passenger 6.0.11 → 6.0.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (280) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +24 -1
  3. data/CONTRIBUTORS +3 -0
  4. data/src/agent/Core/Config.h +1 -1
  5. data/src/agent/Core/Controller/CheckoutSession.cpp +24 -13
  6. data/src/agent/Core/Controller/Config.h +1 -1
  7. data/src/agent/Core/Controller/InternalUtils.cpp +32 -6
  8. data/src/agent/Core/Controller.h +4 -1
  9. data/src/agent/Watchdog/Config.h +1 -1
  10. data/src/cxx_supportlib/Constants.h +1 -1
  11. data/src/cxx_supportlib/IOTools/IOUtils.cpp +4 -4
  12. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +47 -0
  13. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +41 -0
  14. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +28 -0
  15. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_allocator.hpp +53 -1
  16. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_cancellation_slot.hpp +179 -0
  17. data/src/cxx_supportlib/vendor-modified/boost/asio/associated_executor.hpp +57 -1
  18. data/src/cxx_supportlib/vendor-modified/boost/asio/associator.hpp +37 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/asio/async_result.hpp +789 -106
  20. data/src/cxx_supportlib/vendor-modified/boost/asio/awaitable.hpp +1 -1
  21. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_datagram_socket.hpp +80 -0
  22. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_deadline_timer.hpp +10 -0
  23. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_raw_socket.hpp +80 -0
  24. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_seq_packet_socket.hpp +30 -0
  25. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket.hpp +20 -0
  26. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_socket_acceptor.hpp +90 -0
  27. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_stream_socket.hpp +60 -0
  28. data/src/cxx_supportlib/vendor-modified/boost/asio/basic_waitable_timer.hpp +10 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_cancellation_slot.hpp +723 -0
  30. data/src/cxx_supportlib/vendor-modified/boost/asio/bind_executor.hpp +191 -12
  31. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_signal.hpp +361 -0
  32. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_state.hpp +237 -0
  33. data/src/cxx_supportlib/vendor-modified/boost/asio/cancellation_type.hpp +176 -0
  34. data/src/cxx_supportlib/vendor-modified/boost/asio/co_spawn.hpp +30 -2
  35. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +60 -0
  36. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/base_from_cancellation_state.hpp +165 -0
  37. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/bind_handler.hpp +209 -76
  38. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +149 -60
  39. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/deadline_timer_service.hpp +40 -0
  40. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/dev_poll_reactor.hpp +8 -4
  41. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/epoll_reactor.hpp +14 -4
  42. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/functional.hpp +6 -0
  43. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_alloc_helpers.hpp +14 -10
  44. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_type_requirements.hpp +21 -18
  45. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/handler_work.hpp +30 -19
  46. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.hpp +8 -0
  47. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/dev_poll_reactor.ipp +14 -0
  48. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.hpp +20 -0
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/epoll_reactor.ipp +30 -0
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.hpp +20 -0
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/kqueue_reactor.ipp +29 -0
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.hpp +24 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/select_reactor.ipp +19 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/strand_executor_service.hpp +3 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/timer_queue_ptime.ipp +6 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/kqueue_reactor.hpp +15 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/memory.hpp +60 -0
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/pop_options.hpp +8 -0
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/push_options.hpp +27 -0
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_descriptor_service.hpp +93 -0
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service.hpp +77 -0
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactive_socket_service_base.hpp +111 -0
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op.hpp +4 -0
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/reactor_op_queue.hpp +44 -0
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/recycling_allocator.hpp +2 -1
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/resolve_endpoint_op.hpp +2 -2
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/select_reactor.hpp +14 -4
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/thread_info_base.hpp +90 -24
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +30 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue_ptime.hpp +4 -0
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/wait_op.hpp +5 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/work_dispatcher.hpp +5 -2
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/any_executor.hpp +12 -12
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/bulk_execute.hpp +10 -8
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/connect.hpp +8 -8
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/execute.hpp +7 -7
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/schedule.hpp +7 -7
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_done.hpp +7 -7
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_error.hpp +7 -7
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/set_value.hpp +13 -13
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/start.hpp +7 -7
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/execution/submit.hpp +8 -8
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/append.hpp +73 -0
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/as_tuple.hpp +133 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/awaitable_operators.hpp +538 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/cancellation_condition.hpp +157 -0
  87. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/coro.hpp +1057 -0
  88. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/deferred.hpp +607 -0
  89. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/completion_handler_erasure.hpp +160 -0
  90. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_promise_allocator.hpp +120 -0
  91. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/coro_traits.hpp +185 -0
  92. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/detail/partial_promise.hpp +181 -0
  93. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/append.hpp +219 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_single.hpp +14 -28
  95. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/as_tuple.hpp +248 -0
  96. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/deferred.hpp +106 -0
  97. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/parallel_group.hpp +434 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/prepend.hpp +219 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/impl/promise.hpp +100 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/parallel_group.hpp +217 -0
  101. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/prepend.hpp +73 -0
  102. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/promise.hpp +608 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/asio/experimental/use_coro.hpp +284 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/awaitable.hpp +344 -20
  105. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_read_stream.hpp +23 -54
  106. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/buffered_write_stream.hpp +23 -54
  107. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/co_spawn.hpp +66 -18
  108. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/compose.hpp +55 -5
  109. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/connect.hpp +68 -80
  110. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/defer.hpp +8 -4
  111. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/dispatch.hpp +8 -4
  112. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/handler_alloc_hook.ipp +3 -2
  113. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/post.hpp +8 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read.hpp +98 -113
  115. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_at.hpp +71 -82
  116. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +210 -266
  117. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/redirect_error.hpp +248 -30
  118. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/spawn.hpp +11 -21
  119. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_awaitable.hpp +15 -3
  120. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write.hpp +71 -87
  121. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/write_at.hpp +46 -68
  122. data/src/cxx_supportlib/vendor-modified/boost/asio/io_context.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/asio/local/detail/impl/endpoint.ipp +2 -7
  124. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_descriptor.hpp +10 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/asio/posix/basic_stream_descriptor.hpp +23 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/asio/prefer.hpp +21 -21
  127. data/src/cxx_supportlib/vendor-modified/boost/asio/query.hpp +9 -9
  128. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +88 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +44 -0
  130. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +132 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/asio/require.hpp +21 -21
  132. data/src/cxx_supportlib/vendor-modified/boost/asio/require_concept.hpp +9 -9
  133. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/buffered_handshake_op.hpp +1 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/engine.hpp +5 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/handshake_op.hpp +1 -1
  136. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/impl/engine.ipp +14 -0
  137. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/io.hpp +36 -27
  138. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/read_op.hpp +1 -1
  139. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/shutdown_op.hpp +2 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/stream_core.hpp +37 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/detail/write_op.hpp +1 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +14 -7
  143. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +73 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/asio/system_executor.hpp +4 -4
  145. data/src/cxx_supportlib/vendor-modified/boost/asio/this_coro.hpp +235 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +4 -4
  147. data/src/cxx_supportlib/vendor-modified/boost/asio/use_awaitable.hpp +7 -10
  148. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_random_access_handle.hpp +20 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/asio/windows/basic_stream_handle.hpp +20 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +88 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +44 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/asio.hpp +6 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -1
  155. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +17 -13
  156. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +14 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +2 -5
  158. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +2 -5
  159. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +2 -2
  160. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +2 -2
  161. data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +56 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +1 -5
  163. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +31 -11
  164. data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +20 -4
  165. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_platform_config.hpp +5 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +81 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/config/platform/bsd.hpp +5 -8
  168. data/src/cxx_supportlib/vendor-modified/boost/config/platform/wasm.hpp +17 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +26 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +49 -0
  171. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +46 -4
  172. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +2 -2
  173. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  174. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +2 -2
  175. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +2 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +2 -2
  178. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +1 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +1 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +6 -6
  181. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +4 -4
  182. data/src/cxx_supportlib/vendor-modified/boost/container/throw_exception.hpp +45 -38
  183. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +24 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/ignore_unused.hpp +32 -2
  185. data/src/cxx_supportlib/vendor-modified/boost/core/uncaught_exceptions.hpp +7 -7
  186. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +0 -24
  187. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/time_parsers.hpp +4 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/any_hook.hpp +4 -4
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avl_set.hpp +83 -83
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +43 -43
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +31 -31
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bs_set.hpp +85 -85
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +68 -68
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +72 -62
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +19 -20
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +19 -19
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +4 -4
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +2 -2
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/bstree_algorithms_base.hpp +3 -3
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +5 -5
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/config_begin.hpp +1 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +8 -8
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hash_combine.hpp +2 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/hashtable_node.hpp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/math.hpp +2 -50
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +71 -70
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +15 -14
  209. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +84 -82
  210. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list_hook.hpp +10 -10
  211. data/src/cxx_supportlib/vendor-modified/boost/intrusive/member_value_traits.hpp +4 -4
  212. data/src/cxx_supportlib/vendor-modified/boost/intrusive/parent_from_member.hpp +2 -2
  213. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_traits.hpp +18 -18
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree.hpp +43 -43
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +26 -26
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set.hpp +85 -85
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/set_hook.hpp +12 -12
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sg_set.hpp +93 -93
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree.hpp +51 -51
  221. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +24 -24
  222. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +104 -104
  223. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist_hook.hpp +8 -6
  224. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splay_set.hpp +91 -91
  225. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree.hpp +46 -46
  226. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +31 -31
  227. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap.hpp +51 -51
  228. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +18 -18
  229. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_set.hpp +97 -97
  230. data/src/cxx_supportlib/vendor-modified/boost/intrusive/trivial_value_traits.hpp +6 -4
  231. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +63 -63
  232. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +15 -15
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +4 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/detail/config_begin.hpp +1 -0
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_traits.hpp +1 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/operators.hpp +2 -0
  238. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +1 -1
  239. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +3 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +112 -31
  241. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +3 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -8
  243. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +0 -2
  244. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +6 -2
  245. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +22 -2
  247. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +59 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +9 -11
  249. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +27 -21
  250. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +34 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.hpp +378 -36
  252. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_condition.hpp +97 -21
  253. data/src/cxx_supportlib/vendor-modified/boost/system/detail/interop_category.hpp +107 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_same.hpp +33 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/system/detail/snprintf.hpp +70 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/system/detail/{to_std_category.hpp → std_category.hpp} +5 -55
  257. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_impl.hpp +2 -12
  258. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +0 -33
  259. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/result_of_variadic.hpp +190 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/utility/result_of.hpp +20 -9
  261. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +3 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  263. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +8 -0
  264. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +6 -0
  265. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +12 -0
  266. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +5 -0
  267. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +21 -0
  268. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +13 -0
  269. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +3 -0
  270. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +4 -0
  271. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +3 -2
  272. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +8 -1
  273. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +6 -0
  274. data/src/ruby_supportlib/phusion_passenger/packaging.rb +1 -0
  275. data/src/ruby_supportlib/phusion_passenger/platform_info/openssl.rb +1 -1
  276. data/src/ruby_supportlib/phusion_passenger/platform_info/operating_system.rb +8 -0
  277. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +4 -1
  278. data/src/ruby_supportlib/phusion_passenger.rb +1 -1
  279. metadata +39 -4
  280. data/src/cxx_supportlib/vendor-modified/boost/system/detail/is_generic_value.hpp +0 -125
@@ -148,22 +148,22 @@ class list_impl
148
148
  root_plus_size root_plus_size_;
149
149
  } data_;
150
150
 
151
- size_traits &priv_size_traits()
151
+ BOOST_INTRUSIVE_FORCEINLINE size_traits &priv_size_traits() BOOST_NOEXCEPT
152
152
  { return data_.root_plus_size_; }
153
153
 
154
- const size_traits &priv_size_traits() const
154
+ BOOST_INTRUSIVE_FORCEINLINE const size_traits &priv_size_traits() const BOOST_NOEXCEPT
155
155
  { return data_.root_plus_size_; }
156
156
 
157
- const value_traits &priv_value_traits() const
157
+ BOOST_INTRUSIVE_FORCEINLINE const value_traits &priv_value_traits() const BOOST_NOEXCEPT
158
158
  { return data_; }
159
159
 
160
- value_traits &priv_value_traits()
160
+ BOOST_INTRUSIVE_FORCEINLINE value_traits &priv_value_traits() BOOST_NOEXCEPT
161
161
  { return data_; }
162
162
 
163
163
  typedef typename boost::intrusive::value_traits_pointers
164
164
  <ValueTraits>::const_value_traits_ptr const_value_traits_ptr;
165
165
 
166
- const_value_traits_ptr priv_value_traits_ptr() const
166
+ BOOST_INTRUSIVE_FORCEINLINE const_value_traits_ptr priv_value_traits_ptr() const BOOST_NOEXCEPT
167
167
  { return pointer_traits<const_value_traits_ptr>::pointer_to(this->priv_value_traits()); }
168
168
 
169
169
  /// @endcond
@@ -245,11 +245,13 @@ class list_impl
245
245
  //! are called), but the hooks according to the ValueTraits template parameter
246
246
  //! are set to their default value.
247
247
  //!
248
+ //! <b>Throws</b>: Nothing.
249
+ //!
248
250
  //! <b>Complexity</b>: Linear to the number of elements in the list, if
249
251
  //! it's a safe-mode or auto-unlink value . Otherwise constant.
250
252
  ~list_impl()
251
253
  {
252
- if(is_safe_autounlink<ValueTraits::link_mode>::value){
254
+ BOOST_IF_CONSTEXPR(is_safe_autounlink<ValueTraits::link_mode>::value){
253
255
  this->clear();
254
256
  node_algorithms::init(this->get_root_node());
255
257
  }
@@ -265,7 +267,7 @@ class list_impl
265
267
  //! <b>Complexity</b>: Constant.
266
268
  //!
267
269
  //! <b>Note</b>: Does not affect the validity of iterators and references.
268
- void push_back(reference value)
270
+ void push_back(reference value) BOOST_NOEXCEPT
269
271
  {
270
272
  node_ptr to_insert = priv_value_traits().to_node_ptr(value);
271
273
  BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::inited(to_insert));
@@ -283,7 +285,7 @@ class list_impl
283
285
  //! <b>Complexity</b>: Constant.
284
286
  //!
285
287
  //! <b>Note</b>: Does not affect the validity of iterators and references.
286
- void push_front(reference value)
288
+ void push_front(reference value) BOOST_NOEXCEPT
287
289
  {
288
290
  node_ptr to_insert = priv_value_traits().to_node_ptr(value);
289
291
  BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::inited(to_insert));
@@ -299,7 +301,7 @@ class list_impl
299
301
  //! <b>Complexity</b>: Constant.
300
302
  //!
301
303
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the erased element.
302
- void pop_back()
304
+ void pop_back() BOOST_NOEXCEPT
303
305
  { return this->pop_back_and_dispose(detail::null_disposer()); }
304
306
 
305
307
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
@@ -314,12 +316,12 @@ class list_impl
314
316
  //!
315
317
  //! <b>Note</b>: Invalidates the iterators to the erased element.
316
318
  template<class Disposer>
317
- void pop_back_and_dispose(Disposer disposer)
319
+ void pop_back_and_dispose(Disposer disposer) BOOST_NOEXCEPT
318
320
  {
319
321
  node_ptr to_erase = node_traits::get_previous(this->get_root_node());
320
322
  node_algorithms::unlink(to_erase);
321
323
  this->priv_size_traits().decrement();
322
- if(safemode_or_autounlink)
324
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
323
325
  node_algorithms::init(to_erase);
324
326
  disposer(priv_value_traits().to_value_ptr(to_erase));
325
327
  }
@@ -332,7 +334,7 @@ class list_impl
332
334
  //! <b>Complexity</b>: Constant.
333
335
  //!
334
336
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the erased element.
335
- void pop_front()
337
+ void pop_front() BOOST_NOEXCEPT
336
338
  { return this->pop_front_and_dispose(detail::null_disposer()); }
337
339
 
338
340
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
@@ -347,12 +349,12 @@ class list_impl
347
349
  //!
348
350
  //! <b>Note</b>: Invalidates the iterators to the erased element.
349
351
  template<class Disposer>
350
- void pop_front_and_dispose(Disposer disposer)
352
+ void pop_front_and_dispose(Disposer disposer) BOOST_NOEXCEPT
351
353
  {
352
354
  node_ptr to_erase = node_traits::get_next(this->get_root_node());
353
355
  node_algorithms::unlink(to_erase);
354
356
  this->priv_size_traits().decrement();
355
- if(safemode_or_autounlink)
357
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
356
358
  node_algorithms::init(to_erase);
357
359
  disposer(priv_value_traits().to_value_ptr(to_erase));
358
360
  }
@@ -362,7 +364,7 @@ class list_impl
362
364
  //! <b>Throws</b>: Nothing.
363
365
  //!
364
366
  //! <b>Complexity</b>: Constant.
365
- reference front()
367
+ BOOST_INTRUSIVE_FORCEINLINE reference front() BOOST_NOEXCEPT
366
368
  { return *priv_value_traits().to_value_ptr(node_traits::get_next(this->get_root_node())); }
367
369
 
368
370
  //! <b>Effects</b>: Returns a const_reference to the first element of the list.
@@ -370,7 +372,7 @@ class list_impl
370
372
  //! <b>Throws</b>: Nothing.
371
373
  //!
372
374
  //! <b>Complexity</b>: Constant.
373
- const_reference front() const
375
+ BOOST_INTRUSIVE_FORCEINLINE const_reference front() const BOOST_NOEXCEPT
374
376
  { return *priv_value_traits().to_value_ptr(node_traits::get_next(this->get_root_node())); }
375
377
 
376
378
  //! <b>Effects</b>: Returns a reference to the last element of the list.
@@ -378,7 +380,7 @@ class list_impl
378
380
  //! <b>Throws</b>: Nothing.
379
381
  //!
380
382
  //! <b>Complexity</b>: Constant.
381
- reference back()
383
+ BOOST_INTRUSIVE_FORCEINLINE reference back() BOOST_NOEXCEPT
382
384
  { return *priv_value_traits().to_value_ptr(node_traits::get_previous(this->get_root_node())); }
383
385
 
384
386
  //! <b>Effects</b>: Returns a const_reference to the last element of the list.
@@ -386,7 +388,7 @@ class list_impl
386
388
  //! <b>Throws</b>: Nothing.
387
389
  //!
388
390
  //! <b>Complexity</b>: Constant.
389
- const_reference back() const
391
+ BOOST_INTRUSIVE_FORCEINLINE const_reference back() const BOOST_NOEXCEPT
390
392
  { return *priv_value_traits().to_value_ptr(detail::uncast(node_traits::get_previous(this->get_root_node()))); }
391
393
 
392
394
  //! <b>Effects</b>: Returns an iterator to the first element contained in the list.
@@ -394,7 +396,7 @@ class list_impl
394
396
  //! <b>Throws</b>: Nothing.
395
397
  //!
396
398
  //! <b>Complexity</b>: Constant.
397
- iterator begin()
399
+ BOOST_INTRUSIVE_FORCEINLINE iterator begin() BOOST_NOEXCEPT
398
400
  { return iterator(node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); }
399
401
 
400
402
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the list.
@@ -402,7 +404,7 @@ class list_impl
402
404
  //! <b>Throws</b>: Nothing.
403
405
  //!
404
406
  //! <b>Complexity</b>: Constant.
405
- const_iterator begin() const
407
+ BOOST_INTRUSIVE_FORCEINLINE const_iterator begin() const BOOST_NOEXCEPT
406
408
  { return this->cbegin(); }
407
409
 
408
410
  //! <b>Effects</b>: Returns a const_iterator to the first element contained in the list.
@@ -410,7 +412,7 @@ class list_impl
410
412
  //! <b>Throws</b>: Nothing.
411
413
  //!
412
414
  //! <b>Complexity</b>: Constant.
413
- const_iterator cbegin() const
415
+ BOOST_INTRUSIVE_FORCEINLINE const_iterator cbegin() const BOOST_NOEXCEPT
414
416
  { return const_iterator(node_traits::get_next(this->get_root_node()), this->priv_value_traits_ptr()); }
415
417
 
416
418
  //! <b>Effects</b>: Returns an iterator to the end of the list.
@@ -418,7 +420,7 @@ class list_impl
418
420
  //! <b>Throws</b>: Nothing.
419
421
  //!
420
422
  //! <b>Complexity</b>: Constant.
421
- iterator end()
423
+ BOOST_INTRUSIVE_FORCEINLINE iterator end() BOOST_NOEXCEPT
422
424
  { return iterator(this->get_root_node(), this->priv_value_traits_ptr()); }
423
425
 
424
426
  //! <b>Effects</b>: Returns a const_iterator to the end of the list.
@@ -426,7 +428,7 @@ class list_impl
426
428
  //! <b>Throws</b>: Nothing.
427
429
  //!
428
430
  //! <b>Complexity</b>: Constant.
429
- const_iterator end() const
431
+ BOOST_INTRUSIVE_FORCEINLINE const_iterator end() const BOOST_NOEXCEPT
430
432
  { return this->cend(); }
431
433
 
432
434
  //! <b>Effects</b>: Returns a constant iterator to the end of the list.
@@ -434,7 +436,7 @@ class list_impl
434
436
  //! <b>Throws</b>: Nothing.
435
437
  //!
436
438
  //! <b>Complexity</b>: Constant.
437
- const_iterator cend() const
439
+ BOOST_INTRUSIVE_FORCEINLINE const_iterator cend() const BOOST_NOEXCEPT
438
440
  { return const_iterator(detail::uncast(this->get_root_node()), this->priv_value_traits_ptr()); }
439
441
 
440
442
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the beginning
@@ -443,7 +445,7 @@ class list_impl
443
445
  //! <b>Throws</b>: Nothing.
444
446
  //!
445
447
  //! <b>Complexity</b>: Constant.
446
- reverse_iterator rbegin()
448
+ BOOST_INTRUSIVE_FORCEINLINE reverse_iterator rbegin() BOOST_NOEXCEPT
447
449
  { return reverse_iterator(this->end()); }
448
450
 
449
451
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -452,7 +454,7 @@ class list_impl
452
454
  //! <b>Throws</b>: Nothing.
453
455
  //!
454
456
  //! <b>Complexity</b>: Constant.
455
- const_reverse_iterator rbegin() const
457
+ BOOST_INTRUSIVE_FORCEINLINE const_reverse_iterator rbegin() const BOOST_NOEXCEPT
456
458
  { return this->crbegin(); }
457
459
 
458
460
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the beginning
@@ -461,7 +463,7 @@ class list_impl
461
463
  //! <b>Throws</b>: Nothing.
462
464
  //!
463
465
  //! <b>Complexity</b>: Constant.
464
- const_reverse_iterator crbegin() const
466
+ BOOST_INTRUSIVE_FORCEINLINE const_reverse_iterator crbegin() const BOOST_NOEXCEPT
465
467
  { return const_reverse_iterator(end()); }
466
468
 
467
469
  //! <b>Effects</b>: Returns a reverse_iterator pointing to the end
@@ -470,7 +472,7 @@ class list_impl
470
472
  //! <b>Throws</b>: Nothing.
471
473
  //!
472
474
  //! <b>Complexity</b>: Constant.
473
- reverse_iterator rend()
475
+ BOOST_INTRUSIVE_FORCEINLINE reverse_iterator rend() BOOST_NOEXCEPT
474
476
  { return reverse_iterator(begin()); }
475
477
 
476
478
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -479,7 +481,7 @@ class list_impl
479
481
  //! <b>Throws</b>: Nothing.
480
482
  //!
481
483
  //! <b>Complexity</b>: Constant.
482
- const_reverse_iterator rend() const
484
+ BOOST_INTRUSIVE_FORCEINLINE const_reverse_iterator rend() const BOOST_NOEXCEPT
483
485
  { return this->crend(); }
484
486
 
485
487
  //! <b>Effects</b>: Returns a const_reverse_iterator pointing to the end
@@ -488,7 +490,7 @@ class list_impl
488
490
  //! <b>Throws</b>: Nothing.
489
491
  //!
490
492
  //! <b>Complexity</b>: Constant.
491
- const_reverse_iterator crend() const
493
+ BOOST_INTRUSIVE_FORCEINLINE const_reverse_iterator crend() const BOOST_NOEXCEPT
492
494
  { return const_reverse_iterator(this->begin()); }
493
495
 
494
496
  //! <b>Precondition</b>: end_iterator must be a valid end iterator
@@ -499,7 +501,7 @@ class list_impl
499
501
  //! <b>Throws</b>: Nothing.
500
502
  //!
501
503
  //! <b>Complexity</b>: Constant.
502
- static list_impl &container_from_end_iterator(iterator end_iterator)
504
+ BOOST_INTRUSIVE_FORCEINLINE static list_impl &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT
503
505
  { return list_impl::priv_container_from_end_iterator(end_iterator); }
504
506
 
505
507
  //! <b>Precondition</b>: end_iterator must be a valid end const_iterator
@@ -510,7 +512,7 @@ class list_impl
510
512
  //! <b>Throws</b>: Nothing.
511
513
  //!
512
514
  //! <b>Complexity</b>: Constant.
513
- static const list_impl &container_from_end_iterator(const_iterator end_iterator)
515
+ BOOST_INTRUSIVE_FORCEINLINE static const list_impl &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT
514
516
  { return list_impl::priv_container_from_end_iterator(end_iterator); }
515
517
 
516
518
  //! <b>Effects</b>: Returns the number of the elements contained in the list.
@@ -521,9 +523,9 @@ class list_impl
521
523
  //! if constant-time size option is disabled. Constant time otherwise.
522
524
  //!
523
525
  //! <b>Note</b>: Does not affect the validity of iterators and references.
524
- size_type size() const
526
+ BOOST_INTRUSIVE_FORCEINLINE size_type size() const BOOST_NOEXCEPT
525
527
  {
526
- if(constant_time_size)
528
+ BOOST_IF_CONSTEXPR(constant_time_size)
527
529
  return this->priv_size_traits().get_size();
528
530
  else
529
531
  return node_algorithms::count(this->get_root_node()) - 1;
@@ -536,7 +538,7 @@ class list_impl
536
538
  //! <b>Complexity</b>: Constant.
537
539
  //!
538
540
  //! <b>Note</b>: Does not affect the validity of iterators and references.
539
- bool empty() const
541
+ BOOST_INTRUSIVE_FORCEINLINE bool empty() const BOOST_NOEXCEPT
540
542
  { return node_algorithms::unique(this->get_root_node()); }
541
543
 
542
544
  //! <b>Effects</b>: Swaps the elements of x and *this.
@@ -546,7 +548,7 @@ class list_impl
546
548
  //! <b>Complexity</b>: Constant.
547
549
  //!
548
550
  //! <b>Note</b>: Does not affect the validity of iterators and references.
549
- void swap(list_impl& other)
551
+ BOOST_INTRUSIVE_FORCEINLINE void swap(list_impl& other) BOOST_NOEXCEPT
550
552
  {
551
553
  node_algorithms::swap_nodes(this->get_root_node(), other.get_root_node());
552
554
  this->priv_size_traits().swap(other.priv_size_traits());
@@ -561,7 +563,7 @@ class list_impl
561
563
  //! <b>Complexity</b>: Linear to the number of shifts.
562
564
  //!
563
565
  //! <b>Note</b>: Does not affect the validity of iterators and references.
564
- void shift_backwards(size_type n = 1)
566
+ BOOST_INTRUSIVE_FORCEINLINE void shift_backwards(size_type n = 1) BOOST_NOEXCEPT
565
567
  { node_algorithms::move_forward(this->get_root_node(), n); }
566
568
 
567
569
  //! <b>Effects</b>: Moves forward all the elements, so that the second
@@ -573,7 +575,7 @@ class list_impl
573
575
  //! <b>Complexity</b>: Linear to the number of shifts.
574
576
  //!
575
577
  //! <b>Note</b>: Does not affect the validity of iterators and references.
576
- void shift_forward(size_type n = 1)
578
+ BOOST_INTRUSIVE_FORCEINLINE void shift_forward(size_type n = 1) BOOST_NOEXCEPT
577
579
  { node_algorithms::move_backwards(this->get_root_node(), n); }
578
580
 
579
581
  //! <b>Effects</b>: Erases the element pointed by i of the list.
@@ -588,7 +590,7 @@ class list_impl
588
590
  //!
589
591
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the
590
592
  //! erased element.
591
- iterator erase(const_iterator i)
593
+ BOOST_INTRUSIVE_FORCEINLINE iterator erase(const_iterator i) BOOST_NOEXCEPT
592
594
  { return this->erase_and_dispose(i, detail::null_disposer()); }
593
595
 
594
596
  //! <b>Requires</b>: b and e must be valid iterators to elements in *this.
@@ -606,9 +608,9 @@ class list_impl
606
608
  //!
607
609
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the
608
610
  //! erased elements.
609
- iterator erase(const_iterator b, const_iterator e)
611
+ BOOST_INTRUSIVE_FORCEINLINE iterator erase(const_iterator b, const_iterator e) BOOST_NOEXCEPT
610
612
  {
611
- if(safemode_or_autounlink || constant_time_size){
613
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink || constant_time_size){
612
614
  return this->erase_and_dispose(b, e, detail::null_disposer());
613
615
  }
614
616
  else{
@@ -633,14 +635,14 @@ class list_impl
633
635
  //!
634
636
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the
635
637
  //! erased elements.
636
- iterator erase(const_iterator b, const_iterator e, size_type n)
638
+ iterator erase(const_iterator b, const_iterator e, size_type n) BOOST_NOEXCEPT
637
639
  {
638
640
  BOOST_INTRUSIVE_INVARIANT_ASSERT(node_algorithms::distance(b.pointed_node(), e.pointed_node()) == n);
639
- if(safemode_or_autounlink || constant_time_size){
641
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink || constant_time_size){
640
642
  return this->erase_and_dispose(b, e, detail::null_disposer());
641
643
  }
642
644
  else{
643
- if(constant_time_size){
645
+ BOOST_IF_CONSTEXPR(constant_time_size){
644
646
  this->priv_size_traits().decrease(n);
645
647
  }
646
648
  node_algorithms::unlink(b.pointed_node(), e.pointed_node());
@@ -663,13 +665,13 @@ class list_impl
663
665
  //!
664
666
  //! <b>Note</b>: Invalidates the iterators to the erased element.
665
667
  template <class Disposer>
666
- iterator erase_and_dispose(const_iterator i, Disposer disposer)
668
+ iterator erase_and_dispose(const_iterator i, Disposer disposer) BOOST_NOEXCEPT
667
669
  {
668
670
  node_ptr to_erase(i.pointed_node());
669
671
  ++i;
670
672
  node_algorithms::unlink(to_erase);
671
673
  this->priv_size_traits().decrement();
672
- if(safemode_or_autounlink)
674
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
673
675
  node_algorithms::init(to_erase);
674
676
  disposer(this->priv_value_traits().to_value_ptr(to_erase));
675
677
  return i.unconst();
@@ -677,7 +679,7 @@ class list_impl
677
679
 
678
680
  #if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
679
681
  template<class Disposer>
680
- iterator erase_and_dispose(iterator i, Disposer disposer)
682
+ iterator erase_and_dispose(iterator i, Disposer disposer) BOOST_NOEXCEPT
681
683
  { return this->erase_and_dispose(const_iterator(i), disposer); }
682
684
  #endif
683
685
 
@@ -696,14 +698,14 @@ class list_impl
696
698
  //!
697
699
  //! <b>Note</b>: Invalidates the iterators to the erased elements.
698
700
  template <class Disposer>
699
- iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer)
701
+ iterator erase_and_dispose(const_iterator b, const_iterator e, Disposer disposer) BOOST_NOEXCEPT
700
702
  {
701
703
  node_ptr bp(b.pointed_node()), ep(e.pointed_node());
702
704
  node_algorithms::unlink(bp, ep);
703
705
  while(bp != ep){
704
706
  node_ptr to_erase(bp);
705
707
  bp = node_traits::get_next(bp);
706
- if(safemode_or_autounlink)
708
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
707
709
  node_algorithms::init(to_erase);
708
710
  disposer(priv_value_traits().to_value_ptr(to_erase));
709
711
  this->priv_size_traits().decrement();
@@ -720,9 +722,9 @@ class list_impl
720
722
  //! if it's a safe-mode or auto-unlink value_type. Constant time otherwise.
721
723
  //!
722
724
  //! <b>Note</b>: Invalidates the iterators (but not the references) to the erased elements.
723
- void clear()
725
+ void clear() BOOST_NOEXCEPT
724
726
  {
725
- if(safemode_or_autounlink){
727
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink){
726
728
  this->clear_and_dispose(detail::null_disposer());
727
729
  }
728
730
  else{
@@ -743,13 +745,13 @@ class list_impl
743
745
  //!
744
746
  //! <b>Note</b>: Invalidates the iterators to the erased elements.
745
747
  template <class Disposer>
746
- void clear_and_dispose(Disposer disposer)
748
+ void clear_and_dispose(Disposer disposer) BOOST_NOEXCEPT
747
749
  {
748
750
  const_iterator it(this->begin()), itend(this->end());
749
751
  while(it != itend){
750
752
  node_ptr to_erase(it.pointed_node());
751
753
  ++it;
752
- if(safemode_or_autounlink)
754
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
753
755
  node_algorithms::init(to_erase);
754
756
  disposer(priv_value_traits().to_value_ptr(to_erase));
755
757
  }
@@ -822,7 +824,7 @@ class list_impl
822
824
  //! <b>Complexity</b>: Constant time. No copy constructors are called.
823
825
  //!
824
826
  //! <b>Note</b>: Does not affect the validity of iterators and references.
825
- iterator insert(const_iterator p, reference value)
827
+ iterator insert(const_iterator p, reference value) BOOST_NOEXCEPT
826
828
  {
827
829
  node_ptr to_insert = this->priv_value_traits().to_node_ptr(value);
828
830
  BOOST_INTRUSIVE_SAFE_HOOK_DEFAULT_ASSERT(!safemode_or_autounlink || node_algorithms::inited(to_insert));
@@ -843,7 +845,7 @@ class list_impl
843
845
  //!
844
846
  //! <b>Note</b>: Does not affect the validity of iterators and references.
845
847
  template<class Iterator>
846
- void insert(const_iterator p, Iterator b, Iterator e)
848
+ void insert(const_iterator p, Iterator b, Iterator e) BOOST_NOEXCEPT
847
849
  {
848
850
  for (; b != e; ++b)
849
851
  this->insert(p, *b);
@@ -865,7 +867,7 @@ class list_impl
865
867
  //! <b>Note</b>: Invalidates the iterators (but not the references)
866
868
  //! to the erased elements.
867
869
  template<class Iterator>
868
- void assign(Iterator b, Iterator e)
870
+ void assign(Iterator b, Iterator e) BOOST_NOEXCEPT
869
871
  {
870
872
  this->clear();
871
873
  this->insert(this->cend(), b, e);
@@ -888,7 +890,7 @@ class list_impl
888
890
  //! <b>Note</b>: Invalidates the iterators (but not the references)
889
891
  //! to the erased elements.
890
892
  template<class Iterator, class Disposer>
891
- void dispose_and_assign(Disposer disposer, Iterator b, Iterator e)
893
+ void dispose_and_assign(Disposer disposer, Iterator b, Iterator e) BOOST_NOEXCEPT
892
894
  {
893
895
  this->clear_and_dispose(disposer);
894
896
  this->insert(this->cend(), b, e);
@@ -905,7 +907,7 @@ class list_impl
905
907
  //!
906
908
  //! <b>Note</b>: Iterators of values obtained from list x now point to elements of
907
909
  //! this list. Iterators of this list and all the references are not invalidated.
908
- void splice(const_iterator p, list_impl& x)
910
+ void splice(const_iterator p, list_impl& x) BOOST_NOEXCEPT
909
911
  {
910
912
  if(!x.empty()){
911
913
  node_algorithms::transfer
@@ -930,7 +932,7 @@ class list_impl
930
932
  //!
931
933
  //! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
932
934
  //! list. Iterators of this list and all the references are not invalidated.
933
- void splice(const_iterator p, list_impl&x, const_iterator new_ele)
935
+ void splice(const_iterator p, list_impl&x, const_iterator new_ele) BOOST_NOEXCEPT
934
936
  {
935
937
  node_algorithms::transfer(p.pointed_node(), new_ele.pointed_node());
936
938
  x.priv_size_traits().decrement();
@@ -950,9 +952,9 @@ class list_impl
950
952
  //!
951
953
  //! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
952
954
  //! list. Iterators of this list and all the references are not invalidated.
953
- void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e)
955
+ void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e) BOOST_NOEXCEPT
954
956
  {
955
- if(constant_time_size)
957
+ BOOST_IF_CONSTEXPR(constant_time_size)
956
958
  this->splice(p, x, f, e, node_algorithms::distance(f.pointed_node(), e.pointed_node()));
957
959
  else
958
960
  this->splice(p, x, f, e, 1);//intrusive::iterator_distance is a dummy value
@@ -971,10 +973,10 @@ class list_impl
971
973
  //!
972
974
  //! <b>Note</b>: Iterators of values obtained from list x now point to elements of this
973
975
  //! list. Iterators of this list and all the references are not invalidated.
974
- void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e, size_type n)
976
+ void splice(const_iterator p, list_impl&x, const_iterator f, const_iterator e, size_type n) BOOST_NOEXCEPT
975
977
  {
976
978
  if(n){
977
- if(constant_time_size){
979
+ BOOST_IF_CONSTEXPR(constant_time_size){
978
980
  BOOST_INTRUSIVE_INVARIANT_ASSERT(n == node_algorithms::distance(f.pointed_node(), e.pointed_node()));
979
981
  node_algorithms::transfer(p.pointed_node(), f.pointed_node(), e.pointed_node());
980
982
  size_traits &thist = this->priv_size_traits();
@@ -1102,7 +1104,7 @@ class list_impl
1102
1104
  //! <b>Complexity</b>: This function is linear time.
1103
1105
  //!
1104
1106
  //! <b>Note</b>: Iterators and references are not invalidated
1105
- void reverse()
1107
+ void reverse() BOOST_NOEXCEPT
1106
1108
  { node_algorithms::reverse(this->get_root_node()); }
1107
1109
 
1108
1110
  //! <b>Effects</b>: Removes all the elements that compare equal to value.
@@ -1114,7 +1116,7 @@ class list_impl
1114
1116
  //!
1115
1117
  //! <b>Note</b>: The relative order of elements that are not removed is unchanged,
1116
1118
  //! and iterators to elements that are not removed remain valid.
1117
- void remove(const_reference value)
1119
+ void remove(const_reference value) BOOST_NOEXCEPT
1118
1120
  { this->remove_if(value_equal<const_reference>(value)); }
1119
1121
 
1120
1122
  //! <b>Requires</b>: Disposer::operator()(pointer) shouldn't throw.
@@ -1129,7 +1131,7 @@ class list_impl
1129
1131
  //! <b>Note</b>: The relative order of elements that are not removed is unchanged,
1130
1132
  //! and iterators to elements that are not removed remain valid.
1131
1133
  template<class Disposer>
1132
- void remove_and_dispose(const_reference value, Disposer disposer)
1134
+ void remove_and_dispose(const_reference value, Disposer disposer) BOOST_NOEXCEPT
1133
1135
  { this->remove_and_dispose_if(value_equal<const_reference>(value), disposer); }
1134
1136
 
1135
1137
  //! <b>Effects</b>: Removes all the elements for which a specified
@@ -1267,7 +1269,7 @@ class list_impl
1267
1269
  //! <b>Note</b>: Iterators and references are not invalidated.
1268
1270
  //! This static function is available only if the <i>value traits</i>
1269
1271
  //! is stateless.
1270
- static iterator s_iterator_to(reference value)
1272
+ static iterator s_iterator_to(reference value) BOOST_NOEXCEPT
1271
1273
  {
1272
1274
  BOOST_STATIC_ASSERT((!stateful_value_traits));
1273
1275
  BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(value_traits::to_node_ptr(value)));
@@ -1285,7 +1287,7 @@ class list_impl
1285
1287
  //! <b>Note</b>: Iterators and references are not invalidated.
1286
1288
  //! This static function is available only if the <i>value traits</i>
1287
1289
  //! is stateless.
1288
- static const_iterator s_iterator_to(const_reference value)
1290
+ static const_iterator s_iterator_to(const_reference value) BOOST_NOEXCEPT
1289
1291
  {
1290
1292
  BOOST_STATIC_ASSERT((!stateful_value_traits));
1291
1293
  reference r =*detail::uncast(pointer_traits<const_pointer>::pointer_to(value));
@@ -1302,7 +1304,7 @@ class list_impl
1302
1304
  //! <b>Complexity</b>: Constant time.
1303
1305
  //!
1304
1306
  //! <b>Note</b>: Iterators and references are not invalidated.
1305
- iterator iterator_to(reference value)
1307
+ iterator iterator_to(reference value) BOOST_NOEXCEPT
1306
1308
  {
1307
1309
  BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(this->priv_value_traits().to_node_ptr(value)));
1308
1310
  return iterator(this->priv_value_traits().to_node_ptr(value), this->priv_value_traits_ptr());
@@ -1317,7 +1319,7 @@ class list_impl
1317
1319
  //! <b>Complexity</b>: Constant time.
1318
1320
  //!
1319
1321
  //! <b>Note</b>: Iterators and references are not invalidated.
1320
- const_iterator iterator_to(const_reference value) const
1322
+ const_iterator iterator_to(const_reference value) const BOOST_NOEXCEPT
1321
1323
  {
1322
1324
  reference r = *detail::uncast(pointer_traits<const_pointer>::pointer_to(value));
1323
1325
  BOOST_INTRUSIVE_INVARIANT_ASSERT(!node_algorithms::inited(this->priv_value_traits().to_node_ptr(r)));
@@ -1341,7 +1343,7 @@ class list_impl
1341
1343
  == (node_traits::get_previous(header_ptr) == header_ptr));
1342
1344
  if (node_traits::get_next(header_ptr) == header_ptr)
1343
1345
  {
1344
- if (constant_time_size)
1346
+ BOOST_IF_CONSTEXPR(constant_time_size)
1345
1347
  BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_size_traits().get_size() == 0);
1346
1348
  return;
1347
1349
  }
@@ -1356,11 +1358,11 @@ class list_impl
1356
1358
  if (p == header_ptr) break;
1357
1359
  ++node_count;
1358
1360
  }
1359
- if (constant_time_size)
1361
+ BOOST_IF_CONSTEXPR(constant_time_size)
1360
1362
  BOOST_INTRUSIVE_INVARIANT_ASSERT(this->priv_size_traits().get_size() == node_count);
1361
1363
  }
1362
1364
 
1363
- friend bool operator==(const list_impl &x, const list_impl &y)
1365
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator==(const list_impl &x, const list_impl &y)
1364
1366
  {
1365
1367
  if(constant_time_size && x.size() != y.size()){
1366
1368
  return false;
@@ -1368,28 +1370,28 @@ class list_impl
1368
1370
  return ::boost::intrusive::algo_equal(x.cbegin(), x.cend(), y.cbegin(), y.cend());
1369
1371
  }
1370
1372
 
1371
- friend bool operator!=(const list_impl &x, const list_impl &y)
1373
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator!=(const list_impl &x, const list_impl &y)
1372
1374
  { return !(x == y); }
1373
1375
 
1374
- friend bool operator<(const list_impl &x, const list_impl &y)
1376
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator<(const list_impl &x, const list_impl &y)
1375
1377
  { return ::boost::intrusive::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
1376
1378
 
1377
- friend bool operator>(const list_impl &x, const list_impl &y)
1379
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator>(const list_impl &x, const list_impl &y)
1378
1380
  { return y < x; }
1379
1381
 
1380
- friend bool operator<=(const list_impl &x, const list_impl &y)
1382
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator<=(const list_impl &x, const list_impl &y)
1381
1383
  { return !(y < x); }
1382
1384
 
1383
- friend bool operator>=(const list_impl &x, const list_impl &y)
1385
+ BOOST_INTRUSIVE_FORCEINLINE friend bool operator>=(const list_impl &x, const list_impl &y)
1384
1386
  { return !(x < y); }
1385
1387
 
1386
- friend void swap(list_impl &x, list_impl &y)
1388
+ BOOST_INTRUSIVE_FORCEINLINE friend void swap(list_impl &x, list_impl &y) BOOST_NOEXCEPT
1387
1389
  { x.swap(y); }
1388
1390
 
1389
1391
  /// @cond
1390
1392
 
1391
1393
  private:
1392
- static list_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
1394
+ static list_impl &priv_container_from_end_iterator(const const_iterator &end_iterator) BOOST_NOEXCEPT
1393
1395
  {
1394
1396
  BOOST_STATIC_ASSERT((has_container_from_iterator));
1395
1397
  node_ptr p = end_iterator.pointed_node();
@@ -1499,10 +1501,10 @@ class list
1499
1501
  BOOST_INTRUSIVE_FORCEINLINE void clone_from(BOOST_RV_REF(list) src, Cloner cloner, Disposer disposer)
1500
1502
  { Base::clone_from(BOOST_MOVE_BASE(Base, src), cloner, disposer); }
1501
1503
 
1502
- BOOST_INTRUSIVE_FORCEINLINE static list &container_from_end_iterator(iterator end_iterator)
1504
+ BOOST_INTRUSIVE_FORCEINLINE static list &container_from_end_iterator(iterator end_iterator) BOOST_NOEXCEPT
1503
1505
  { return static_cast<list &>(Base::container_from_end_iterator(end_iterator)); }
1504
1506
 
1505
- BOOST_INTRUSIVE_FORCEINLINE static const list &container_from_end_iterator(const_iterator end_iterator)
1507
+ BOOST_INTRUSIVE_FORCEINLINE static const list &container_from_end_iterator(const_iterator end_iterator) BOOST_NOEXCEPT
1506
1508
  { return static_cast<const list &>(Base::container_from_end_iterator(end_iterator)); }
1507
1509
  };
1508
1510