passenger 6.1.0 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (440) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +32 -2
  3. data/Rakefile +6 -13
  4. data/bin/passenger-install-apache2-module +15 -19
  5. data/bin/passenger-install-nginx-module +42 -44
  6. data/bin/passenger-status +9 -10
  7. data/build/common_library.rb +4 -4
  8. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  9. data/build/test_basics.rb +4 -3
  10. data/dev/copy_boost_headers +54 -40
  11. data/dev/ruby_server.rb +1 -1
  12. data/src/agent/Core/Config.h +1 -1
  13. data/src/agent/Core/Controller/Config.h +1 -1
  14. data/src/agent/Watchdog/Config.h +1 -1
  15. data/src/cxx_supportlib/Constants.h +1 -1
  16. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  17. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  18. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  19. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  20. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  21. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  22. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  23. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  24. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  25. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  26. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  29. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  30. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  31. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  32. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  33. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  34. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  35. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  36. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  37. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  38. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  39. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  40. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  41. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  42. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  43. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  44. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  45. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  46. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  47. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  48. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  49. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  50. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  51. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  52. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  53. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  54. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  112. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  115. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  116. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  117. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  120. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  121. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  123. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  129. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  130. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  131. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  132. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  133. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  134. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  135. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  136. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  137. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  139. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  140. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  142. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  144. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  145. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  146. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  148. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  149. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  152. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  154. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  156. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  157. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  158. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  160. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  161. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  164. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  165. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  166. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  169. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  170. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  171. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  172. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  173. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  174. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  181. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  182. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  183. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  184. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  185. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  186. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  187. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  189. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  190. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  191. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  196. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  198. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  199. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  201. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  203. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  204. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  205. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  206. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  207. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  211. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  212. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  214. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  216. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  219. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  220. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  221. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  223. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  224. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  225. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  226. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  229. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  231. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  232. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  233. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  234. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  235. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  236. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  237. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  239. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  240. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  249. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  250. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  251. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  252. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  253. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  254. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  255. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  256. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  257. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  259. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  261. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  262. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  264. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  267. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  268. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  271. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  272. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  273. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  274. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  275. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  276. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  277. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  297. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  299. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  314. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  315. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  316. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  317. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  319. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  320. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  321. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  326. data/src/nginx_module/ContentHandler.c +2 -0
  327. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  328. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  329. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  330. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  331. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  332. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  333. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  334. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  335. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
  336. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
  337. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  338. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  339. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  340. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  341. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  342. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  343. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  344. metadata +26 -99
  345. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  346. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  347. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  348. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  349. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  350. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  351. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  352. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  353. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  354. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  355. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  356. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  357. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  358. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  359. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  360. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  361. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  362. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  363. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  364. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  365. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  366. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  367. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  368. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  369. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  370. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  371. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  372. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  373. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  374. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  375. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  376. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  377. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  378. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  379. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  380. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  381. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  382. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  383. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  384. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  385. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  386. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  387. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  388. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  389. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  390. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  391. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  392. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  393. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  394. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  395. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  396. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  397. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  398. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  399. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  400. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  401. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  402. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  403. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  404. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  405. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  406. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  407. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  415. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  416. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  417. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  418. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  419. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  420. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  421. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  422. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  423. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  424. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  425. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  426. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  427. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  428. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  429. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  430. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  431. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  432. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  433. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  434. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  435. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  436. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  437. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  438. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  439. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  440. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -272,7 +272,7 @@ struct insert_nonmovable_emplace_proxy
272
272
  {}
273
273
 
274
274
  template<class Iterator>
275
- inline void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
275
+ BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
276
276
  { this->priv_uninitialized_copy_some_and_update(a, index_tuple_t(), p, n); }
277
277
 
278
278
  private:
@@ -303,7 +303,7 @@ struct insert_emplace_proxy
303
303
  {}
304
304
 
305
305
  template<class Iterator>
306
- inline void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
306
+ BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
307
307
  { this->priv_copy_some_and_update(a, index_tuple_t(), p, n); }
308
308
 
309
309
  private:
@@ -327,6 +327,7 @@ struct insert_emplace_proxy
327
327
  }
328
328
  };
329
329
 
