passenger 6.0.27 → 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 (482) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +42 -2
  3. data/CONTRIBUTORS +2 -0
  4. data/Rakefile +6 -13
  5. data/bin/passenger-install-apache2-module +21 -22
  6. data/bin/passenger-install-nginx-module +50 -47
  7. data/bin/passenger-status +9 -10
  8. data/build/common_library.rb +4 -4
  9. data/build/support/cxx_dependency_map.rb +3 -621
  10. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  11. data/build/test_basics.rb +4 -3
  12. data/dev/copy_boost_headers +54 -40
  13. data/dev/index_cxx_dependencies.rb +4 -0
  14. data/dev/ruby_server.rb +1 -1
  15. data/package.json +1 -1
  16. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Socket.h +3 -3
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -4
  19. data/src/agent/Core/Config.h +1 -6
  20. data/src/agent/Core/Controller/Config.h +1 -1
  21. data/src/agent/Core/CoreMain.cpp +1 -0
  22. data/src/agent/Core/SecurityUpdateChecker.h +10 -1
  23. data/src/agent/Core/SpawningKit/Exceptions.h +0 -1
  24. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  25. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +23 -5
  26. data/src/agent/Shared/Fundamentals/AbortHandler.h +10 -22
  27. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -0
  28. data/src/agent/Watchdog/Config.h +1 -1
  29. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  30. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  31. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +14 -0
  32. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
  33. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  34. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  35. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  36. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
  37. data/src/apache2_module/Hooks.cpp +0 -6
  38. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +2 -12
  39. data/src/cxx_supportlib/ConfigKit/Store.h +1 -6
  40. data/src/cxx_supportlib/Constants.h +1 -1
  41. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -7
  42. data/src/cxx_supportlib/Exceptions.cpp +178 -0
  43. data/src/cxx_supportlib/Exceptions.h +62 -177
  44. data/src/cxx_supportlib/IOTools/IOUtils.cpp +255 -228
  45. data/src/cxx_supportlib/IOTools/IOUtils.h +84 -121
  46. data/src/cxx_supportlib/ServerKit/Config.h +1 -6
  47. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  48. data/src/cxx_supportlib/StaticString.h +1 -6
  49. data/src/cxx_supportlib/Utils/Curl.h +1 -6
  50. data/src/cxx_supportlib/Utils/ScopeGuard.h +0 -32
  51. data/src/cxx_supportlib/oxt/implementation.cpp +2 -2
  52. data/src/cxx_supportlib/oxt/spin_lock.hpp +94 -23
  53. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  115. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  116. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  117. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  118. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  119. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  120. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  121. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  122. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  124. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  125. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  127. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  128. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  129. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  130. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  131. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  132. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  133. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  134. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  135. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  136. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  137. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  138. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  139. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  140. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  141. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  142. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  143. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  144. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  145. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  152. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  153. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  154. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  156. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  157. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  158. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  160. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  164. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  166. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  167. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  171. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  172. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  173. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  174. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  177. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  179. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  181. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  182. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  185. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  186. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  190. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  192. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  193. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  194. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  197. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  198. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  207. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  211. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  216. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  217. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  218. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  219. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  220. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  221. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  222. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  223. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  224. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  226. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  227. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  231. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  232. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  235. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  238. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  239. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  240. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  241. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  243. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  244. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  248. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  249. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  253. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  256. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  257. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  258. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  261. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  266. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  269. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  271. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  272. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  273. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  274. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  275. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  276. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  301. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  302. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  303. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  304. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  305. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  308. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  309. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  310. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  311. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  312. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  313. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  314. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  315. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  316. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  317. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  318. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  319. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  320. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  321. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  322. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  323. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  324. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  329. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  330. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  333. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  335. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  352. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  353. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  354. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  355. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  356. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  357. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  358. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  359. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  360. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  361. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  363. data/src/nginx_module/ContentHandler.c +2 -0
  364. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  365. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  366. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  367. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  368. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  369. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  370. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  371. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  372. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +12 -23
  373. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +31 -32
  374. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
  375. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  376. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  377. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  378. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  379. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  380. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  381. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  382. metadata +27 -104
  383. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +0 -75
  384. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +0 -85
  385. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +0 -38
  386. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +0 -111
  387. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  388. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  389. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  390. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  391. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  392. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  393. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  394. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  395. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  396. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  397. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  398. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  399. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  400. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  401. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  402. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  403. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  404. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  405. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  406. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  407. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  415. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  416. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  417. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  418. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  419. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  420. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  421. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  422. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  423. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  424. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  425. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  426. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  427. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  428. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  429. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  430. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  431. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  432. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  433. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  434. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  435. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  436. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  437. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  438. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  439. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  440. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  441. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  442. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  443. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  444. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  445. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  446. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  447. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  448. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  449. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  450. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  451. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  452. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  453. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  454. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  455. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  456. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  457. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  458. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  459. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  460. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  461. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  462. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  463. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  464. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  465. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  466. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  467. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  468. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  469. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  470. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  471. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  472. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  473. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  474. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  475. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  476. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  477. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  478. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  479. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  480. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  481. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  482. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -101,8 +101,18 @@ public:
