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
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -32,13 +32,10 @@
32
32
  #include <string>
33
33
  #include <cstring>
34
34
  #include <cstdio>
35
+ #include <type_traits>
35
36
  #include <boost/limits.hpp>
36
- #include <boost/type_traits/conditional.hpp>
37
- #include <boost/type_traits/is_enum.hpp>
38
- #include <boost/type_traits/is_signed.hpp>
39
- #include <boost/type_traits/is_unsigned.hpp>
40
- #include <boost/type_traits/is_pointer.hpp>
41
37
  #include <boost/detail/lcast_precision.hpp>
38
+ #include <boost/lexical_cast/detail/type_traits.hpp>
42
39
  #include <boost/config/workaround.hpp>
43
40
  #include <boost/core/snprintf.hpp>
44
41
 
@@ -71,13 +68,7 @@
71
68
 
72
69
  #include <array>
73
70
 
74
- #include <boost/type_traits/make_unsigned.hpp>
75
- #include <boost/type_traits/is_integral.hpp>
76
- #include <boost/type_traits/is_float.hpp>
77
- #include <boost/type_traits/is_const.hpp>
78
- #include <boost/type_traits/is_reference.hpp>
79
71
  #include <boost/container/container_fwd.hpp>
80
- #include <boost/core/enable_if.hpp>
81
72
  #ifndef BOOST_NO_CWCHAR
82
73
  # include <cwchar>
83
74
  #endif