330
+
330
331
  //Specializations to avoid an unneeded temporary when emplacing from a single argument o type value_type
331
332
  template<class Allocator>
332
333
  struct insert_emplace_proxy<Allocator, typename boost::container::allocator_traits<Allocator>::value_type>
@@ -22,6 +22,7 @@
22
22
  #endif
23
23
 
24
24
  #include <boost/intrusive/detail/algorithm.hpp>
25
+ #include <boost/move/utility_core.hpp>
25
26
 
26
27
  namespace boost {
27
28
  namespace container {
@@ -179,6 +180,61 @@ ForwardIt1 search(ForwardIt1 first1, ForwardIt1 last1,
179
180
  }
180
181
  }
181
182
 
183
+ template<class InpIt, class U>
184
+ InpIt find(InpIt first, InpIt last, const U& value)
185
+ {
186
+ for (; first != last; ++first)
187
+ if (*first == value)
188
+ return first;
189
+
190
+ return last;
191
+ }
192
+
193
+
194
+ template<class FwdIt, class U>
195
+ FwdIt remove(FwdIt first, FwdIt last, const U& value)
196
+ {
197
+ first = find(first, last, value);
198
+ if (first != last)
199
+ for (FwdIt i = first; ++i != last;)
200
+ if (!(*i == value))
201
+ *first++ = boost::move(*i);
202
+ return first;
203
+ }
204
+
205
+ template<class FwdIt, class Pred>
206
+ FwdIt remove_if(FwdIt first, FwdIt last, Pred p)
207
+ {
208
+ first = find_if(first, last, p);
209
+ if (first != last)
210
+ for (FwdIt i = first; ++i != last;)
211
+ if (!p(*i))
212
+ *first++ = boost::move(*i);
213
+ return first;
214
+ }
215
+
216
+ template <class Cont, class Pred>
217
+ typename Cont::size_type container_erase_if(Cont& c, Pred p)
218
+ {
219
+ typedef typename Cont::size_type size_type;
220
+ typedef typename Cont::iterator it_t;
221
+
222
+ size_type prev_size = c.size();
223
+ it_t it = c.begin();
224
+
225
+ //end() must be called each loop for non-node containers
226
+ while ( it != c.end() ) {
227
+ if (p(*it)) {
228
+ it = c.erase(it);
229
+ }
230
+ else {
231
+ ++it;
232
+ }
233
+ }
234
+
235
+ return prev_size - c.size();
236
+ }
237
+
182
238
  } //namespace container {
183
239
  } //namespace boost {
184
240
 
@@ -21,6 +21,7 @@
21
21
  // move
22
22
  #include <boost/move/adl_move_swap.hpp>
23
23
  #include <boost/move/utility_core.hpp>
24
+ #include <boost/container/detail/mpl.hpp>
24
25
 
