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
@@ -72,7 +72,7 @@ class circular_slist_algorithms
72
72
  //! <b>Complexity</b>: Constant
73
73
  //!
74
74
  //! <b>Throws</b>: Nothing.
75
- static void init(node_ptr this_node);
75
+ static void init(node_ptr this_node) BOOST_NOEXCEPT;
76
76
 
77
77
  //! <b>Requires</b>: this_node must be in a circular list or be an empty circular list.
78
78
  //!
@@ -83,7 +83,7 @@ class circular_slist_algorithms
83
83
  //! <b>Complexity</b>: Constant
84
84
  //!
85
85
  //! <b>Throws</b>: Nothing.
86
- static bool unique(const_node_ptr this_node);
86
+ static bool unique(const_node_ptr this_node) BOOST_NOEXCEPT;
87
87
 
88
88
  //! <b>Effects</b>: Returns true is "this_node" has the same state as
89
89
  //! if it was inited using "init(node_ptr)"
@@ -91,7 +91,7 @@ class circular_slist_algorithms
91
91
  //! <b>Complexity</b>: Constant
92
92
  //!
93
93
  //! <b>Throws</b>: Nothing.
94
- static bool inited(const_node_ptr this_node);
94
+ static bool inited(const_node_ptr this_node) BOOST_NOEXCEPT;
95
95
 
96
96
  //! <b>Requires</b>: prev_node must be in a circular list or be an empty circular list.
97
97
  //!
@@ -100,7 +100,7 @@ class circular_slist_algorithms
100
100
  //! <b>Complexity</b>: Constant
101
101
  //!
102
102
  //! <b>Throws</b>: Nothing.
103
- static void unlink_after(node_ptr prev_node);
103
+ static void unlink_after(node_ptr prev_node) BOOST_NOEXCEPT;
104
104
 
105
105
  //! <b>Requires</b>: prev_node and last_node must be in a circular list
106
106
  //! or be an empty circular list.
@@ -110,7 +110,7 @@ class circular_slist_algorithms
110
110
  //! <b>Complexity</b>: Constant
111
111
  //!
112
112
  //! <b>Throws</b>: Nothing.
113
- static void unlink_after(node_ptr prev_node, node_ptr last_node);
113
+ static void unlink_after(node_ptr prev_node, node_ptr last_node) BOOST_NOEXCEPT;
114
114
 
115
115
  //! <b>Requires</b>: prev_node must be a node of a circular list.
116
116
  //!
@@ -119,7 +119,7 @@ class circular_slist_algorithms
119
119
  //! <b>Complexity</b>: Constant
120
120
  //!
121
121
  //! <b>Throws</b>: Nothing.
122
- static void link_after(node_ptr prev_node, node_ptr this_node);
122
+ static void link_after(node_ptr prev_node, node_ptr this_node) BOOST_NOEXCEPT;
123
123
 
124
124
  //! <b>Requires</b>: b and e must be nodes of the same circular list or an empty range.
125
125
  //! and p must be a node of a different circular list.
@@ -130,7 +130,7 @@ class circular_slist_algorithms
130
130
  //! <b>Complexity</b>: Constant
131
131
  //!
132
132
  //! <b>Throws</b>: Nothing.
133
- static void transfer_after(node_ptr p, node_ptr b, node_ptr e);
133
+ static void transfer_after(node_ptr p, node_ptr b, node_ptr e) BOOST_NOEXCEPT;
134
134
 
135
135
  #endif //#if defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED)
136
136
 
@@ -141,7 +141,7 @@ class circular_slist_algorithms
141
141
  //! <b>Complexity</b>: Constant
142
142
  //!
143
143
  //! <b>Throws</b>: Nothing.
144
- BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr this_node)
144
+ BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr this_node) BOOST_NOEXCEPT
145
145
  { NodeTraits::set_next(this_node, this_node); }
146
146
 
147
147
  //! <b>Requires</b>: this_node and prev_init_node must be in the same circular list.
@@ -153,7 +153,7 @@ class circular_slist_algorithms
153
153
  //! <b>Complexity</b>: Linear to the number of elements between prev_init_node and this_node.
154
154
  //!
155
155
  //! <b>Throws</b>: Nothing.