101
101
  template<class URNG>
102
102
  RealType operator()(URNG& urng) const
103
103
  {
104
- RealType a = gamma_distribution<RealType>(_alpha, RealType(1.0))(urng);
105
- RealType b = gamma_distribution<RealType>(_beta, RealType(1.0))(urng);
104
+ const auto alpha_dist = gamma_distribution<RealType>(_alpha, RealType(1.0));
105
+ const auto beta_dist = gamma_distribution<RealType>(_beta, RealType(1.0));
106
+
107
+ RealType a = 0;
108
+ RealType b = 0;
109
+
110
+ do
111
+ {
112
+ a = alpha_dist(urng);
113
+ b = beta_dist(urng);
114
+ } while (a + b == RealType(0));
115
+
106
116
  return a / (a + b);
107
117
  }
108
118
 
@@ -16,3 +16,7 @@
16
16
  && !defined(BOOST_MSVC)
17
17
  #define BOOST_RANDOM_NO_STREAM_OPERATORS
18
18
  #endif
19
+
20
+ #if ((defined(__cplusplus) && __cplusplus >= 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L)) && (defined(__cpp_hex_float) && __cpp_hex_float >= 201603L)
21
+ # define BOOST_RANDOM_HAS_HEX_FLOAT
22
+ #endif
@@ -0,0 +1,41 @@
1
+ /*
2
+ * Copyright Matt Borland 2025.
3
+ * Distributed under the Boost Software License, Version 1.0. (See
4
+ * accompanying file LICENSE_1_0.txt or copy at
5
+ * http://www.boost.org/LICENSE_1_0.txt)
6
+ *
7
+ * See http://www.boost.org for most recent version including documentation.
8
+ *
9
+ * $Id$
10
+ */
11
+
12
+ #include <iterator>
13
+ #include <cstddef>
14
+
15
+ namespace boost {
16
+ namespace random {
17
+ namespace detail {
18
+
19
+ #if defined (__cpp_lib_nonmember_container_access) && __cpp_lib_nonmember_container_access >= 201411L
20
+
21
+ using std::size;
22
+
23
+ #else
24
+
25
+ template <typename C>
26
+ constexpr auto size(const C& c) -> decltype(c.size())
27
+ {
28
+ return c.size();
29
+ }
30
+
31
+ template <typename T, std::size_t N>
32
+ constexpr std::size_t size(const T (&)[N]) noexcept
33
+ {
34
+ return N;
35
+ }
36
+
37
+ #endif
38
+
39
+ } // namespace detail
40
+ } // namespace random
41
+ } // namespace boost
@@ -0,0 +1,472 @@
1
+ /*
2
+ * Copyright Matt Borland 2022 - 2025.
3
+ * Distributed under the Boost Software License, Version 1.0. (See
4
+ * accompanying file LICENSE_1_0.txt or copy at
5
+ * http://www.boost.org/LICENSE_1_0.txt)
6
+ *
7
+ * See http://www.boost.org for most recent version including documentation.
8
+ *
9
+ * $Id$
10
+ */
11
+
12
+ #ifndef BOOST_RANDOM_DETAIL_XOSHIRO_BASE
13
+ #define BOOST_RANDOM_DETAIL_XOSHIRO_BASE
14
+
15
+ #include <boost/random/splitmix64.hpp>
16
+ #include <boost/random/detail/seed.hpp>
17
+ #include <boost/throw_exception.hpp>
18
+ #include <boost/config.hpp>
19
+ #include <array>
20
+ #include <utility>
21
+ #include <stdexcept>
22
+ #include <limits>
23
+ #include <initializer_list>
24
+ #include <cstdint>
25
+ #include <cstdlib>
26
+ #include <string>
27
+ #include <ios>
28
+ #include <istream>
29
+ #include <type_traits>
30
+ #include <iterator>
31
+
32
+ namespace boost {
33
+ namespace random {
34
+ namespace detail {
35
+
36
+ // N is the number of words (e.g. for xoshiro 256 N=4)
37
+ template <typename Derived, std::size_t N, typename OutputType = std::uint64_t, typename BlockType = std::uint64_t>
38
+ class xoshiro_base
39
+ {
40
+ protected:
41
+
42
+ std::array<BlockType, N> state_;
43
+
44
+ private:
45
+
46
+ using xoshiro_type = std::integral_constant<BlockType, N>;
47
+
48
+ inline std::uint64_t concatenate(std::uint32_t word1, std::uint32_t word2) noexcept
49
+ {
50
+ return static_cast<std::uint64_t>(word1) << 32U | word2;
51
+ }
52
+
53
+ template <typename Sseq>
54
+ inline void sseq_seed_64(Sseq& seq)
55
+ {
56
+ std::array<std::uint32_t, N * 2> seeds;
57
+ seq.generate(seeds.begin(), seeds.end());
58
+
59
+ for (std::size_t i = 0; i < state_.size(); ++i)
60
+ {
61
+ state_[i] = concatenate(seeds[2*i], seeds[2*i + 1]);
62
+ }
63
+ }
64
+
65
+ template <typename Sseq>
66
+ inline void sseq_seed_32(Sseq& seq)
67
+ {
68
+ seq.generate(state_.begin(), state_.end());
69
+ }
70
+
71
+ inline void jump_impl(const std::integral_constant<std::uint64_t, 4>&) noexcept
72
+ {
73
+ constexpr std::array<std::uint64_t, 4U> jump = {{ UINT64_C(0x180ec6d33cfd0aba), UINT64_C(0xd5a61266f0c9392c),
74
+ UINT64_C(0xa9582618e03fc9aa), UINT64_C(0x39abdc4529b1661c) }};
75
+
76
+ std::uint64_t s0 = 0;
77
+ std::uint64_t s1 = 0;
78
+ std::uint64_t s2 = 0;
79
+ std::uint64_t s3 = 0;
80
+
81
+ for (std::uint64_t i = 0; i < jump.size(); i++)
82
+ {
83
+ for (std::size_t b = 0; b < 64U; b++)
84
+ {
85
+ if (jump[i] & UINT64_C(1) << b) {
86
+ s0 ^= state_[0];
87
+ s1 ^= state_[1];
88
+ s2 ^= state_[2];
89
+ s3 ^= state_[3];
90
+ }
91
+
92
+ next();
93
+ }
94
+ }
95
+
96
+ state_[0] = s0;
97
+ state_[1] = s1;
98
+ state_[2] = s2;
99
+ state_[3] = s3;
100
+ }
101
+
102
+ inline void jump_impl(const std::integral_constant<std::uint64_t, 8>&) noexcept
103
+ {
104
+ constexpr std::array<std::uint64_t, 8U> jump = {{ UINT64_C(0x33ed89b6e7a353f9), UINT64_C(0x760083d7955323be),
105
+ UINT64_C(0x2837f2fbb5f22fae), UINT64_C(0x4b8c5674d309511c),
106
+ UINT64_C(0xb11ac47a7ba28c25), UINT64_C(0xf1be7667092bcc1c),
107
+ UINT64_C(0x53851efdb6df0aaf), UINT64_C(0x1ebbc8b23eaf25db) }};
108
+
109
+ std::array<std::uint64_t, 8U> t = {{ 0, 0, 0, 0, 0, 0, 0, 0 }};
110
+
111
+ for (std::size_t i = 0; i < jump.size(); ++i)
112
+ {
113
+ for (std::size_t b = 0; b < 64U; ++b)
114
+ {
115
+ if (jump[i] & UINT64_C(1) << b)
116
+ {
117
+ for (std::size_t w = 0; w < state_.size(); ++w)
118
+ {
119
+ t[w] ^= state_[w];
120
+ }
121
+ }
122
+
123
+ next();
124
+ }
125
+ }
126
+
127
+ state_ = t;
128
+ }
129
+
130
+ inline void long_jump_impl(const std::integral_constant<std::uint64_t, 4>&) noexcept
131
+ {
132
+ constexpr std::array<std::uint64_t, 4> long_jump = {{ UINT64_C(0x76e15d3efefdcbbf), UINT64_C(0xc5004e441c522fb3),
133
+ UINT64_C(0x77710069854ee241), UINT64_C(0x39109bb02acbe635) }};
134
+
135
+ std::uint64_t s0 = 0;
136
+ std::uint64_t s1 = 0;
137
+ std::uint64_t s2 = 0;
138
+ std::uint64_t s3 = 0;
139
+
140
+ for (std::size_t i = 0; i < long_jump.size(); i++)
141
+ {
142
+ for (std::size_t b = 0; b < 64; b++)
143
+ {
144
+ if (long_jump[i] & UINT64_C(1) << b)
145
+ {
146
+ s0 ^= state_[0];
147
+ s1 ^= state_[1];
148
+ s2 ^= state_[2];
149
+ s3 ^= state_[3];
150
+ }
151
+
152
+ next();
153
+ }
154
+ }
155
+
156
+ state_[0] = s0;
157
+ state_[1] = s1;
158
+ state_[2] = s2;
159
+ state_[3] = s3;
160
+ }
161
+
162
+ inline void long_jump_impl(const std::integral_constant<std::uint64_t, 8>&) noexcept
163
+ {
164
+ constexpr std::array<std::uint64_t, 8U> long_jump = {{ UINT64_C(0x11467fef8f921d28), UINT64_C(0xa2a819f2e79c8ea8),
165
+ UINT64_C(0xa8299fc284b3959a), UINT64_C(0xb4d347340ca63ee1),
166
+ UINT64_C(0x1cb0940bedbff6ce), UINT64_C(0xd956c5c4fa1f8e17),
167
+ UINT64_C(0x915e38fd4eda93bc), UINT64_C(0x5b3ccdfa5d7daca5) }};
168
+
169
+ std::array<std::uint64_t, 8U> t = {{ 0, 0, 0, 0, 0, 0, 0, 0 }};
170
+
171
+ for (std::size_t i = 0; i < long_jump.size(); ++i)
172
+ {
173
+ for (std::size_t b = 0; b < 64U; ++b)
174
+ {
175
+ if (long_jump[i] & UINT64_C(1) << b)
176
+ {
177
+ for (std::size_t w = 0; w < state_.size(); ++w)
178
+ {
179
+ t[w] ^= state_[w];
180
+ }
181
+ }
182
+
183
+ next();
184
+ }
185
+ }
186
+
187
+ state_ = t;
188
+ }
189
+
190
+ inline void jump_impl(const std::integral_constant<std::uint32_t, 4>&) noexcept
191
+ {
192
+ constexpr std::array<std::uint32_t, 4> jump = {{ UINT32_C(0x8764000b), UINT32_C(0xf542d2d3),
193
+ UINT32_C(0x6fa035c3), UINT32_C(0x77f2db5b) }};
194
+
195
+ std::uint32_t s0 = 0;
196
+ std::uint32_t s1 = 0;
197
+ std::uint32_t s2 = 0;
198
+ std::uint32_t s3 = 0;
199
+
200
+ for (std::size_t i = 0; i < jump.size(); i++)
201
+ {
202
+ for (std::size_t b = 0; b < 32U; b++)
203
+ {
204
+ if (jump[i] & UINT32_C(1) << b)
205
+ {
206
+ s0 ^= state_[0];
207
+ s1 ^= state_[1];
208
+ s2 ^= state_[2];
209
+ s3 ^= state_[3];
210
+ }
211
+
212
+ next();
213
+ }
214
+ }
215
+
216
+ state_[0] = s0;
217
+ state_[1] = s1;
218
+ state_[2] = s2;
219
+ state_[3] = s3;
220
+ }
221
+
222
+ inline void long_jump_impl(const std::integral_constant<std::uint32_t, 4>&) noexcept
223
+ {
224
+ constexpr std::array<std::uint32_t, 4> jump = {{ UINT32_C(0xb523952e), UINT32_C(0x0b6f099f),
225
+ UINT32_C(0xccf5a0ef), UINT32_C(0x1c580662) }};
226
+
227
+ std::uint32_t s0 = 0;
228
+ std::uint32_t s1 = 0;
229
+ std::uint32_t s2 = 0;
230
+ std::uint32_t s3 = 0;
231
+
232
+ for (std::size_t i = 0; i < jump.size(); i++)
233
+ {
234
+ for (std::size_t b = 0; b < 32; b++)
235
+ {
236
+ if (jump[i] & UINT32_C(1) << b)
237
+ {
238
+ s0 ^= state_[0];
239
+ s1 ^= state_[1];
240
+ s2 ^= state_[2];
241
+ s3 ^= state_[3];
242
+ }
243
+
244
+ next();
245
+ }
246
+ }
247
+
248
+ state_[0] = s0;
249
+ state_[1] = s1;
250
+ state_[2] = s2;
251
+ state_[3] = s3;
252
+ }
253
+
254
+ public:
255
+
256
+ using result_type = OutputType;
257
+ using seed_type = BlockType;
258
+
259
+ static constexpr bool has_fixed_range {false};
260
+
261
+ /** Seeds the generator using the default seed of boost::random::splitmix64 */
262
+ void seed()
263
+ {
264
+ splitmix64 gen;
265
+ for (auto& i : state_)
266
+ {
267
+ i = static_cast<seed_type>(gen());
268
+ }
269
+ }
270
+
271
+ /** Seeds the generator with a user provided seed. */
272
+ void seed(const seed_type value)
273
+ {
274
+ splitmix64 gen(value);
275
+ for (auto& i : state_)
276
+ {
277
+ i = static_cast<seed_type>(gen());
278
+ }
279
+ }
280
+
281
+ /**
282
+ * Seeds the generator with 32-bit values produced by @c seq.generate().
283
+ */
284
+ template <typename Sseq, typename std::enable_if<!std::is_convertible<Sseq, seed_type>::value, bool>::type = true>
285
+ void seed(Sseq& seq)
286
+ {
287
+ BOOST_IF_CONSTEXPR (std::is_same<BlockType, std::uint64_t>::value)
288
+ {
289
+ sseq_seed_64(seq);
290
+ }
291
+ else
292
+ {
293
+ sseq_seed_32(seq);
294
+ }
295
+ }
296
+
297
+ /** Sets the state of the generator using values from an iterator range. */
298
+ template <typename FIter>
299
+ void seed(FIter first, FIter last)
300
+ {
301
+ static_assert(std::is_integral<typename std::iterator_traits<FIter>::value_type>::value,
302
+ "Value type must be a built-in integer type" );
303
+
304
+ std::size_t offset = 0;
305
+ while (first != last && offset < state_.size())
306
+ {
307
+ state_[offset++] = static_cast<seed_type>(*first++);
308
+ }
309
+
310
+ if (offset != state_.size())
311
+ {
312
+ boost::throw_exception(std::invalid_argument("Not enough elements in call to seed."));
313
+ }
314
+ }
315
+
316
+ /**
317
+ * Constructs a @c xoshiro and calls @c seed().
318
+ */
319
+ xoshiro_base() { seed(); }
320
+
321
+ /** Seeds the generator with a user provided seed. */
322
+ explicit xoshiro_base(const seed_type value)
323
+ {
324
+ seed(value);
325
+ }
326
+
327
+ template <typename FIter>
328
+ xoshiro_base(FIter& first, FIter last) { seed(first, last); }
329
+
330
+ /**
331
+ * Seeds the generator with 64-bit values produced by @c seq.generate().
332
+ *
333
+ * @xmlnote
334
+ * The copy constructor will always be preferred over
335
+ * the templated constructor.
336
+ * @endxmlnote
337
+ */
338
+ template <typename Sseq, typename std::enable_if<!std::is_convertible<Sseq, xoshiro_base>::value, bool>::type = true>
339
+ explicit xoshiro_base(Sseq& seq)
340
+ {
341
+ seed(seq);
342
+ }
343
+
344
+ // Hit all of our rule of 5 explicitly to ensure old platforms work correctly
345
+ ~xoshiro_base() = default;
346
+ xoshiro_base(const xoshiro_base& other) noexcept { state_ = other.state(); }
347
+ xoshiro_base& operator=(const xoshiro_base& other) noexcept { state_ = other.state(); return *this; }
348
+ xoshiro_base(xoshiro_base&& other) noexcept { state_ = other.state(); }
349
+ xoshiro_base& operator=(xoshiro_base&& other) noexcept { state_ = other.state(); return *this; }
350
+
351
+ inline result_type next() noexcept
352
+ {
353
+ return static_cast<Derived*>(this)->next();
354
+ }
355
+
356
+ /** This is the jump function for the generator. It is equivalent
357
+ * to 2^128 calls to next(); it can be used to generate 2^128
358
+ * non-overlapping subsequences for parallel computations. */
359
+ inline void jump() noexcept
360
+ {
361
+ jump_impl(xoshiro_type());
362
+ }
363
+
364
+ /** This is the long-jump function for the generator. It is equivalent to
365
+ * 2^192 calls to next(); it can be used to generate 2^64 starting points,
366
+ * from each of which jump() will generate 2^64 non-overlapping
367
+ * subsequences for parallel distributed computations. */
368
+ inline void long_jump() noexcept
369
+ {
370
+ long_jump_impl(xoshiro_type());
371
+ }
372
+
373
+ /** Returns the next value of the generator. */
374
+ inline result_type operator()() noexcept
375
+ {
376
+ return next();
377
+ }
378
+
379
+ /** Advances the state of the generator by @c z. */
380
+ inline void discard(const std::uint64_t z) noexcept
381
+ {
382
+ for (std::uint64_t i {}; i < z; ++i)
383
+ {
384
+ next();
385
+ }
386
+ }
387
+
388
+ /**
389
+ * Returns true if the two generators will produce identical
390
+ * sequences of values.
391
+ */
392
+ inline friend bool operator==(const xoshiro_base& lhs, const xoshiro_base& rhs) noexcept
393
+ {
394
+ return lhs.state_ == rhs.state_;
395
+ }
396
+
397
+ /**
398
+ * Returns true if the two generators will produce different
399
+ * sequences of values.
400
+ */
401
+ inline friend bool operator!=(const xoshiro_base& lhs, const xoshiro_base& rhs) noexcept
402
+ {
403
+ return lhs.state_ != rhs.state_;
404
+ }
405
+
406
+ /** Writes a @c xorshiro to a @c std::ostream. */
407
+ template <typename CharT, typename Traits>
408
+ inline friend std::basic_ostream<CharT, Traits>& operator<<(std::basic_ostream<CharT, Traits>& ost,
409
+ const xoshiro_base& e)
410
+ {
411
+ for (std::size_t i {}; i < e.state_.size(); ++i)
412
+ {
413
+ ost << e.state_[i] << ' ';
414
+ }
415
+
416
+ return ost;
417
+ }
418
+
419
+ /** Reads a @c xorshiro from a @c std::istream. */
420
+ template <typename CharT, typename Traits>
421
+ inline friend std::basic_istream<CharT, Traits>& operator>>(std::basic_istream<CharT, Traits>& ist,
422
+ xoshiro_base& e)
423
+ {
424
+ for (std::size_t i {}; i < e.state_.size(); ++i)
425
+ {
426
+ ist >> e.state_[i] >> std::ws;
427
+ }
428
+
429
+ return ist;
430
+ }
431
+
432
+ /** Fills a range with random values */
433
+ template <typename FIter>
434
+ inline void generate(FIter first, FIter last) noexcept
435
+ {
436
+ using iter_type = typename std::iterator_traits<FIter>::value_type;
437
+
438
+ while (first != last)
439
+ {
440
+ *first++ = static_cast<iter_type>(next());
441
+ }
442
+ }
443
+
444
+ /**
445
+ * Returns the largest value that the @c xorshiro
446
+ * can produce.
447
+ */
448
+ static constexpr result_type (max)() noexcept
449
+ {
450
+ return (std::numeric_limits<result_type>::max)();
451
+ }
452
+
453
+ /**
454
+ * Returns the smallest value that the @c xorshiro
455
+ * can produce.
456
+ */
457
+ static constexpr result_type (min)() noexcept
458
+ {
459
+ return (std::numeric_limits<result_type>::min)();
460
+ }
461
+
462
+ inline std::array<BlockType, N> state() const noexcept
463
+ {
464
+ return state_;
465
+ }
466
+ };
467
+
468
+ } // namespace detail
469
+ } // namespace random
470
+ } // namespace boost
471
+
472
+ #endif
@@ -29,9 +29,6 @@
29
29
  #include <initializer_list>
