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
@@ -166,6 +166,23 @@
166
166
  #elif __has_include(<array>)
167
167
  # define BOOST_LIBSTDCXX_VERSION 40300
168
168
  #endif
169
+ //
170
+ // If BOOST_HAS_FLOAT128 is set, now that we know the std lib is libstdc++3, check to see if the std lib is
171
+ // configured to support this type. If not disable it:
172
+ //
173
+ #if defined(BOOST_HAS_FLOAT128) && !defined(_GLIBCXX_USE_FLOAT128)
174
+ # undef BOOST_HAS_FLOAT128
175
+ #endif
176
+
177
+ #if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)
178
+ //
179
+ // hash_set/hash_map deprecated and have terminal bugs:
180
+ //
181
+ #undef BOOST_HAS_HASH
182
+ #undef BOOST_HAS_SET_HEADER
183
+ #undef BOOST_HAS_MAP_HEADER
184
+ #endif
185
+
169
186
 
170
187
  #if (BOOST_LIBSTDCXX_VERSION >= 100000) && defined(BOOST_HAS_HASH)
171
188
  //
@@ -313,10 +330,6 @@ extern "C" char *gets (char *__s);
313
330
  # define BOOST_NO_CXX14_STD_EXCHANGE
314
331
  #endif
315
332
 
316
- #if defined(__clang_major__) && ((__clang_major__ < 3) || ((__clang_major__ == 3) && (__clang_minor__ < 7)))
317
- // As of clang-3.6, libstdc++ header <atomic> throws up errors with clang:
318
- # define BOOST_NO_CXX11_HDR_ATOMIC
319
- #endif
320
333
  //
321
334
  // C++0x features in GCC 5.1 and later
322
335
  //
@@ -365,6 +378,35 @@ extern "C" char *gets (char *__s);
365
378
  # define BOOST_NO_CXX17_HDR_CHARCONV
366
379
  #endif
367
380
 
381
+ #if BOOST_LIBSTDCXX_VERSION < 110000
382
+ //
383
+ // Header <bit> may be present but lacks std::bit_cast:
384
+ //
385
+ #define BOOST_NO_CXX20_HDR_BIT
386
+ #endif
387
+
388
+ #ifndef __cpp_impl_coroutine
389
+ # define BOOST_NO_CXX20_HDR_COROUTINE
390
+ #endif
391
+
392
+ //
393
+ // These next defines are mostly for older clang versions with a newer libstdc++ :
394
+ //
395
+ #if !defined(__cpp_lib_concepts)
396
+ #if !defined(BOOST_NO_CXX20_HDR_COMPARE)
397
+ # define BOOST_NO_CXX20_HDR_COMPARE
398
+ #endif
399
+ #if !defined(BOOST_NO_CXX20_HDR_CONCEPTS)
400
+ # define BOOST_NO_CXX20_HDR_CONCEPTS
401
+ #endif
402
+ #if !defined(BOOST_NO_CXX20_HDR_SPAN)
403
+ # define BOOST_NO_CXX20_HDR_SPAN
404
+ #endif
405
+ #if !defined(BOOST_NO_CXX20_HDR_RANGES)
406
+ # define BOOST_NO_CXX20_HDR_RANGES
407
+ #endif
408
+ #endif
409
+
368
410
  //
369
411
  // Headers not present on Solaris with the Oracle compiler:
370
412
  #if defined(__SUNPRO_CC) && (__SUNPRO_CC < 0x5140)
@@ -153,7 +153,7 @@ class adaptive_pool
153
153
  { return size_type(-1)/(2u*sizeof(T)); }
154
154
 
155
155
  //!Allocate memory for an array of count elements.
156
- //!Throws std::bad_alloc if there is no enough memory
156
+ //!Throws bad_alloc if there is no enough memory
157
157
  pointer allocate(size_type count, const void * = 0)