156
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_node(const node_ptr &prev_init_node, const node_ptr &this_node)
156
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_node(const node_ptr &prev_init_node, const node_ptr &this_node) BOOST_NOEXCEPT
157
157
  { return base_t::get_previous_node(prev_init_node, this_node); }
158
158
 
159
159
  //! <b>Requires</b>: this_node must be in a circular list or be an empty circular list.
@@ -163,7 +163,7 @@ class circular_slist_algorithms
163
163
  //! <b>Complexity</b>: Linear to the number of elements in the circular list.
164
164
  //!
165
165
  //! <b>Throws</b>: Nothing.
166
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_node(const node_ptr & this_node)
166
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_node(const node_ptr & this_node) BOOST_NOEXCEPT
167
167
  { return base_t::get_previous_node(this_node, this_node); }
168
168
 
169
169
  //! <b>Requires</b>: this_node must be in a circular list or be an empty circular list.
@@ -173,7 +173,7 @@ class circular_slist_algorithms
173
173
  //! <b>Complexity</b>: Linear to the number of elements in the circular list.
174
174
  //!
175
175
  //! <b>Throws</b>: Nothing.
176
- BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_previous_node(const node_ptr & this_node)
176
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_previous_previous_node(const node_ptr & this_node) BOOST_NOEXCEPT
177
177
  { return get_previous_previous_node(this_node, this_node); }
178
178
 
179
179
  //! <b>Requires</b>: this_node and p must be in the same circular list.
@@ -185,7 +185,7 @@ class circular_slist_algorithms
185
185
  //! <b>Complexity</b>: Linear to the number of elements in the circular list.
186
186
  //!
187
187
  //! <b>Throws</b>: Nothing.
188
- static node_ptr get_previous_previous_node(node_ptr p, const node_ptr & this_node)
188
+ static node_ptr get_previous_previous_node(node_ptr p, const node_ptr & this_node) BOOST_NOEXCEPT
189
189
  {
190
190
  node_ptr p_next = NodeTraits::get_next(p);
191
191
  node_ptr p_next_next = NodeTraits::get_next(p_next);
@@ -205,7 +205,7 @@ class circular_slist_algorithms
205
205
  //! <b>Complexity</b>: Linear
206
206
  //!
207
207
  //! <b>Throws</b>: Nothing.
208
- static std::size_t count(const const_node_ptr & this_node)
208
+ static std::size_t count(const const_node_ptr & this_node) BOOST_NOEXCEPT
209
209
  {
210
210
  std::size_t result = 0;
211
211
  const_node_ptr p = this_node;
@@ -223,7 +223,7 @@ class circular_slist_algorithms
223
223
  //! <b>Complexity</b>: Linear to the number of elements in the circular list
224
224
  //!
225
225
  //! <b>Throws</b>: Nothing.
226
- BOOST_INTRUSIVE_FORCEINLINE static void unlink(node_ptr this_node)
226
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink(node_ptr this_node) BOOST_NOEXCEPT
227
227
  {
228
228
  if(NodeTraits::get_next(this_node))
229
229
  base_t::unlink_after(get_previous_node(this_node));
@@ -236,7 +236,7 @@ class circular_slist_algorithms
236
236
  //! <b>Complexity</b>: Linear to the number of elements in the circular list.
237
237
  //!
238
238
  //! <b>Throws</b>: Nothing.
239
- BOOST_INTRUSIVE_FORCEINLINE static void link_before (node_ptr nxt_node, node_ptr this_node)
239
+ BOOST_INTRUSIVE_FORCEINLINE static void link_before (node_ptr nxt_node, node_ptr this_node) BOOST_NOEXCEPT
240
240
  { base_t::link_after(get_previous_node(nxt_node), this_node); }
241
241
 
242
242
  //! <b>Requires</b>: this_node and other_node must be nodes inserted
@@ -249,7 +249,7 @@ class circular_slist_algorithms
249
249
  //! <b>Complexity</b>: Linear to number of elements of both lists
250
250
  //!
251
251
  //! <b>Throws</b>: Nothing.
252
- static void swap_nodes(node_ptr this_node, node_ptr other_node)
252
+ static void swap_nodes(node_ptr this_node, node_ptr other_node) BOOST_NOEXCEPT
253
253
  {
254
254
  if (other_node == this_node)
255
255
  return;
@@ -275,7 +275,7 @@ class circular_slist_algorithms
275
275
  //! <b>Throws</b>: Nothing.
276
276
  //!
277
277
  //! <b>Complexity</b>: This function is linear to the contained elements.
278
- static void reverse(node_ptr p)
278
+ static void reverse(node_ptr p) BOOST_NOEXCEPT
279
279
  {
280
280
  node_ptr i = NodeTraits::get_next(p), e(p);
281
281
  for (;;) {
@@ -294,7 +294,7 @@ class circular_slist_algorithms
294
294
  //! <b>Throws</b>: Nothing.
295
295
  //!
296
296
  //! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
297
- static node_ptr move_backwards(node_ptr p, std::size_t n)
297
+ static node_ptr move_backwards(node_ptr p, std::size_t n) BOOST_NOEXCEPT
298
298
  {
299
299
  //Null shift, nothing to do
300
300
  if(!n) return node_ptr();
@@ -346,7 +346,7 @@ class circular_slist_algorithms
346
346
  //! <b>Throws</b>: Nothing.
347
347
  //!
348
348
  //! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
349
- static node_ptr move_forward(node_ptr p, std::size_t n)
349
+ static node_ptr move_forward(node_ptr p, std::size_t n) BOOST_NOEXCEPT
350
350
  {
351
351
  //Null shift, nothing to do
352
352
  if(!n) return node_ptr();
@@ -52,18 +52,18 @@ struct derivation_value_traits
52
52
  pointer_traits<const_pointer>::reference const_reference;
53
53
  static const link_mode_type link_mode = LinkMode;
54
54
 
55
- static node_ptr to_node_ptr(reference value)
55
+ BOOST_INTRUSIVE_FORCEINLINE static node_ptr to_node_ptr(reference value) BOOST_NOEXCEPT
56
56
  { return node_ptr(&value); }
57
57
 
58
- static const_node_ptr to_node_ptr(const_reference value)
58
+ BOOST_INTRUSIVE_FORCEINLINE static const_node_ptr to_node_ptr(const_reference value) BOOST_NOEXCEPT
59
59
  { return node_ptr(&value); }
60
60
 
61
- static pointer to_value_ptr(const node_ptr &n)
61
+ BOOST_INTRUSIVE_FORCEINLINE static pointer to_value_ptr(const node_ptr &n) BOOST_NOEXCEPT
62
62
  {
63
63
  return pointer_traits<pointer>::pointer_to(static_cast<reference>(*n));
64
64
  }
65
65
 
66
- static const_pointer to_value_ptr(const const_node_ptr &n)
66
+ BOOST_INTRUSIVE_FORCEINLINE static const_pointer to_value_ptr(const const_node_ptr &n) BOOST_NOEXCEPT
67
67
  {
68
68
  return pointer_traits<const_pointer>::pointer_to(static_cast<const_reference>(*n));
69
69
  }
@@ -252,7 +252,7 @@ class any_algorithms
252
252
  //! <b>Throws</b>: Nothing.
253
253
  //!
254
254
  //! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
255
- BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr & node)
255
+ BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr & node) BOOST_NOEXCEPT
256
256
  { node->node_ptr_1 = node_ptr(); };
257
257
 
258
258
  //! <b>Effects</b>: Returns true if node is in the same state as if called init(node)
@@ -263,7 +263,7 @@ class any_algorithms
263
263
  BOOST_INTRUSIVE_FORCEINLINE static bool inited(const const_node_ptr & node)
264
264
  { return !node->node_ptr_1; };
265
265
 
266
- BOOST_INTRUSIVE_FORCEINLINE static bool unique(const const_node_ptr & node)
266
+ BOOST_INTRUSIVE_FORCEINLINE static bool unique(const const_node_ptr & node) BOOST_NOEXCEPT
267
267
  { return !node->node_ptr_1; }
268
268
 
269
269
  static void unlink(const node_ptr &)
@@ -42,7 +42,7 @@ class bstree_algorithms_base
42
42
  //! <b>Complexity</b>: Average constant time.
43
43
  //!
44
44
  //! <b>Throws</b>: Nothing.
45
- static node_ptr next_node(const node_ptr & node)
45
+ static node_ptr next_node(const node_ptr & node) BOOST_NOEXCEPT
46
46
  {
47
47
  node_ptr const n_right(NodeTraits::get_right(node));
48
48
  if(n_right){
@@ -66,7 +66,7 @@ class bstree_algorithms_base
66
66
  //! <b>Complexity</b>: Average constant time.
67
67
  //!
68
68
  //! <b>Throws</b>: Nothing.
69
- static node_ptr prev_node(const node_ptr & node)
69
+ static node_ptr prev_node(const node_ptr & node) BOOST_NOEXCEPT
70
70
  {
71
71
  if(is_header(node)){
72
72
  return NodeTraits::get_right(node);
@@ -126,7 +126,7 @@ class bstree_algorithms_base
126
126
  //! <b>Complexity</b>: Constant.
127
127
  //!
128
128
  //! <b>Throws</b>: Nothing.
129
- static bool is_header(const const_node_ptr & p)
129
+ static bool is_header(const const_node_ptr & p) BOOST_NOEXCEPT
130
130
  {
131
131
  node_ptr p_left (NodeTraits::get_left(p));
132
132
  node_ptr p_right(NodeTraits::get_right(p));
@@ -52,7 +52,7 @@ class common_slist_algorithms
52
52
  return p;
53
53
  }
54
54
 
55
- BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr this_node)
55
+ BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr this_node) BOOST_NOEXCEPT
56
56
  { NodeTraits::set_next(this_node, node_ptr()); }
57
57
 
58
58
  BOOST_INTRUSIVE_FORCEINLINE static bool unique(const const_node_ptr & this_node)
@@ -64,16 +64,16 @@ class common_slist_algorithms
64
64
  BOOST_INTRUSIVE_FORCEINLINE static bool inited(const const_node_ptr & this_node)
65
65
  { return !NodeTraits::get_next(this_node); }
66
66
 
67
- BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node)
67
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node) BOOST_NOEXCEPT
68
68
  {
69
69
  const_node_ptr this_node(NodeTraits::get_next(prev_node));
70
70
  NodeTraits::set_next(prev_node, NodeTraits::get_next(this_node));
71
71
  }
72
72
 
73
- BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node, node_ptr last_node)
73
+ BOOST_INTRUSIVE_FORCEINLINE static void unlink_after(node_ptr prev_node, node_ptr last_node) BOOST_NOEXCEPT
74
74
  { NodeTraits::set_next(prev_node, last_node); }
75
75
 
76
- BOOST_INTRUSIVE_FORCEINLINE static void link_after(node_ptr prev_node, node_ptr this_node)
76
+ BOOST_INTRUSIVE_FORCEINLINE static void link_after(node_ptr prev_node, node_ptr this_node) BOOST_NOEXCEPT
77
77
  {
78
78
  NodeTraits::set_next(this_node, NodeTraits::get_next(prev_node));
79
79
  NodeTraits::set_next(prev_node, this_node);
@@ -167,7 +167,7 @@ class common_slist_algorithms
167
167
  //! <b>Complexity</b>: Linear
168
168
  //!
169
169
  //! <b>Throws</b>: Nothing.
170
- static std::size_t distance(const const_node_ptr &f, const const_node_ptr &l)
170
+ static std::size_t distance(const const_node_ptr &f, const const_node_ptr &l) BOOST_NOEXCEPT
171
171
  {
172
172
  const_node_ptr i(f);
173
173
  std::size_t result = 0;
@@ -17,6 +17,7 @@
17
17
  #ifdef BOOST_MSVC
18
18
 
19
19
  #pragma warning (push)
20
+ #pragma warning (disable : 4619) // there is no warning number 'XXXX'
20
21
  #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier"
21
22
  #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2"
22
23
  #pragma warning (disable : 4675) // "method" should be declared "static" and have exactly one parameter
@@ -161,30 +161,30 @@ class generic_hook
161
161
  < NodeTraits
162
162
  , Tag, LinkMode, BaseHookType> hooktags;
163
163
 
164
- BOOST_INTRUSIVE_FORCEINLINE node_ptr this_ptr()
164
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr this_ptr() BOOST_NOEXCEPT
165
165
  { return pointer_traits<node_ptr>::pointer_to(static_cast<node&>(*this)); }
166
166
 
167
- BOOST_INTRUSIVE_FORCEINLINE const_node_ptr this_ptr() const
167
+ BOOST_INTRUSIVE_FORCEINLINE const_node_ptr this_ptr() const BOOST_NOEXCEPT
168
168
  { return pointer_traits<const_node_ptr>::pointer_to(static_cast<const node&>(*this)); }
169
169
 
170
170
  public:
171
171
  /// @endcond
172
172
 
173
- BOOST_INTRUSIVE_FORCEINLINE generic_hook()
173
+ BOOST_INTRUSIVE_FORCEINLINE generic_hook() BOOST_NOEXCEPT
174
174
  {
175
175
  if(hooktags::safemode_or_autounlink){
176
176
  node_algorithms::init(this->this_ptr());
177
177
  }
178
178
  }
179
179
 
180
- BOOST_INTRUSIVE_FORCEINLINE generic_hook(const generic_hook& )
180
+ BOOST_INTRUSIVE_FORCEINLINE generic_hook(const generic_hook& ) BOOST_NOEXCEPT
181
181
  {
182
182
  if(hooktags::safemode_or_autounlink){
183
183
  node_algorithms::init(this->this_ptr());
184
184
  }
185
185
  }
186
186
 
187
- BOOST_INTRUSIVE_FORCEINLINE generic_hook& operator=(const generic_hook& )
187
+ BOOST_INTRUSIVE_FORCEINLINE generic_hook& operator=(const generic_hook& ) BOOST_NOEXCEPT
188
188
  { return *this; }
189
189
 
190
190
  BOOST_INTRUSIVE_FORCEINLINE ~generic_hook()
@@ -193,20 +193,20 @@ class generic_hook
193
193
  (*this, detail::link_dispatch<hooktags::link_mode>());
194
194
  }
195
195
 
196
- BOOST_INTRUSIVE_FORCEINLINE void swap_nodes(generic_hook &other)
196
+ BOOST_INTRUSIVE_FORCEINLINE void swap_nodes(generic_hook &other) BOOST_NOEXCEPT
197
197
  {
198
198
  node_algorithms::swap_nodes
199
199
  (this->this_ptr(), other.this_ptr());
200
200
  }
201
201
 
202
- BOOST_INTRUSIVE_FORCEINLINE bool is_linked() const
202
+ BOOST_INTRUSIVE_FORCEINLINE bool is_linked() const BOOST_NOEXCEPT
203
203
  {
204
204
  //is_linked() can be only used in safe-mode or auto-unlink
205
205
  BOOST_STATIC_ASSERT(( hooktags::safemode_or_autounlink ));
206
206
  return !node_algorithms::unique(this->this_ptr());
207
207
  }
208
208
 
209
- BOOST_INTRUSIVE_FORCEINLINE void unlink()
209
+ BOOST_INTRUSIVE_FORCEINLINE void unlink() BOOST_NOEXCEPT
210
210
  {
211
211
  BOOST_STATIC_ASSERT(( (int)hooktags::link_mode == (int)auto_unlink ));
212
212
  node_ptr n(this->this_ptr());
@@ -47,8 +47,7 @@ inline void hash_combine_size_t(SizeT& seed, SizeT value)
47
47
  seed ^= value + 0x9e3779b9 + (seed<<6) + (seed>>2);
48
48
  }
49
49
 
50
- inline void hash_combine_size_t(boost::uint32_t& h1,
51
- boost::uint32_t k1)
50
+ inline void hash_combine_size_t(boost::uint32_t& h1, boost::uint32_t k1)
52
51
  {
53
52
  const uint32_t c1 = 0xcc9e2d51;
54
53
  const uint32_t c2 = 0x1b873593;
@@ -67,8 +66,7 @@ inline void hash_combine_size_t(boost::uint32_t& h1,
67
66
  // and also not for 32-bit gcc as it warns about the 64-bit constant.
68
67
  #if !defined(BOOST_NO_INT64_T) && \
69
68
  !(defined(__GNUC__) && ULONG_MAX == 0xffffffff)
70
- inline void hash_combine_size_t(boost::uint64_t& h,
71
- boost::uint64_t k)
69
+ inline void hash_combine_size_t(boost::uint64_t& h, boost::uint64_t k)
72
70
  {
73
71
  const boost::uint64_t m = UINT64_C(0xc6a4a7935bd1e995);
74
72
  const int r = 47;
@@ -101,7 +101,7 @@ struct bucket_traits_impl
101
101
  BOOST_INTRUSIVE_FORCEINLINE const bucket_ptr &bucket_begin() const
102
102
  { return buckets_; }
103
103
 
104
- BOOST_INTRUSIVE_FORCEINLINE size_type bucket_count() const
104
+ BOOST_INTRUSIVE_FORCEINLINE size_type bucket_count() const BOOST_NOEXCEPT
105
105
  { return buckets_len_; }
106
106
 
107
107
  private:
@@ -150,53 +150,6 @@ namespace detail {
150
150
  return log2;
151
151
  }
152
152
 
153
- ////////////////////////////
154
- // DeBruijn method
155
- ////////////////////////////
156
-
157
- //Taken from:
158
- //http://stackoverflow.com/questions/11376288/fast-computing-of-log2-for-64-bit-integers
159
- //Thanks to Desmond Hume
160
-
161
- inline std::size_t floor_log2 (std::size_t v, integral_constant<std::size_t, 32>)
162
- {
163
- static const int MultiplyDeBruijnBitPosition[32] =
164
- {
165
- 0, 9, 1, 10, 13, 21, 2, 29, 11, 14, 16, 18, 22, 25, 3, 30,
166
- 8, 12, 20, 28, 15, 17, 24, 7, 19, 27, 23, 6, 26, 5, 4, 31
167
- };
168
-
169
- v |= v >> 1;
170
- v |= v >> 2;
171
- v |= v >> 4;
172
- v |= v >> 8;
173
- v |= v >> 16;
174
-
175
- return MultiplyDeBruijnBitPosition[(std::size_t)(v * 0x07C4ACDDU) >> 27];
176
- }
177
-
178
- inline std::size_t floor_log2 (std::size_t v, integral_constant<std::size_t, 64>)
179
- {
180
- static const std::size_t MultiplyDeBruijnBitPosition[64] = {
181
- 63, 0, 58, 1, 59, 47, 53, 2,
182
- 60, 39, 48, 27, 54, 33, 42, 3,
183
- 61, 51, 37, 40, 49, 18, 28, 20,
184
- 55, 30, 34, 11, 43, 14, 22, 4,
185
- 62, 57, 46, 52, 38, 26, 32, 41,
186
- 50, 36, 17, 19, 29, 10, 13, 21,
187
- 56, 45, 25, 31, 35, 16, 9, 12,
188
- 44, 24, 15, 8, 23, 7, 6, 5};
189
-
190
- v |= v >> 1;
191
- v |= v >> 2;
192
- v |= v >> 4;
193
- v |= v >> 8;
194
- v |= v >> 16;
195
- v |= v >> 32;
196
- return MultiplyDeBruijnBitPosition[((std::size_t)((v - (v >> 1))*0x07EDD5E59A4E28C2ULL)) >> 58];
197
- }
198
-
199
-
200
153
  inline std::size_t floor_log2 (std::size_t x)
201
154
  {
202
155
  const std::size_t Bits = sizeof(std::size_t)*CHAR_BIT;
@@ -209,13 +162,12 @@ namespace detail {
209
162
  //http://www.flipcode.com/archives/Fast_log_Function.shtml
210
163
  inline float fast_log2 (float val)
211
164
  {
212
- float f = val;
213
165
  unsigned x;
214
- std::memcpy(&x, &val, sizeof(f));
166
+ std::memcpy(&x, &val, sizeof(float));
215
167
  const int log_2 = int((x >> 23) & 255) - 128;
216
168
  x &= ~(unsigned(255u) << 23u);
217
169
  x += unsigned(127) << 23u;
218
- std::memcpy(&val, &x, sizeof(f));
170
+ std::memcpy(&val, &x, sizeof(float));
219
171
  //1+log2(m), m ranging from 1 to 2
220
172
  //3rd degree polynomial keeping first derivate continuity.
221
173
  //For less precision the line can be commented out
@@ -91,7 +91,7 @@ struct node_disposer
91
91
 
92
92
  BOOST_INTRUSIVE_FORCEINLINE void operator()(const node_ptr & p)
93
93
  {
94
- if(safemode_or_autounlink)
94
+ BOOST_IF_CONSTEXPR(safemode_or_autounlink)
95
95
  node_algorithms::init(p);
96
96
  base_t::get()(traits_->to_value_ptr(p));
97
97
  }