@@ -97,8 +88,8 @@ namespace boost { namespace detail { namespace lcast {
97
88
 
98
89
  template <typename T>
99
90
  struct exact {
100
- static_assert(!boost::is_const<T>::value, "");
101
- static_assert(!boost::is_reference<T>::value, "");
91
+ static_assert(!std::is_const<T>::value, "");
92
+ static_assert(!std::is_reference<T>::value, "");
102
93
 
103
94
  const T& payload;
104
95
  };
@@ -185,7 +176,7 @@ namespace boost { namespace detail { namespace lcast {
185
176
  template <class T>
186
177
  inline bool shl_signed(const T n) {
187
178
  CharT* tmp_finish = buffer + CharacterBufferSize;
188
- typedef typename boost::make_unsigned<T>::type utype;
179
+ typedef typename boost::detail::lcast::make_unsigned<T>::type utype;
189
180
  CharT* tmp_start = lcast_put_unsigned<Traits, utype, CharT>(lcast_to_unsigned(n), tmp_finish).convert();
190
181
  if (n < 0) {
191
182
  --tmp_start;
@@ -197,37 +188,37 @@ namespace boost { namespace detail { namespace lcast {
197
188
  return true;
198
189
  }
199
190
 
200
- bool shl_real_type(float val, char* begin) {
201
- const double val_as_double = val;
191
+ bool shl_real_type(lcast::exact<float> val, char* begin) {
192
+ const double val_as_double = static_cast<double>(val.payload);
202
193
  finish = start +
203
194
  boost::core::snprintf(begin, CharacterBufferSize,
204
195
  "%.*g", static_cast<int>(boost::detail::lcast_precision<float>::value), val_as_double);
205
196
  return finish > start;
206
197
  }
207
198
 
208
- bool shl_real_type(double val, char* begin) {
199
+ bool shl_real_type(lcast::exact<double> val, char* begin) {
209
200
  finish = start +
210
201
  boost::core::snprintf(begin, CharacterBufferSize,
211
- "%.*g", static_cast<int>(boost::detail::lcast_precision<double>::value), val);
202
+ "%.*g", static_cast<int>(boost::detail::lcast_precision<double>::value), val.payload);
212
203
  return finish > start;
213
204
  }
214
205
 
215
206
  #ifndef __MINGW32__
216
- bool shl_real_type(long double val, char* begin) {
207
+ bool shl_real_type(lcast::exact<long double> val, char* begin) {
217
208
  finish = start +
218
209
  boost::core::snprintf(begin, CharacterBufferSize,
219
- "%.*Lg", static_cast<int>(boost::detail::lcast_precision<long double>::value), val );
210
+ "%.*Lg", static_cast<int>(boost::detail::lcast_precision<long double>::value), val.payload );
220
211
  return finish > start;
221
212
  }
222
213
  #else
223
- bool shl_real_type(long double val, char* begin) {
224
- return shl_real_type(static_cast<double>(val), begin);
214
+ bool shl_real_type(lcast::exact<long double> val, char* begin) {
215
+ return shl_real_type(lcast::exact<double>{static_cast<double>(val.payload)}, begin);
225
216
  }
226
217
  #endif
227
218
 
228
219
  #if !defined(BOOST_LCAST_NO_WCHAR_T)
229
- bool shl_real_type(float val, wchar_t* begin) {
230
- const double val_as_double = val;
220
+ bool shl_real_type(lcast::exact<float> val, wchar_t* begin) {
221
+ const double val_as_double = static_cast<double>(val.payload);
231
222
  finish = start + boost::core::swprintf(
232
223
  begin, CharacterBufferSize, L"%.*g",
233
224
  static_cast<int>(boost::detail::lcast_precision<float>::value),
@@ -236,31 +227,31 @@ namespace boost { namespace detail { namespace lcast {
236
227
  return finish > start;
237
228
  }
238
229
 
239
- bool shl_real_type(double val, wchar_t* begin) {
230
+ bool shl_real_type(lcast::exact<double> val, wchar_t* begin) {
240
231
  finish = start + boost::core::swprintf(
241
232
  begin, CharacterBufferSize, L"%.*g",
242
233
  static_cast<int>(boost::detail::lcast_precision<double>::value),
243
- val
234
+ val.payload
244
235
  );
245
236
  return finish > start;
246
237
  }
247
238
 
248
- bool shl_real_type(long double val, wchar_t* begin) {
239
+ bool shl_real_type(lcast::exact<long double> val, wchar_t* begin) {
249
240
  finish = start + boost::core::swprintf(
250
241
  begin, CharacterBufferSize, L"%.*Lg",
251
242
  static_cast<int>(boost::detail::lcast_precision<long double>::value),
252
- val
243
+ val.payload
253
244
  );
254
245
  return finish > start;
255
246
  }
256
247
  #endif
257
248
  public:
258
249
  template <class C>
259
- using enable_if_compatible_char_t = typename boost::enable_if_c<
260
- boost::is_same<const C, const CharT>::value || (
261
- boost::is_same<const char, const CharT>::value && (
262
- boost::is_same<const C, const unsigned char>::value ||
263
- boost::is_same<const C, const signed char>::value
250
+ using enable_if_compatible_char_t = typename std::enable_if<
251
+ std::is_same<const C, const CharT>::value || (
252
+ std::is_same<const char, const CharT>::value && (
253
+ std::is_same<const C, const unsigned char>::value ||
254
+ std::is_same<const C, const signed char>::value
264
255
  )
265
256
  ), bool
266
257
  >::type;
@@ -302,32 +293,34 @@ namespace boost { namespace detail { namespace lcast {
302
293
  bool stream_in(lcast::exact<char> x) { return shl_char(x.payload); }
303
294
  bool stream_in(lcast::exact<unsigned char> x) { return shl_char(static_cast<char>(x.payload)); }
304
295
  bool stream_in(lcast::exact<signed char> x) { return shl_char(static_cast<char>(x.payload)); }
305
-
296
+
297
+ #if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
306
298
  template <class C>
307
- typename boost::enable_if_c<boost::detail::is_character<C>::value, bool>::type
299
+ typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
308
300
  stream_in(lcast::exact<C> x) { return shl_char(x.payload); }
301
+ #endif
309
302
 
310
303
  template <class Type>
311
304
  enable_if_compatible_char_t<Type>
312
305
  stream_in(lcast::exact<Type*> x) { return shl_char_array(reinterpret_cast<CharT const*>(x.payload)); }
313
306
 
314
307
  template <class Type>
315
- typename boost::enable_if_c<boost::is_signed<Type>::value && !boost::is_enum<Type>::value, bool>::type
308
+ typename std::enable_if<!std::is_floating_point<Type>::value && boost::detail::lcast::is_signed<Type>::value && !std::is_enum<Type>::value, bool>::type
316
309
  stream_in(lcast::exact<Type> x) { return shl_signed(x.payload); }
317
310
 
318
311
  template <class Type>
319
- typename boost::enable_if_c<boost::is_unsigned<Type>::value && !boost::is_enum<Type>::value, bool>::type
312
+ typename std::enable_if<boost::detail::lcast::is_unsigned<Type>::value && !std::is_enum<Type>::value, bool>::type
320
313
  stream_in(lcast::exact<Type> x) { return shl_unsigned(x.payload); }
321
314
 
322
315
  template <class Type>
323
- auto stream_in(lcast::exact<Type> x) -> decltype(shl_real_type(x.payload, buffer)) {
316
+ auto stream_in(lcast::exact<Type> x) -> decltype(shl_real_type(x, buffer)) {
324
317
  const CharT* inf_nan = detail::get_inf_nan(x.payload, CharT());
325
318
  if (inf_nan) {
326
319
  start = inf_nan;
327
320
  finish = start + Traits::length(inf_nan);
328
321
  return true;
329
322
  }
330
- return shl_real_type(x.payload, buffer);
323
+ return shl_real_type(x, buffer);
331
324
  }
332
325
 
333
326
  template <class C, std::size_t N>
@@ -398,7 +391,7 @@ namespace boost { namespace detail { namespace lcast {
398
391
  #if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
399
392
  // If you have compilation error at this point, than your STL library
400
393
  // does not support such conversions. Try updating it.
401
- static_assert(boost::is_same<char, CharT>::value, "");
394
+ static_assert(std::is_same<char, CharT>::value, "");
402
395
  #endif
403
396
 
404
397
  #ifndef BOOST_NO_EXCEPTIONS
@@ -434,17 +427,17 @@ namespace boost { namespace detail { namespace lcast {
434
427
  return true;
435
428
  }
436
429
 
437
- lcast_set_precision(out_stream, &val);
430
+ boost::detail::lcast_set_precision(out_stream, &val);
438
431
  return shl_input_streamable(val);
439
432
  }
440
433
 
441
434
  public:
442
435
  template <class Type>
443
- typename boost::enable_if_c<boost::detail::is_character<Type>::value && sizeof(char) == sizeof(Type), bool>::type
436
+ typename std::enable_if<boost::detail::is_character<Type>::value && sizeof(char) == sizeof(Type), bool>::type
444
437
  stream_in(lcast::exact<const Type*> x) { return shl_char_array(reinterpret_cast<char const*>(x.payload)); }
445
438
 
446
439
  template <class Type>
447
- typename boost::enable_if_c<boost::detail::is_character<Type>::value && sizeof(char) != sizeof(Type), bool>::type
440
+ typename std::enable_if<boost::detail::is_character<Type>::value && sizeof(char) != sizeof(Type), bool>::type
448
441
  stream_in(lcast::exact<const Type*> x) { return shl_char_array(x.payload); }
449
442
 
450
443
  bool stream_in(lcast::exact<float> x) { return shl_real(x.payload); }
@@ -458,14 +451,14 @@ namespace boost { namespace detail { namespace lcast {
458
451
  }
459
452
 
460
453
  template <class C>
461
- typename boost::enable_if_c<boost::detail::is_character<C>::value, bool>::type
454
+ typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
462
455
  stream_in(lcast::exact<iterator_range<C*>> x) noexcept {
463
456
  auto buf = boost::conversion::detail::make_buffer_view(x.payload.begin(), x.payload.end());
464
457
  return stream_in(lcast::exact<decltype(buf)>{buf});
465
458
  }
466
459
 
467
460
  template <class C>
468
- typename boost::enable_if_c<boost::detail::is_character<C>::value, bool>::type
461
+ typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
469
462
  stream_in(lcast::exact<iterator_range<const C*>> x) noexcept {
470
463
  auto buf = boost::conversion::detail::make_buffer_view(x.payload.begin(), x.payload.end());
471
464
  return stream_in(lcast::exact<decltype(buf)>{buf});
@@ -526,7 +519,7 @@ namespace boost { namespace detail { namespace lcast {
526
519
  if (start == finish) return false;
527
520
  CharT const minus = lcast_char_constants<CharT>::minus;
528
521
  CharT const plus = lcast_char_constants<CharT>::plus;
529
- typedef typename make_unsigned<Type>::type utype;
522
+ typedef typename boost::detail::lcast::make_unsigned<Type>::type utype;
530
523
  utype out_tmp = 0;
531
524
  bool const has_minus = Traits::eq(minus, *start);
532
525
 
@@ -552,12 +545,12 @@ namespace boost { namespace detail { namespace lcast {
552
545
  bool shr_using_base_class(InputStreamable& output)
553
546
  {
554
547
  static_assert(
555
- !boost::is_pointer<InputStreamable>::value,
548
+ !std::is_pointer<InputStreamable>::value,
556
549
  "boost::lexical_cast can not convert to pointers"
557
550
  );
558
551
 
559
552
  #if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
560
- static_assert(boost::is_same<char, CharT>::value,
553
+ static_assert(std::is_same<char, CharT>::value,
561
554
  "boost::lexical_cast can not convert, because your STL library does not "
562
555
  "support such conversions. Try updating it."
563
556
  );
@@ -583,7 +576,7 @@ namespace boost { namespace detail { namespace lcast {
583
576
  try {
584
577
  #endif
585
578
  stream.unsetf(std::ios::skipws);
586
- lcast_set_precision(stream, static_cast<InputStreamable*>(0));
579
+ boost::detail::lcast_set_precision(stream, static_cast<InputStreamable*>(0));
587
580
 
588
581
  return (stream >> output)
589
582
  && (stream.get() == Traits::eof());
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -23,15 +23,10 @@
23
23
  # pragma once
24
24
  #endif
25
25
 
26
+ #include <type_traits>
26
27
  #include <boost/core/cmath.hpp>
27
- #include <boost/core/enable_if.hpp>
28
28
  #include <boost/limits.hpp>
29
- #include <boost/type_traits/type_identity.hpp>
30
- #include <boost/type_traits/conditional.hpp>
31
- #include <boost/type_traits/make_unsigned.hpp>
32
- #include <boost/type_traits/is_signed.hpp>
33
- #include <boost/type_traits/is_arithmetic.hpp>
34
- #include <boost/type_traits/is_float.hpp>
29
+ #include <boost/lexical_cast/detail/type_traits.hpp>
35
30
 
36
31
  namespace boost { namespace detail {
37
32
 
@@ -46,14 +41,15 @@ bool ios_numeric_comparer_float(Source x, Source y) noexcept {
46
41
  template <class RangeType, class T>
47
42
  constexpr bool is_out_of_range_for(T value) noexcept {
48
43
  return value > static_cast<T>((std::numeric_limits<RangeType>::max)())
49
- || value < static_cast<T>((std::numeric_limits<RangeType>::min)());
44
+ || value < static_cast<T>((std::numeric_limits<RangeType>::min)())
45
+ || boost::core::isnan(value);
50
46
  }
51
47
 
52
48
 
53
49
  // integral -> integral
54
50
  template <typename Target, typename Source>
55
- typename boost::enable_if_c<
56
- !boost::is_floating_point<Source>::value && !boost::is_floating_point<Target>::value, bool
51
+ typename std::enable_if<
52
+ !std::is_floating_point<Source>::value && !std::is_floating_point<Target>::value, bool
57
53
  >::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
58
54
  const Target target_tmp = static_cast<Target>(arg);
59
55
  const Source arg_restored = static_cast<Source>(target_tmp);
@@ -66,8 +62,8 @@ typename boost::enable_if_c<
66
62
 
67
63
  // integral -> floating point
68
64
  template <typename Target, typename Source>
69
- typename boost::enable_if_c<
70
- !boost::is_floating_point<Source>::value && boost::is_floating_point<Target>::value, bool
65
+ typename std::enable_if<
66
+ !std::is_floating_point<Source>::value && std::is_floating_point<Target>::value, bool
71
67
  >::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
72
68
  const Target target_tmp = static_cast<Target>(arg);
73
69
  result = target_tmp;
@@ -77,8 +73,8 @@ typename boost::enable_if_c<
77
73
 
78
74
  // floating point -> floating point
79
75
  template <typename Target, typename Source>
80
- typename boost::enable_if_c<
81
- boost::is_floating_point<Source>::value && boost::is_floating_point<Target>::value, bool
76
+ typename std::enable_if<
77
+ std::is_floating_point<Source>::value && std::is_floating_point<Target>::value, bool
82
78
  >::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
83
79
  const Target target_tmp = static_cast<Target>(arg);
84
80
  const Source arg_restored = static_cast<Source>(target_tmp);
@@ -92,8 +88,8 @@ typename boost::enable_if_c<
92
88
 
93
89
  // floating point -> integral
94
90
  template <typename Target, typename Source>
95
- typename boost::enable_if_c<
96
- boost::is_floating_point<Source>::value && !boost::is_floating_point<Target>::value, bool
91
+ typename std::enable_if<
92
+ std::is_floating_point<Source>::value && !std::is_floating_point<Target>::value, bool
97
93
  >::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
98
94
  if (detail::is_out_of_range_for<Target>(arg)) {
99
95
  return false;
@@ -101,7 +97,7 @@ typename boost::enable_if_c<
101
97
 
102
98
  const Target target_tmp = static_cast<Target>(arg);
103
99
  const Source arg_restored = static_cast<Source>(target_tmp);
104
- if (detail::ios_numeric_comparer_float<Source, Target>(arg, arg_restored)) {
100
+ if (arg == arg_restored /* special values are handled in detail::is_out_of_range_for */) {
105
101
  result = target_tmp;
106
102
  return true;
107
103
  }
@@ -124,10 +120,10 @@ struct lexical_cast_dynamic_num_ignoring_minus
124
120
  __attribute__((no_sanitize("unsigned-integer-overflow")))
125
121
  #endif
126
122
  static inline bool try_convert(Source arg, Target& result) noexcept {
127
- typedef typename boost::conditional<
128
- boost::is_float<Source>::value,
129
- boost::type_identity<Source>,
130
- boost::make_unsigned<Source>
123
+ typedef typename std::conditional<
124
+ std::is_floating_point<Source>::value,
125
+ std::conditional<true, Source, Source>, // std::type_identity emulation
126
+ boost::detail::lcast::make_unsigned<Source>
131
127
  >::type usource_lazy_t;
132
128
  typedef typename usource_lazy_t::type usource_t;
133
129
 
@@ -165,11 +161,11 @@ template <typename Target, typename Source>
165
161
  struct dynamic_num_converter_impl
166
162
  {
167
163
  static inline bool try_convert(Source arg, Target& result) noexcept {
168
- typedef typename boost::conditional<
169
- boost::is_unsigned<Target>::value &&
170
- (boost::is_signed<Source>::value || boost::is_float<Source>::value) &&
171
- !(boost::is_same<Source, bool>::value) &&
172
- !(boost::is_same<Target, bool>::value),
164
+ typedef typename std::conditional<
165
+ boost::detail::lcast::is_unsigned<Target>::value &&
166
+ (boost::detail::lcast::is_signed<Source>::value || std::is_floating_point<Source>::value) &&
167
+ !(std::is_same<Source, bool>::value) &&
168
+ !(std::is_same<Target, bool>::value),
173
169
  lexical_cast_dynamic_num_ignoring_minus,
174
170
  lexical_cast_dynamic_num_not_ignoring_minus
175
171
  >::type caster_type;
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -18,32 +18,31 @@
18
18
  #ifndef BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
19
19
  #define BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
20
20
 
21
+ #include <type_traits>
22
+
21
23
  #include <boost/config.hpp>
22
24
  #ifdef BOOST_HAS_PRAGMA_ONCE
23
25
  # pragma once
24
26
  #endif
25
27
 
26
- #include <boost/type_traits/integral_constant.hpp>
27
- #include <boost/type_traits/is_same.hpp>
28
-
29
28
  namespace boost { namespace detail {
30
29
 
31
30
  // returns true, if T is one of the character types
32
31
  template < typename T >
33
- using is_character = boost::integral_constant<
32
+ using is_character = std::integral_constant<
34
33
  bool,
35
- boost::is_same< T, char >::value ||
34
+ std::is_same< T, char >::value ||
36
35
  #if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING)
37
- boost::is_same< T, wchar_t >::value ||
36
+ std::is_same< T, wchar_t >::value ||
38
37
  #endif
39
38
  #ifndef BOOST_NO_CXX11_CHAR16_T
40
- boost::is_same< T, char16_t >::value ||
39
+ std::is_same< T, char16_t >::value ||
41
40
  #endif
42
41
  #ifndef BOOST_NO_CXX11_CHAR32_T
43
- boost::is_same< T, char32_t >::value ||
42
+ std::is_same< T, char32_t >::value ||
44
43
  #endif
45
- boost::is_same< T, unsigned char >::value ||
46
- boost::is_same< T, signed char >::value
44
+ std::is_same< T, unsigned char >::value ||
45
+ std::is_same< T, signed char >::value
47
46
  >;
48
47
 
49
48
  }}
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -28,9 +28,10 @@
28
28
  #include <string>
29
29
  #include <cstring>
30
30
  #include <cstdio>
31
+ #include <type_traits>
31
32
  #include <boost/limits.hpp>
32
- #include <boost/type_traits/conditional.hpp>
33
33
  #include <boost/config/workaround.hpp>
34
+ #include <boost/lexical_cast/detail/type_traits.hpp>
34
35
 
35
36
 
36
37
  #ifndef BOOST_NO_STD_LOCALE
@@ -47,8 +48,6 @@
47
48
  #endif
48
49
 
49
50
  #include <boost/lexical_cast/detail/lcast_char_constants.hpp>
50
- #include <boost/type_traits/make_unsigned.hpp>
51
- #include <boost/type_traits/is_signed.hpp>
52
51
  #include <boost/core/noncopyable.hpp>
53
52
 
54
53
  namespace boost
@@ -60,8 +59,8 @@ namespace boost
60
59
  __attribute__((no_sanitize("unsigned-integer-overflow")))
61
60
  #endif
62
61
  inline
63
- typename boost::make_unsigned<T>::type lcast_to_unsigned(const T value) noexcept {
64
- typedef typename boost::make_unsigned<T>::type result_type;
62
+ typename boost::detail::lcast::make_unsigned<T>::type lcast_to_unsigned(const T value) noexcept {
63
+ typedef typename boost::detail::lcast::make_unsigned<T>::type result_type;
65
64
  return value < 0
66
65
  ? static_cast<result_type>(0u - static_cast<result_type>(value))
67
66
  : static_cast<result_type>(value);
@@ -73,7 +72,7 @@ namespace boost
73
72
  template <class Traits, class T, class CharT>
74
73
  class lcast_put_unsigned: boost::noncopyable {
75
74
  typedef typename Traits::int_type int_type;
76
- typename boost::conditional<
75
+ typename std::conditional<
77
76
  (sizeof(unsigned) > sizeof(T))
78
77
  , unsigned
79
78
  , T
@@ -0,0 +1,81 @@
1
+ // Copyright Peter Dimov, 2025.
2
+ // Copyright Romain Geissler, 2025.
3
+ //
4
+ // Distributed under the Boost Software License, Version 1.0. (See
5
+ // accompanying file LICENSE_1_0.txt or copy at
6
+ // http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ #ifndef BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
9
+ #define BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
10
+
11
+ #include <boost/config.hpp>
12
+ #ifdef BOOST_HAS_PRAGMA_ONCE
13
+ # pragma once
14
+ #endif
15
+
16
+ #include <type_traits>
17
+
18
+ namespace boost { namespace detail { namespace lcast {
19
+
20
+ // libstdc++ from gcc <= 15 doesn't provide support for __int128 in the standard traits,
21
+ // so define them explicitly.
22
+ // This was fixed with gcc >= 16, so we may eventually remove this workaround and use
23
+ // directly the standard type_traits.
24
+
25
+ template<class T> struct is_integral: public std::is_integral<T>
26
+ {
27
+ };
28
+
29
+ template<class T> struct is_signed: public std::is_signed<T>
30
+ {
31
+ };
32
+
33
+ template<class T> struct is_unsigned: public std::is_unsigned<T>
34
+ {
35
+ };
36
+
37
+ template<class T> struct make_unsigned: public std::make_unsigned<T>
38
+ {
39
+ };
40
+
41
+ #if defined(__SIZEOF_INT128__)
42
+
43
+ template<> struct is_integral<__int128_t>: public std::true_type
44
+ {
45
+ };
46
+
47
+ template<> struct is_integral<__uint128_t>: public std::true_type
48
+ {
49
+ };
50
+
51
+ template<> struct is_signed<__int128_t>: public std::true_type
52
+ {
53
+ };
54
+
55
+ template<> struct is_signed<__uint128_t>: public std::false_type
56
+ {
57
+ };
58
+
59
+ template<> struct is_unsigned<__int128_t>: public std::false_type
60
+ {
61
+ };
62
+
63
+ template<> struct is_unsigned<__uint128_t>: public std::true_type
64
+ {
65
+ };
66
+
67
+ template<> struct make_unsigned<__int128_t>
68
+ {
69
+ typedef __uint128_t type;
70
+ };
71
+
72
+ template<> struct make_unsigned<__uint128_t>
73
+ {
74
+ typedef __uint128_t type;
75
+ };
76
+
77
+ #endif
78
+
79
+ }}} // namespace boost::detail::lcast
80
+
81
+ #endif // BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
@@ -1,6 +1,6 @@
1
1
  // Copyright Kevlin Henney, 2000-2005.
2
2
  // Copyright Alexander Nasonov, 2006-2010.
3
- // Copyright Antony Polukhin, 2011-2024.
3
+ // Copyright Antony Polukhin, 2011-2025.
4
4
  //
5
5
  // Distributed under the Boost Software License, Version 1.0. (See
6
6
  // accompanying file LICENSE_1_0.txt or copy at
@@ -18,18 +18,18 @@
18
18
  #ifndef BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP
19
19
  #define BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP
20
20
 
21
+ #include <type_traits>
22
+
21
23
  #include <boost/config.hpp>
22
24
  #ifdef BOOST_HAS_PRAGMA_ONCE
23
25
  # pragma once
24
26
  #endif
25
27
 
26
28
 
27
- #include <boost/type_traits/conditional.hpp>
28
-
29
29
  namespace boost { namespace detail {
30
30
 
31
31
  template <typename TargetChar, typename SourceChar>
32
- using widest_char = boost::conditional<
32
+ using widest_char = std::conditional<
33
33
  (sizeof(TargetChar) > sizeof(SourceChar))
34
34
  , TargetChar
35
35
  , SourceChar