25
26
  namespace boost {
26
27
  namespace container {
@@ -254,17 +254,17 @@ int boost_cont_multialloc_arrays
254
254
 
255
255
  void boost_cont_multidealloc(boost_cont_memchain *pchain);
256
256
 
257
- size_t boost_cont_footprint();
257
+ size_t boost_cont_footprint(void);
258
258
 
259
- size_t boost_cont_allocated_memory();
259
+ size_t boost_cont_allocated_memory(void);
260
260
 
261
261
  size_t boost_cont_chunksize(const void *p);
262
262
 
263
- int boost_cont_all_deallocated();
263
+ int boost_cont_all_deallocated(void);
264
264
 
265
- boost_cont_malloc_stats_t boost_cont_malloc_stats();
265
+ boost_cont_malloc_stats_t boost_cont_malloc_stats(void);
266
266
 
267
- size_t boost_cont_in_use_memory();
267
+ size_t boost_cont_in_use_memory(void);
268
268
 
269
269
  int boost_cont_trim(size_t pad);
270
270
 
@@ -279,7 +279,7 @@ int boost_cont_shrink
279
279
  void* boost_cont_alloc
280
280
  (size_t minbytes, size_t preferred_bytes, size_t *received_bytes);
281
281
 
282
- int boost_cont_malloc_check();
282
+ int boost_cont_malloc_check(void);
283
283
 
284
284
  boost_cont_command_ret_t boost_cont_allocation_command
285
285
  ( allocation_type command
@@ -290,7 +290,7 @@ boost_cont_command_ret_t boost_cont_allocation_command
290
290
  , void *reuse_ptr
291
291
  );
292
292
 
293
- void *boost_cont_sync_create();
293
+ void *boost_cont_sync_create(void);
294
294
 
295
295
  void boost_cont_sync_destroy(void *sync);
296
296
 
@@ -298,9 +298,9 @@ int boost_cont_sync_lock(void *sync);
298
298
 
299
299
  void boost_cont_sync_unlock(void *sync);
300
300
 
301
- int boost_cont_global_sync_lock();
301
+ int boost_cont_global_sync_lock(void);
302
302
 
303
- void boost_cont_global_sync_unlock();
303
+ void boost_cont_global_sync_unlock(void);
304
304
 
305
305
  #ifdef __cplusplus
306
306
  } //extern "C" {
@@ -36,8 +36,29 @@ class equal_to_value
36
36
  : t_(t)
37
37
  {}
38
38
 
39
- inline bool operator()(const value_type &t)const
40
- { return t_ == t; }
39
+ template <class U>
40
+ inline bool operator()(const U &t)const
41
+ {
42
+ return t_ == t;
43
+ }
44
+ };
45
+
46
+ template<class ValueType>
47
+ class equal_to_value_first
48
+ {
49
+ typedef ValueType value_type;
50
+ const value_type &t_;
51
+
52
+ public:
53
+ inline explicit equal_to_value_first(const value_type &t)
54
+ : t_(t)
55
+ {}
56
+
57
+ template <class U>
58
+ inline bool operator()(const U &t)const
59
+ {
60
+ return t_ == t.first;
61
+ }
41
62
  };
42
63
 
43
64
  template<class Node, class Pred, class Ret = bool>
@@ -19,7 +19,6 @@
19
19
  #pragma warning (push)
20
20
  #pragma warning (disable : 4619) // there is no warning number 'XXXX'
21
21
  #pragma warning (disable : 4127) // conditional expression is constant
22
- #pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned
23
22
  #pragma warning (disable : 4197) // top-level volatile in cast is ignored
24
23
  #pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2"
25
24
  #pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier"
@@ -228,7 +228,7 @@ inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
228
228
  const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l);
229
229
  if(BOOST_LIKELY(beg_raw != end_raw && dest_raw && beg_raw)){
230
230
  const std::size_t n = std::size_t(end_raw - beg_raw) ;
231
- std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
231
+ std::memmove(reinterpret_cast<void *>(dest_raw), beg_raw, sizeof(value_type)*n);
232
232
  r += static_cast<r_difference_type>(n);
233
233
  }
234
234
  return r;
@@ -800,10 +800,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
800
800
 
801
801
  template
802
802
  <typename I, // I models InputIterator
803
- typename U, // U models unsigned integral constant
804
803
  typename F> // F models ForwardIterator
805
804
  inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