158
158
  {
159
159
  if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
@@ -467,7 +467,7 @@ class private_adaptive_pool
467
467
  { return size_type(-1)/(2u*sizeof(T)); }
468
468
 
469
469
  //!Allocate memory for an array of count elements.
470
- //!Throws std::bad_alloc if there is no enough memory
470
+ //!Throws bad_alloc if there is no enough memory
471
471
  pointer allocate(size_type count, const void * = 0)
472
472
  {
473
473
  if(BOOST_UNLIKELY(count > size_type(-1)/(2u*sizeof(T))))
@@ -174,7 +174,7 @@ class allocator
174
174
  {}
175
175
 
176
176
  //!Allocates memory for an array of count elements.
177
- //!Throws std::bad_alloc if there is no enough memory
177
+ //!Throws bad_alloc if there is no enough memory
178
178
  //!If Version is 2, this allocated memory can only be deallocated
179
179
  //!with deallocate() or (for Version == 2) deallocate_many()
180
180
  BOOST_CONTAINER_ATTRIBUTE_NODISCARD pointer allocate(size_type count, const void * hint= 0)
@@ -111,7 +111,7 @@ class shared_adaptive_node_pool
111
111
  ~shared_adaptive_node_pool()
112
112
  {}
113
113
 
114
- //!Allocates array of count elements. Can throw std::bad_alloc
114
+ //!Allocates array of count elements. Can throw bad_alloc
115
115
  void *allocate_node()
116
116
  {
117
117
  //-----------------------
@@ -130,7 +130,7 @@ class shared_adaptive_node_pool
130
130
  }
131
131
 
132
132
  //!Allocates a singly linked list of n nodes ending in null pointer.
133
- //!can throw std::bad_alloc
133
+ //!can throw bad_alloc
134
134
  void allocate_nodes(const std::size_t n, multiallocation_chain &chain)
135
135
  {
136
136
  //-----------------------
@@ -82,7 +82,7 @@ class shared_node_pool
82
82
  ~shared_node_pool()
83
83
  {}
84
84
 
85
- //!Allocates array of count elements. Can throw std::bad_alloc
85
+ //!Allocates array of count elements. Can throw bad_alloc
86
86
  void *allocate_node()
87
87
  {
88
88
  //-----------------------
@@ -101,7 +101,7 @@ class shared_node_pool
101
101
  }
102
102
 
103
103
  //!Allocates a singly linked list of n nodes ending in null pointer.
104
- //!can throw std::bad_alloc
104
+ //!can throw bad_alloc
105
105
  void allocate_nodes(const std::size_t n, multiallocation_chain &chain)
106
106
  {
107
107
  //-----------------------
@@ -53,6 +53,9 @@ struct allocator_arg_t;
53
53
 
54
54
  struct piecewise_construct_t;
55
55
 
56
+ template <class Ptr>
57
+ struct pointer_traits;
58
+
56
59
  BOOST_MOVE_STD_NS_END
57
60
  #include <boost/move/detail/std_ns_end.hpp>
58
61
 
@@ -1269,7 +1269,7 @@ class devector
1269
1269
  /**
1270
1270
  * **Returns**: A reference to the `n`th element in the devector.
1271
1271
  *
1272
- * **Throws**: `std::out_of_range`, if `n >= size()`.
1272
+ * **Throws**: `out_of_range`, if `n >= size()`.
1273
1273
  *
1274
1274
  * **Complexity**: Constant.
1275
1275
  */
@@ -1284,7 +1284,7 @@ class devector
1284
1284
  /**
1285
1285
  * **Returns**: A constant reference to the `n`th element in the devector.
1286
1286
  *
1287
- * **Throws**: `std::out_of_range`, if `n >= size()`.
1287
+ * **Throws**: `out_of_range`, if `n >= size()`.
1288
1288
  *
1289
1289
  * **Complexity**: Constant.
1290
1290
  */
@@ -151,7 +151,7 @@ class new_allocator
151
151
  {}
152
152
 
153
153
  //!Allocates memory for an array of count elements.
154
- //!Throws std::bad_alloc if there is no enough memory
154
+ //!Throws bad_alloc if there is no enough memory
155
155
  pointer allocate(size_type count)
156
156
  {
157
157
  const std::size_t max_count = std::size_t(-1)/(2*sizeof(T));
@@ -141,7 +141,7 @@ class node_allocator
141
141
  { return size_type(-1)/sizeof(T); }
142
142
 
143
143
  //!Allocate memory for an array of count elements.
144
- //!Throws std::bad_alloc if there is no enough memory
144
+ //!Throws bad_alloc if there is no enough memory
145
145
  pointer allocate(size_type count, const void * = 0)
146
146
  {
147
147
  if(BOOST_UNLIKELY(count > this->max_size()))
@@ -53,13 +53,13 @@ class polymorphic_allocator
53
53
  //! <b>Throws</b>: Nothing
54
54
  //!
55
55
  //! <b>Notes</b>: This constructor provides an implicit conversion from memory_resource*.
56
- polymorphic_allocator(memory_resource* r)
56
+ polymorphic_allocator(memory_resource* r) BOOST_NOEXCEPT
57
57
  : m_resource(r)
58
58
  { BOOST_ASSERT(r != 0); }
59
59
 
60
60
  //! <b>Effects</b>: Sets m_resource to
61
61
  //! other.resource().
62
- polymorphic_allocator(const polymorphic_allocator& other)
62
+ polymorphic_allocator(const polymorphic_allocator& other) BOOST_NOEXCEPT
63
63
  : m_resource(other.m_resource)
64
64
  {}
65
65
 
@@ -72,7 +72,7 @@ class polymorphic_allocator
72
72
 
73
73
  //! <b>Effects</b>: Sets m_resource to
74
74
  //! other.resource().
75
- polymorphic_allocator& operator=(const polymorphic_allocator& other)
75
+ polymorphic_allocator& operator=(const polymorphic_allocator& other) BOOST_NOEXCEPT
76
76
  { m_resource = other.m_resource; return *this; }
77
77
 
78
78
  //! <b>Returns</b>: Equivalent to
@@ -86,7 +86,7 @@ class polymorphic_allocator
86
86
  //! <b>Effects</b>: Equivalent to m_resource->deallocate(p, n * sizeof(T), alignof(T)).
87
87
  //!
88
88
  //! <b>Throws</b>: Nothing.
89
- void deallocate(T* p, size_t n)
89
+ void deallocate(T* p, size_t n) BOOST_NOEXCEPT
90
90
  { m_resource->deallocate(p, n*sizeof(T), ::boost::move_detail::alignment_of<T>::value); }
91
91
 
92
92
  #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) || defined(BOOST_CONTAINER_DOXYGEN_INVOKED)
@@ -133,12 +133,12 @@ class polymorphic_allocator
133
133
 
134
134
  //! <b>Returns</b>: Equivalent to
135
135
  //! `polymorphic_allocator()`.
136
- polymorphic_allocator select_on_container_copy_construction() const
136
+ polymorphic_allocator select_on_container_copy_construction() const BOOST_NOEXCEPT
137
137
  { return polymorphic_allocator(); }
138
138
 
139
139
  //! <b>Returns</b>:
140
140
  //! m_resource.
141
- memory_resource* resource() const
141
+ memory_resource* resource() const BOOST_NOEXCEPT
142
142
  { return m_resource; }
143
143
 
144
144
  private:
@@ -137,10 +137,10 @@ struct get_static_vector_allocator
137
137
  //!possible.
138
138
  //!
139
139
  //!@par Error Handling
140
- //! Insertion beyond the capacity result in throwing std::bad_alloc() if exceptions are enabled or
140
+ //! Insertion beyond the capacity result in throwing bad_alloc() if exceptions are enabled or
141
141
  //! calling throw_bad_alloc() if not enabled.
142
142
  //!
143
- //! std::out_of_range is thrown if out of bounds access is performed in <code>at()</code> if exceptions are
143
+ //! out_of_range is thrown if out of bounds access is performed in <code>at()</code> if exceptions are
144
144
  //! enabled, throw_out_of_range() if not enabled.
145
145
  //!
146
146
  //!@tparam T The type of element that will be stored.
@@ -788,7 +788,7 @@ public:
788
788
  //! from the beginning of the container.
789
789
  //!
790
790
  //! @par Throws
791
- //! \c std::out_of_range exception by default.
791
+ //! \c out_of_range exception by default.
792
792
  //!
793
793
  //! @par Complexity
794
794
  //! Constant O(1).
@@ -804,7 +804,7 @@ public:
804
804
  //! from the beginning of the container.
805
805
  //!
806
806
  //! @par Throws
807
- //! \c std::out_of_range exception by default.
807
+ //! \c out_of_range exception by default.
808
808
  //!
809
809
  //! @par Complexity
810
810
  //! Constant O(1).
@@ -27,22 +27,27 @@
27
27
  #include <exception> //for std exception base
28
28
 
29
29
  # if defined(BOOST_CONTAINER_USE_STD_EXCEPTIONS)
30
- #include <stdexcept> //for std exception types
30
+ #include <stdexcept> //for std::out_of_range, std::length_error, std::logic_error, std::runtime_error
31
31
  #include <string> //for implicit std::string conversion
32
32
  #include <new> //for std::bad_alloc
33
33
 
34
+ namespace boost {
35
+ namespace container {
36
+
34
37
  typedef std::bad_alloc bad_alloc_t;
35
38
  typedef std::out_of_range out_of_range_t;
36
- typedef std::out_of_range length_error_t;
39
+ typedef std::length_error length_error_t;
37
40
  typedef std::logic_error logic_error_t;
38
41
  typedef std::runtime_error runtime_error_t;
39
42
 
43
+ }} //namespace boost::container
44
+
40
45
  # else //!BOOST_CONTAINER_USE_STD_EXCEPTIONS
41
46
 
42
47
  namespace boost {
43
48
  namespace container {
44
49
 
45
- class exception
50
+ class BOOST_SYMBOL_VISIBLE exception
46
51
  : public ::std::exception
47
52
  {
48
53
  typedef ::std::exception std_exception_t;
@@ -61,7 +66,7 @@ class exception
61
66
  const char *m_msg;
62
67
  };
63
68
 
64
- class bad_alloc
69
+ class BOOST_SYMBOL_VISIBLE bad_alloc
65
70
  : public exception
66
71
  {
67
72
  public:
@@ -72,7 +77,7 @@ class bad_alloc
72
77
 
73
78
  typedef bad_alloc bad_alloc_t;
74
79
 
75
- class out_of_range
80
+ class BOOST_SYMBOL_VISIBLE out_of_range
76
81
  : public exception
77
82
  {
78
83
  public:
@@ -83,7 +88,7 @@ class out_of_range
83
88
 
84
89
  typedef out_of_range out_of_range_t;
85
90
 
86
- class length_error
91
+ class BOOST_SYMBOL_VISIBLE length_error
87
92
  : public exception
88
93
  {
89
94
  public:
@@ -94,7 +99,7 @@ class length_error
94
99
 
95
100
  typedef out_of_range length_error_t;
96
101
 
97
- class logic_error
102
+ class BOOST_SYMBOL_VISIBLE logic_error
98
103
  : public exception
99
104
  {
100
105
  public:
@@ -105,7 +110,7 @@ class logic_error
105
110
 
106
111
  typedef logic_error logic_error_t;
107
112
 
108
- class runtime_error
113
+ class BOOST_SYMBOL_VISIBLE runtime_error
109
114
  : public exception
110
115
  {
111
116
  public:
@@ -181,7 +186,11 @@ namespace container {
181
186
 
182
187
  //! Exception callback called by Boost.Container when fails to allocate the requested storage space.
183
188
  //! <ul>
184
- //! <li>If BOOST_NO_EXCEPTIONS is NOT defined <code>std::bad_alloc()</code> is thrown.</li>
189
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined
190
+ //! <code>boost::container::bad_alloc(str)</code> is thrown.</li>
191
+ //!
192
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined
193
+ //! <code>std::bad_alloc(str)</code> is thrown.</li>
185
194
  //!
186
195
  //! <li>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS
187
196
  //! is NOT defined <code>BOOST_ASSERT(!"boost::container bad_alloc thrown")</code> is called
@@ -192,16 +201,16 @@ namespace container {
192
201
  //! </ul>
193
202
  BOOST_NORETURN inline void throw_bad_alloc()
194
203
  {
195
- #ifdef BOOST_CONTAINER_USE_STD_EXCEPTIONS
196
- throw std::bad_alloc();
197
- #else
198
- throw bad_alloc();
199
- #endif
204
+ throw bad_alloc_t();
200
205
  }
201
206
 
202
207
  //! Exception callback called by Boost.Container to signal arguments out of range.
203
208
  //! <ul>
204
- //! <li>If BOOST_NO_EXCEPTIONS is NOT defined <code>std::out_of_range(str)</code> is thrown.</li>
209
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined
210
+ //! <code>boost::container::out_of_range(str)</code> is thrown.</li>
211
+ //!
212
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined
213
+ //! <code>std::out_of_range(str)</code> is thrown.</li>
205
214
  //!
206
215
  //! <li>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS
207
216
  //! is NOT defined <code>BOOST_ASSERT_MSG(!"boost::container out_of_range thrown", str)</code> is called
@@ -212,16 +221,17 @@ namespace container {
212
221
  //! </ul>
213
222
  BOOST_NORETURN inline void throw_out_of_range(const char* str)
214
223
  {
215
- #ifdef BOOST_CONTAINER_USE_STD_EXCEPTIONS
216
- throw std::out_of_range(str);
217
- #else
218
- throw out_of_range(str);
219
- #endif
224
+ throw out_of_range_t(str);
220
225
  }
221
226
 
222
227
  //! Exception callback called by Boost.Container to signal errors resizing.
223
228
  //! <ul>
224
- //! <li>If BOOST_NO_EXCEPTIONS is NOT defined <code>std::length_error(str)</code> is thrown.</li>
229
+ //!
230
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined
231
+ //! <code>boost::container::length_error(str)</code> is thrown.</li>
232
+ //!
233
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined
234
+ //! <code>std::length_error(str)</code> is thrown.</li>
225
235
  //!
226
236
  //! <li>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS
227
237
  //! is NOT defined <code>BOOST_ASSERT_MSG(!"boost::container length_error thrown", str)</code> is called
@@ -232,17 +242,18 @@ namespace container {
232
242
  //! </ul>
233
243
  BOOST_NORETURN inline void throw_length_error(const char* str)
234
244
  {
235
- #ifdef BOOST_CONTAINER_USE_STD_EXCEPTIONS
236
- throw std::length_error(str);
237
- #else
238
- throw length_error(str);
239
- #endif
245
+ throw length_error_t(str);
240
246
  }
241
247
 
242
248
  //! Exception callback called by Boost.Container to report errors in the internal logical
243
249
  //! of the program, such as violation of logical preconditions or class invariants.
244
250
  //! <ul>
245
- //! <li>If BOOST_NO_EXCEPTIONS is NOT defined <code>std::logic_error(str)</code> is thrown.</li>
251
+ //!
252
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined
253
+ //! <code>boost::container::logic_error(str)</code> is thrown.</li>
254
+ //!
255
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined
256
+ //! <code>std::logic_error(str)</code> is thrown.</li>
246
257
  //!
247
258
  //! <li>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS
248
259
  //! is NOT defined <code>BOOST_ASSERT_MSG(!"boost::container logic_error thrown", str)</code> is called
@@ -253,16 +264,16 @@ namespace container {
253
264
  //! </ul>
254
265
  BOOST_NORETURN inline void throw_logic_error(const char* str)
255
266
  {
256
- #ifdef BOOST_CONTAINER_USE_STD_EXCEPTIONS
257
- throw std::logic_error(str);
258
- #else
259
- throw logic_error(str);
260
- #endif
267
+ throw logic_error_t(str);
261
268
  }
262
269
 
263
270
  //! Exception callback called by Boost.Container to report errors that can only be detected during runtime.
264
271
  //! <ul>
265
- //! <li>If BOOST_NO_EXCEPTIONS is NOT defined <code>std::runtime_error(str)</code> is thrown.</li>
272
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is NOT defined
273
+ //! <code>boost::container::runtime_error(str)</code> is thrown.</li>
274
+ //!
275
+ //! <li>If BOOST_NO_EXCEPTIONS is NOT defined and BOOST_CONTAINER_USE_STD_EXCEPTIONS is defined
276
+ //! <code>std::runtime_error(str)</code> is thrown.</li>
266
277
  //!
267
278
  //! <li>If BOOST_NO_EXCEPTIONS is defined and BOOST_CONTAINER_USER_DEFINED_THROW_CALLBACKS
268
279
  //! is NOT defined <code>BOOST_ASSERT_MSG(!"boost::container runtime_error thrown", str)</code> is called
@@ -273,11 +284,7 @@ namespace container {
273
284
  //! </ul>
274
285
  BOOST_NORETURN inline void throw_runtime_error(const char* str)
275
286
  {
276
- #ifdef BOOST_CONTAINER_USE_STD_EXCEPTIONS
277
- throw std::runtime_error(str);
278
- #else
279
- throw runtime_error(str);
280
- #endif
287
+ throw runtime_error_t(str);
281
288
  }
282
289
 
283
290
  #endif
@@ -82,7 +82,17 @@ class vec_iterator
82
82
  {
83
83
  public:
84
84
  typedef std::random_access_iterator_tag iterator_category;
85
+ typedef std::contiguous_iterator_tag iterator_concept;
85
86
  typedef typename boost::intrusive::pointer_traits<Pointer>::element_type value_type;
87
+
88
+ //Defining element_type to make libstdc++'s std::pointer_traits well-formed leads to ambiguity
89
+ //due to LWG3446. So we need to specialize std::pointer_traits. See
90
+ //https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96416 for details. /Many thanks to Jonathan Wakely
91
+ //for explaning the issue.
92
+ #ifndef BOOST_GNU_STDLIB
93
+ //Define element_
94
+ typedef typename boost::intrusive::pointer_traits<Pointer>::element_type element_type;
95
+ #endif
86
96
  typedef typename boost::intrusive::pointer_traits<Pointer>::difference_type difference_type;
87
97
  typedef typename dtl::if_c
88
98
  < IsConst
@@ -3378,6 +3388,20 @@ struct has_trivial_destructor_after_move<boost::container::vector<T, Allocator,
3378
3388
 
3379
3389
  }
3380
3390
 
3391
+ //See comments on vec_iterator::element_type to know why is this needed
3392
+ #ifdef BOOST_GNU_STDLIB
3393
+
3394
+ BOOST_MOVE_STD_NS_BEG
3395
+
3396
+ template <class Pointer, bool IsConst>
3397
+ struct pointer_traits< boost::container::vec_iterator<Pointer, IsConst> >
3398
+ : public boost::intrusive::pointer_traits< boost::container::vec_iterator<Pointer, IsConst> >
3399
+ {};
3400
+
3401
+ BOOST_MOVE_STD_NS_END
3402
+
3403
+ #endif //BOOST_GNU_STDLIB
3404
+
3381
3405
  #endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
3382
3406
 
3383
3407
  #include <boost/container/detail/config_end.hpp>
@@ -11,34 +11,64 @@
11
11
 
12
12
  namespace boost {
13
13
 
14
- #ifndef BOOST_NO_CXX11_VARIADIC_TEMPLATES
14
+ #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
15
+
16
+ #if !defined(BOOST_NO_CXX11_RVALUE_REFERENCES)
17
+
18
+ template <typename... Ts>
19
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts&& ...)
20
+ {}
21
+
22
+ #else
15
23
 
16
24
  template <typename... Ts>
17
25
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(Ts const& ...)
18
26
  {}
19
27
 
28
+ #endif
29
+
20
30
  template <typename... Ts>
21
31
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused()
22
32
  {}
23
33
 
24
- #else
34
+ #else // !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
35
+
36
+ template <typename T1>
37
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&)
38
+ {}
25
39
 
26
40
  template <typename T1>
27
41
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&)
28
42
  {}
29
43
 
44
+ template <typename T1, typename T2>
45
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&)
46
+ {}
47
+
30
48
  template <typename T1, typename T2>
31
49
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&)
32
50
  {}
33
51
 
52
+ template <typename T1, typename T2, typename T3>
53
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&)
54
+ {}
55
+
34
56
  template <typename T1, typename T2, typename T3>
35
57
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&)
36
58
  {}
37
59
 
60
+ template <typename T1, typename T2, typename T3, typename T4>
61
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&, T4&)
62
+ {}
63
+
38
64
  template <typename T1, typename T2, typename T3, typename T4>
39
65
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&)
40
66
  {}
41
67
 
68
+ template <typename T1, typename T2, typename T3, typename T4, typename T5>
69
+ BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1&, T2&, T3&, T4&, T5&)
70
+ {}
71
+
42
72
  template <typename T1, typename T2, typename T3, typename T4, typename T5>
43
73
  BOOST_FORCEINLINE BOOST_CXX14_CONSTEXPR void ignore_unused(T1 const&, T2 const&, T3 const&, T4 const&, T5 const&)
44
74
  {}
@@ -26,6 +26,7 @@
26
26
  #pragma once
27
27
  #endif
28
28
 
29
+ #if (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411)
29
30
  #if defined(__APPLE__)
30
31
  #include <Availability.h>
31
32
  // Apple systems only support std::uncaught_exceptions starting with specific versions:
@@ -34,16 +35,15 @@
34
35
  // - tvOS >= 10.0
35
36
  // - watchOS >= 3.0
36
37
  // https://github.com/boostorg/core/issues/80
37
- #if (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411) && \
38
- ( \
39
- (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || \
40
- (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000) \
41
- )
38
+ #if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101200) || \
39
+ (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 100000)
42
40
  #define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
43
41
  #endif
42
+ #else
43
+ #define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
44
+ #endif // defined(__APPLE__)
44
45
  // Visual Studio 14.0 supports N4152 std::uncaught_exceptions() but doesn't define __cpp_lib_uncaught_exceptions
45
- #elif (defined(__cpp_lib_uncaught_exceptions) && __cpp_lib_uncaught_exceptions >= 201411) || \
46
- (defined(_MSC_VER) && _MSC_VER >= 1900)
46
+ #elif (defined(_MSC_VER) && _MSC_VER >= 1900)
47
47
  #define BOOST_CORE_HAS_UNCAUGHT_EXCEPTIONS
48
48
  #endif
49
49
 
@@ -28,10 +28,6 @@
28
28
 
29
29
  // Include extensions to date_duration - comment out to remove this feature
30
30
  #define BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES
31
- // these extensions are known to cause problems with gcc295
32
- #if defined(__GNUC__) && (__GNUC__ < 3)
33
- #undef BOOST_DATE_TIME_OPTIONAL_GREGORIAN_TYPES
34
- #endif
35
31
 
36
32
  #if (defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) || BOOST_WORKAROUND( BOOST_BORLANDC, BOOST_TESTED_AT(0x581) ) )
37
33
  #define BOOST_DATE_TIME_NO_MEMBER_INIT
@@ -123,26 +119,6 @@ namespace std {
123
119
  # define BOOST_DATE_TIME_DECL
124
120
  #endif
125
121
 
126
- //
127
- // Automatically link to the correct build variant where possible.
128
- //
129
- #if !defined(BOOST_ALL_NO_LIB) && !defined(BOOST_DATE_TIME_NO_LIB) && !defined(BOOST_DATE_TIME_SOURCE)
130
- //
131
- // Set the name of our library, this will get undef'ed by auto_link.hpp
132
- // once it's done with it:
133
- //
134
- #define BOOST_LIB_NAME boost_date_time
135
- //
136
- // If we're importing code from a dll, then tell auto_link.hpp about it:
137
- //
138
- #if defined(BOOST_ALL_DYN_LINK) || defined(BOOST_DATE_TIME_DYN_LINK)
139
- # define BOOST_DYN_LINK
140
- #endif
141
- //
142
- // And include the header that does the work:
143
- //
144
- #include <boost/config/auto_link.hpp>
145
- #endif // auto-linking disabled
146
122
 
147
123
  #if defined(BOOST_HAS_THREADS)
148
124
  # if defined(_MSC_VER) || defined(__MWERKS__) || defined(__MINGW32__) || defined(__BORLANDC__)
@@ -36,6 +36,10 @@ namespace posix_time {
36
36
  }
37
37
 
38
38
  inline ptime from_iso_extended_string(const std::string& s) {
39
+ if (s.size() == 10) { //assume we just have a date which is 10 chars
40
+ gregorian::date d = gregorian::from_simple_string(s);
41
+ return ptime( d );
42
+ }
39
43
  return date_time::parse_delimited_time<ptime>(s, 'T');
40
44
  }
41
45