30
30
  #endif
31
31
 
32
- #include <boost/range/begin.hpp>
33
- #include <boost/range/end.hpp>
34
-
35
32
  #include <boost/random/detail/disable_warnings.hpp>
36
33
 
37
34
  namespace boost {
@@ -268,7 +265,7 @@ public:
268
265
  */
269
266
  template<class Range>
270
267
  explicit param_type(const Range& range)
271
- : _probabilities(boost::begin(range), boost::end(range))
268
+ : _probabilities(std::begin(range), std::end(range))
272
269
  {
273
270
  normalize();
274
271
  }
@@ -308,7 +305,7 @@ public:
308
305
  detail::print_vector(os, parm._probabilities);
309
306
  return os;
310
307
  }
311
-
308
+
312
309
  /** Reads the parameters from a @c std::istream. */
313
310
  BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR(is, param_type, parm)
314
311
  {
@@ -389,7 +386,7 @@ public:
389
386
  template<class Range>
390
387
  explicit discrete_distribution(const Range& range)
391
388
  {
392
- init(boost::begin(range), boost::end(range));
389
+ init(std::begin(range), std::end(range));
393
390
  }
394
391
  /**
395
392
  * Constructs a discrete_distribution that approximates a function.
@@ -440,7 +437,7 @@ public:
440
437
  return(_impl._alias_table[static_cast<std::size_t>(result)].second);
441
438
  }
442
439
  }
443
-
440
+
444
441
  /**
445
442
  * Returns a value distributed according to the parameters
446
443
  * specified by param.
@@ -472,7 +469,7 @@ public:
472
469
  return discrete_distribution(parm)(urng);
473
470
  }
474
471
  }
475
-
472
+
476
473
  /** Returns the smallest value that the distribution can produce. */
477
474
  result_type min BOOST_PREVENT_MACRO_SUBSTITUTION () const { return 0; }
478
475
  /** Returns the largest value that the distribution can produce. */
@@ -520,7 +517,7 @@ public:
520
517
  {
521
518
  init(parm._probabilities.begin(), parm._probabilities.end());
522
519
  }
523
-
520
+
524
521
  /**
525
522
  * Effects: Subsequent uses of the distribution do not depend
526
523
  * on values produced by any engine prior to invoking reset.
@@ -576,7 +573,7 @@ private:
576
573
  std::vector<std::pair<WeightType, IntType> > above_average;
577
574
  below_average.reserve(input_size);
578
575
  above_average.reserve(input_size);
579
-
576
+
580
577
  WeightType weight_average = _impl.init_average(first, last);
581
578
  WeightType normalized_average = _impl.get_weight(0);
582
579
  std::size_t i = 0;
@@ -159,7 +159,7 @@ public:
159
159
  * the gamma distribution.
160
160
  */
161
161
  template<class Engine>
162
- result_type operator()(Engine& eng)
162
+ result_type operator()(Engine& eng) const
163
163
  {
164
164
  #ifndef BOOST_NO_STDC_NAMESPACE
165
165
  // allow for Koenig lookup