806
- copy_n(I f, U n, F r)
805
+ copy_n(I f, std::size_t n, F r)
807
806
  {
808
807
  while (n) {
809
808
  --n;
@@ -815,10 +814,9 @@ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
815
814
 
816
815
  template
817
816
  <typename I, // I models InputIterator
818
- typename U, // U models unsigned integral constant
819
817
  typename F> // F models ForwardIterator
820
818
  inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
821
- copy_n(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
819
+ copy_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
822
820
  { return dtl::memmove_n(f, n, r); }
823
821
 
824
822
  //////////////////////////////////////////////////////////////////////////////
@@ -829,10 +827,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
829
827
 
830
828
  template
831
829
  <typename I, // I models InputIterator
832
- typename U, // U models unsigned integral constant
833
830
  typename F> // F models ForwardIterator
834
831
  inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
835
- copy_n_source(I f, U n, F r)
832
+ copy_n_source(I f, std::size_t n, F r)
836
833
  {
837
834
  while (n) {
838
835
  --n;
@@ -910,10 +907,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
910
907
 
911
908
  template
912
909
  <typename I, // I models InputIterator
913
- typename U, // U models unsigned integral constant
914
910
  typename F> // F models ForwardIterator
915
911
  inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
916
- move_n(I f, U n, F r)
912
+ move_n(I f, std::size_t n, F r)
917
913
  {
918
914
  while (n) {
919
915
  --n;
@@ -925,13 +921,11 @@ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
925
921
 
926
922
  template
927
923
  <typename I, // I models InputIterator
928
- typename U, // U models unsigned integral constant
929
924
  typename F> // F models ForwardIterator
930
925
  inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
931
- move_n(I f, U n, F r) BOOST_NOEXCEPT_OR_NOTHROW
926
+ move_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
932
927
  { return dtl::memmove_n(f, n, r); }
933
928
 
934
-
935
929
  //////////////////////////////////////////////////////////////////////////////
936
930
  //
937
931
  // move_backward
@@ -961,11 +955,86 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
961
955
  const std::size_t n = boost::container::iterator_udistance(f, l);
962
956
  if (BOOST_LIKELY(n != 0)){
963
957
  r -= n;
964
- std::memmove((boost::movelib::iterator_to_raw_pointer)(r), (boost::movelib::iterator_to_raw_pointer)(f), sizeof(value_type)*n);
958
+ std::memmove(reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r)), (boost::movelib::iterator_to_raw_pointer)(f), sizeof(value_type)*n);
959
+ }
960
+ return r;
961
+ }
962
+
963
+ //////////////////////////////////////////////////////////////////////////////
964
+ //
965
+ // move_backward_n
966
+ //
967
+ //////////////////////////////////////////////////////////////////////////////
968
+
969
+ template
970
+ <typename I, // I models BidirectionalIterator
971
+ typename F> // F models ForwardIterator
972
+ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
973
+ move_backward_n(I l, std::size_t n, F r)
974
+ {
975
+ while (n) {
976
+ --n;
977
+ --l; --r;
978
+ *r = ::boost::move(*l);
979
+ }
980
+ return r;
981
+ }
982
+
983
+ template
984
+ <typename I, // I models InputIterator
985
+ typename F> // F models ForwardIterator
986
+ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
987
+ move_backward_n(I l, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
988
+ {
989
+ typedef typename boost::container::iter_value<I>::type value_type;
990
+ if (BOOST_LIKELY(n != 0)){
991
+ r -= n;
992
+ std::memmove (reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r))
993
+ , reinterpret_cast<const void *>((boost::movelib::iterator_to_raw_pointer)(l) - n)
994
+ , sizeof(value_type)*n);
965
995
  }
966
996
  return r;
967
997
  }
968
998
 
999
+ //////////////////////////////////////////////////////////////////////////////
1000
+ //
1001
+ // move_backward_n_source
1002
+ //
1003
+ //////////////////////////////////////////////////////////////////////////////
1004
+
1005
+ template
1006
+ <typename I, // I models BidirectionalIterator
1007
+ typename F> // F models ForwardIterator
1008
+ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
1009
+ move_backward_n_source(I l, std::size_t n, F r)
1010
+ {
1011
+ while (n) {
1012
+ --n;
1013
+ --l; --r;
1014
+ *r = ::boost::move(*l);
1015
+ }
1016
+ return l;
1017
+ }
1018
+
1019
+ template
1020
+ <typename I, // I models InputIterator
1021
+ typename F> // F models ForwardIterator
1022
+ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, I>::type
1023
+ move_backward_n_source(I l, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
1024
+ {
1025
+ typedef typename boost::container::iter_value<I>::type value_type;
1026
+
1027
+ if (BOOST_LIKELY(n != 0)){
1028
+ r -= n;
1029
+ l -= n;
1030
+ std::memmove( reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r))
1031
+ , l
1032
+ , sizeof(value_type)*n);
1033
+ }
1034
+ return l;
1035
+ }
1036
+
1037
+
969
1038
  //////////////////////////////////////////////////////////////////////////////
970
1039
  //
971
1040
  // move_n_source_dest
@@ -974,10 +1043,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
974
1043
 
975
1044
  template
976
1045
  <typename I // I models InputIterator
977
- ,typename U // U models unsigned integral constant
978
1046
  ,typename F> // F models ForwardIterator
979
1047
  inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
980
- move_n_source_dest(I f, U n, F &r)
1048
+ move_n_source_dest(I f, std::size_t n, F &r)
981
1049
  {
982
1050
  while (n) {
983
1051
  --n;
@@ -1002,10 +1070,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, I>::type
1002
1070
 
1003
1071
  template
1004
1072
  <typename I // I models InputIterator
1005
- ,typename U // U models unsigned integral constant
1006
1073
  ,typename F> // F models ForwardIterator
1007
1074
  inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
1008
- move_n_source(I f, U n, F r)
1075
+ move_n_source(I f, std::size_t n, F r)
1009
1076
  {
1010
1077
  while (n) {
1011
1078
  --n;
@@ -1043,10 +1110,9 @@ inline B move_backward_overlapping(B f, B l, B rl)
1043
1110
 
1044
1111
  template
1045
1112
  <typename Allocator
1046
- ,typename I // I models InputIterator
1047
- ,typename U> // U models unsigned integral constant
1113
+ ,typename I> // I models InputIterator
1048
1114
  inline typename dtl::disable_if_trivially_destructible<I, void>::type
1049
- destroy_alloc_n(Allocator &a, I f, U n)
1115
+ destroy_alloc_n(Allocator &a, I f, std::size_t n)
1050
1116
  {
1051
1117
  while(n){
1052
1118
  --n;
@@ -1057,10 +1123,9 @@ inline typename dtl::disable_if_trivially_destructible<I, void>::type
1057
1123
 
1058
1124
  template
1059
1125
  <typename Allocator
1060
- ,typename I // I models InputIterator
1061
- ,typename U> // U models unsigned integral constant
1126
+ ,typename I> // I models InputIterator
1062
1127
  inline typename dtl::enable_if_trivially_destructible<I, void>::type
1063
- destroy_alloc_n(Allocator &, I, U)
1128
+ destroy_alloc_n(Allocator &, I, std::size_t)
1064
1129
  {}
1065
1130
 
1066
1131
  //////////////////////////////////////////////////////////////////////////////
@@ -1175,8 +1175,9 @@ class flat_tree
1175
1175
  !dtl::is_convertible<K, iterator>::value && //not convertible to iterator
1176
1176
  !dtl::is_convertible<K, const_iterator>::value //not convertible to const_iterator
1177
1177
  , size_type>::type
1178
- erase(const K& k)
1178
+ erase(BOOST_FWD_REF(K) key)
1179
1179
  {
1180
+ const typename remove_cvref<K>::type & k = key; //Support emulated rvalue references
1180
1181
  std::pair<iterator, iterator > itp = this->equal_range(k);
1181
1182
  size_type ret = static_cast<size_type>(itp.second - itp.first);
1182
1183
  if (ret) {
@@ -173,7 +173,7 @@ class private_node_pool_impl
173
173
  //Unlink the nodes
174
174
  free_nodes.clear();
175
175
  it = m_blocklist.erase_after(bit);
176
- mp_segment_mngr_base->deallocate((void*)addr);
176
+ mp_segment_mngr_base->deallocate(const_cast<void*>(addr));
177
177
  }
178
178
  //Otherwise, insert them in the backup list, since the
179
179
  //next "remove_if" does not need to check them again.
@@ -221,7 +221,7 @@ class private_node_pool_impl
221
221
  while(!m_blocklist.empty()){
222
222
  void *addr = get_block_from_hook(&m_blocklist.front(), blocksize);
223
223
  m_blocklist.pop_front();
224
- mp_segment_mngr_base->deallocate((void*)addr);
224
+ mp_segment_mngr_base->deallocate(const_cast<void*>(addr));
225
225
  }
226
226
  //Just clear free node list
227
227
  m_freelist.clear();
@@ -0,0 +1,68 @@
1
+ //////////////////////////////////////////////////////////////////////////////
2
+ //
3
+ // (C) Copyright Ion Gaztanaga 2025-2025. Distributed under the Boost
4
+ // Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+ //
7
+ // See http://www.boost.org/libs/container for documentation.
8
+ //
9
+ //////////////////////////////////////////////////////////////////////////////
10
+ #ifndef BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
11
+ #define BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
12
+
13
+ #ifndef BOOST_CONFIG_HPP
14
+ # include <boost/config.hpp>
15
+ #endif
16
+
17
+ #if defined(BOOST_HAS_PRAGMA_ONCE)
18
+ # pragma once
19
+ #endif
20
+
21
+ #include <boost/container/detail/std_fwd.hpp>
22
+ #include <boost/container/throw_exception.hpp>
23
+
24
+ namespace boost {
25
+ namespace container {
26
+ namespace dtl {
27
+
28
+ template <class T>
29
+ T* operator_new_allocate(std::size_t count)
30
+ {
31
+ const std::size_t max_count = std::size_t(-1)/(2*sizeof(T));
32
+ if(BOOST_UNLIKELY(count > max_count))
33
+ throw_bad_alloc();
34
+ #if defined(__cpp_aligned_new)
35
+ BOOST_IF_CONSTEXPR(__STDCPP_DEFAULT_NEW_ALIGNMENT__ < alignof(T)) {
36
+ return static_cast<T*>(::operator new(count*sizeof(T), std::align_val_t(alignof(T))));
37
+ }
38
+ #endif
39
+ return static_cast<T*>(::operator new(count*sizeof(T)));
40
+ }
41
+
42
+ template <class T>
43
+ void operator_delete_deallocate(T* ptr, std::size_t n) BOOST_NOEXCEPT_OR_NOTHROW
44
+ {
45
+ (void)n;
46
+ #ifdef __cpp_aligned_new
47
+ BOOST_IF_CONSTEXPR(__STDCPP_DEFAULT_NEW_ALIGNMENT__ < alignof(T)) {
48
+ # if defined(__cpp_sized_deallocation)
49
+ ::operator delete((void*)ptr, n * sizeof(T), std::align_val_t(alignof(T)));
50
+ #else
51
+ ::operator delete((void*)ptr, std::align_val_t(alignof(T)));
52
+ # endif
53
+ return;
54
+ }
55
+ #endif
56
+
57
+ # if defined(__cpp_sized_deallocation)
58
+ ::operator delete((void*)ptr, n * sizeof(T));
59
+ #else
60
+ ::operator delete((void*)ptr);
61
+ # endif
62
+ }
63
+
64
+ } //namespace dtl {
65
+ } //namespace container {
66
+ } //namespace boost {
67
+
68
+ #endif //#ifndef BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
@@ -548,44 +548,84 @@ struct is_class< std::pair<T1, T2> >
548
548
 
549
549
 
550
550
  //Triviality of pair
551
+
552
+ //
553
+ // is_trivially_copy_assignable
554
+ //
555
+
551
556
  template<class T>
552
- struct is_trivially_copy_constructible;
557
+ struct is_trivially_copy_assignable;
553
558
 
554
559
  template<class A, class B>
555
- struct is_trivially_copy_assignable
556
- <boost::container::dtl::pair<A,B> >
560
+ struct is_trivially_copy_assignable<boost::container::dtl::pair<A,B> >
557
561
  {
558
- BOOST_STATIC_CONSTEXPR bool value = false ;
562
+ BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_copy_assignable<A>::value &&
563
+ boost::move_detail::is_trivially_copy_assignable<B>::value;
559
564
  };
560
565
 
566
+ template<class A, class B>
567
+ struct is_trivially_copy_assignable<std::pair<A,B> >
568
+ : is_trivially_copy_assignable<boost::container::dtl::pair<A,B> >
569
+ {};
570
+
571
+ //
572
+ // is_trivially_move_assignable
573
+ //
574
+
561
575
  template<class T>
562
- struct is_trivially_move_constructible;
576
+ struct is_trivially_move_assignable;
563
577
 
564
578
  template<class A, class B>
565
- struct is_trivially_move_assignable
566
- <boost::container::dtl::pair<A,B> >
579
+ struct is_trivially_move_assignable<boost::container::dtl::pair<A,B> >
567
580
  {
568
- BOOST_STATIC_CONSTEXPR bool value = false;
581
+ BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_move_assignable<A>::value &&
582
+ boost::move_detail::is_trivially_move_assignable<B>::value;
569
583
  };
570
584
 
585
+ template<class A, class B>
586
+ struct is_trivially_move_assignable<std::pair<A,B> >
587
+ : is_trivially_move_assignable<boost::container::dtl::pair<A,B> >
588
+ {};
589
+
590
+
591
+ //
592
+ // is_trivially_copy_constructible
593
+ //
594
+
571
595
  template<class T>
572
- struct is_trivially_copy_assignable;
596
+ struct is_trivially_copy_constructible;
573
597
 
574
598
  template<class A, class B>
575
599
  struct is_trivially_copy_constructible<boost::container::dtl::pair<A,B> >
576
600
  {
577
- BOOST_STATIC_CONSTEXPR bool value = false;
601
+ BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_copy_constructible<A>::value &&
602
+ boost::move_detail::is_trivially_copy_constructible<B>::value;
578
603
  };
579
604
 
605
+ template<class A, class B>
606
+ struct is_trivially_copy_constructible<std::pair<A,B> >
607
+ : is_trivially_copy_constructible<boost::container::dtl::pair<A,B> >
608
+ {};
609
+
610
+ //
611
+ // is_trivially_move_constructible
612
+ //
613
+
580
614
  template<class T>
581
- struct is_trivially_move_assignable;
615
+ struct is_trivially_move_constructible;
582
616
 
583
617
  template<class A, class B>
584
618
  struct is_trivially_move_constructible<boost::container::dtl::pair<A,B> >
585
619
  {
586
- BOOST_STATIC_CONSTEXPR bool value = false;
620
+ BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_move_constructible<A>::value &&
621
+ boost::move_detail::is_trivially_move_constructible<B>::value;
587
622
  };
588
623
 
624
+ template<class A, class B>
625
+ struct is_trivially_move_constructible<std::pair<A,B> >
626
+ : is_trivially_move_constructible<boost::container::dtl::pair<A,B> >
627
+ {};
628
+
589
629
  template<class T>
590
630
  struct is_trivially_destructible;
591
631
 
@@ -593,12 +633,31 @@ template<class A, class B>
593
633
  struct is_trivially_destructible<boost::container::dtl::pair<A,B> >
594
634
  {
595
635
  BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_destructible<A>::value &&
596
- boost::move_detail::is_trivially_destructible<B>::value ;
636
+ boost::move_detail::is_trivially_destructible<B>::value;
597
637
  };
598
638
 
639
+ template<class A, class B>
640
+ struct is_trivially_destructible<std::pair<A,B> >
641
+ : is_trivially_destructible<boost::container::dtl::pair<A,B> >
642
+ {};
599
643
 
600
644
  } //namespace move_detail{
601
645
 
646
+ template<class T>
647
+ struct has_trivial_destructor_after_move;
648
+
649
+ template<class A, class B>
650
+ struct has_trivial_destructor_after_move<boost::container::dtl::pair<A,B> >
651
+ {
652
+ BOOST_STATIC_CONSTEXPR bool value = boost::has_trivial_destructor_after_move<A>::value &&
653
+ boost::has_trivial_destructor_after_move<B>::value;
654
+ };
655
+
656
+ template<class A, class B>
657
+ struct has_trivial_destructor_after_move<std::pair<A,B> >
658
+ : has_trivial_destructor_after_move<boost::container::dtl::pair<A,B> >
659
+ {};
660
+
602
661
  } //namespace boost {
603
662
 
604
663
  #include <boost/container/detail/config_end.hpp>
@@ -23,6 +23,8 @@
23
23
  // Standard predeclarations
24
24
  //////////////////////////////////////////////////////////////////////////////
25
25
 
26
+ #include <cstddef>
27
+
26
28
  #include <boost/move/detail/std_ns_begin.hpp>
27
29
  BOOST_MOVE_STD_NS_BEG
28
30
 
@@ -59,4 +61,15 @@ struct pointer_traits;
59
61
  BOOST_MOVE_STD_NS_END
60
62
  #include <boost/move/detail/std_ns_end.hpp>
61
63
 
64
+ #if defined(__cpp_aligned_new)
65
+
66
+ //align_val_t is not usually in an inline namespace
67
+ namespace std {
68
+
69
+ enum class align_val_t : std::size_t;
70
+
71
+ } //namespace std
72
+
73
+ #endif
74
+
62
75
  #endif //#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP