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,716 +0,0 @@
1
- /*
2
- *
3
- * Copyright (c) 1998-2009
4
- * John Maddock
5
- *
6
- * Use, modification and distribution are subject to the
7
- * Boost Software License, Version 1.0. (See accompanying file
8
- * LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
9
- *
10
- */
11
-
12
- /*
13
- * LOCATION: see http://www.boost.org for most recent version.
14
- * FILE match_results.cpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Declares template class match_results.
17
- */
18
-
19
- #ifndef BOOST_REGEX_V4_MATCH_RESULTS_HPP
20
- #define BOOST_REGEX_V4_MATCH_RESULTS_HPP
21
-
22
- #ifdef BOOST_MSVC
23
- #pragma warning(push)
24
- #pragma warning(disable: 4103)
25
- #endif
26
- #ifdef BOOST_HAS_ABI_HEADERS
27
- # include BOOST_ABI_PREFIX
28
- #endif
29
- #ifdef BOOST_MSVC
30
- #pragma warning(pop)
31
- #endif
32
-
33
- namespace boost{
34
- #ifdef BOOST_MSVC
35
- #pragma warning(push)
36
- #pragma warning(disable : 4251)
37
- #if BOOST_MSVC < 1700
38
- # pragma warning(disable : 4231)
39
- #endif
40
- # if BOOST_MSVC < 1600
41
- # pragma warning(disable : 4660)
42
- # endif
43
- #endif
44
-
45
- namespace BOOST_REGEX_DETAIL_NS{
46
-
47
- class named_subexpressions;
48
-
49
- }
50
-
51
- template <class BidiIterator, class Allocator>
52
- class match_results
53
- {
54
- private:
55
- #ifndef BOOST_NO_STD_ALLOCATOR
56
- typedef std::vector<sub_match<BidiIterator>, Allocator> vector_type;
57
- #else
58
- typedef std::vector<sub_match<BidiIterator> > vector_type;
59
- #endif
60
- public:
61
- typedef sub_match<BidiIterator> value_type;
62
- #ifndef BOOST_NO_CXX11_ALLOCATOR
63
- typedef typename std::allocator_traits<Allocator>::value_type const & const_reference;
64
- #elif !defined(BOOST_NO_STD_ALLOCATOR) && !(defined(BOOST_MSVC) && defined(_STLPORT_VERSION))
65
- typedef typename Allocator::const_reference const_reference;
66
- #else
67
- typedef const value_type& const_reference;
68
- #endif
69
- typedef const_reference reference;
70
- typedef typename vector_type::const_iterator const_iterator;
71
- typedef const_iterator iterator;
72
- typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<
73
- BidiIterator>::difference_type difference_type;
74
- #ifdef BOOST_NO_CXX11_ALLOCATOR
75
- typedef typename Allocator::size_type size_type;
76
- #else
77
- typedef typename std::allocator_traits<Allocator>::size_type size_type;
78
- #endif
79
- typedef Allocator allocator_type;
80
- typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<
81
- BidiIterator>::value_type char_type;
82
- typedef std::basic_string<char_type> string_type;
83
- typedef BOOST_REGEX_DETAIL_NS::named_subexpressions named_sub_type;
84
-
85
- // construct/copy/destroy:
86
- explicit match_results(const Allocator& a = Allocator())
87
- #ifndef BOOST_NO_STD_ALLOCATOR
88
- : m_subs(a), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) {}
89
- #else
90
- : m_subs(), m_base(), m_null(), m_last_closed_paren(0), m_is_singular(true) { (void)a; }
91
- #endif
92
- //
93
- // IMPORTANT: in the code below, the crazy looking checks around m_is_singular are
94
- // all required because it is illegal to copy a singular iterator.
95
- // See https://svn.boost.org/trac/boost/ticket/3632.
96
- //
97
- match_results(const match_results& m)
98
- : m_subs(m.m_subs), m_base(), m_null(), m_named_subs(m.m_named_subs), m_last_closed_paren(m.m_last_closed_paren), m_is_singular(m.m_is_singular)
99
- {
100
- if(!m_is_singular)
101
- {
102
- m_base = m.m_base;
103
- m_null = m.m_null;
104
- }
105
- }
106
- match_results& operator=(const match_results& m)
107
- {
108
- m_subs = m.m_subs;
109
- m_named_subs = m.m_named_subs;
110
- m_last_closed_paren = m.m_last_closed_paren;
111
- m_is_singular = m.m_is_singular;
112
- if(!m_is_singular)
113
- {
114
- m_base = m.m_base;
115
- m_null = m.m_null;
116
- }
117
- return *this;
118
- }
119
- ~match_results(){}
120
-
121
- // size:
122
- size_type size() const
123
- { return empty() ? 0 : m_subs.size() - 2; }
124
- size_type max_size() const
125
- { return m_subs.max_size(); }
126
- bool empty() const
127
- { return m_subs.size() < 2; }
128
- // element access:
129
- difference_type length(int sub = 0) const
130
- {
131
- if(m_is_singular)
132
- raise_logic_error();
133
- sub += 2;
134
- if((sub < (int)m_subs.size()) && (sub > 0))
135
- return m_subs[sub].length();
136
- return 0;
137
- }
138
- difference_type length(const char_type* sub) const
139
- {
140
- if(m_is_singular)
141
- raise_logic_error();
142
- const char_type* sub_end = sub;
143
- while(*sub_end) ++sub_end;
144
- return length(named_subexpression_index(sub, sub_end));
145
- }
146
- template <class charT>
147
- difference_type length(const charT* sub) const
148
- {
149
- if(m_is_singular)
150
- raise_logic_error();
151
- const charT* sub_end = sub;
152
- while(*sub_end) ++sub_end;
153
- return length(named_subexpression_index(sub, sub_end));
154
- }
155
- template <class charT, class Traits, class A>
156
- difference_type length(const std::basic_string<charT, Traits, A>& sub) const
157
- {
158
- return length(sub.c_str());
159
- }
160
- difference_type position(size_type sub = 0) const
161
- {
162
- if(m_is_singular)
163
- raise_logic_error();
164
- sub += 2;
165
- if(sub < m_subs.size())
166
- {
167
- const sub_match<BidiIterator>& s = m_subs[sub];
168
- if(s.matched || (sub == 2))
169
- {
170
- return ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)(m_base), (BidiIterator)(s.first));
171
- }
172
- }
173
- return ~static_cast<difference_type>(0);
174
- }
175
- difference_type position(const char_type* sub) const
176
- {
177
- const char_type* sub_end = sub;
178
- while(*sub_end) ++sub_end;
179
- return position(named_subexpression_index(sub, sub_end));
180
- }
181
- template <class charT>
182
- difference_type position(const charT* sub) const
183
- {
184
- const charT* sub_end = sub;
185
- while(*sub_end) ++sub_end;
186
- return position(named_subexpression_index(sub, sub_end));
187
- }
188
- template <class charT, class Traits, class A>
189
- difference_type position(const std::basic_string<charT, Traits, A>& sub) const
190
- {
191
- return position(sub.c_str());
192
- }
193
- string_type str(int sub = 0) const
194
- {
195
- if(m_is_singular)
196
- raise_logic_error();
197
- sub += 2;
198
- string_type result;
199
- if(sub < (int)m_subs.size() && (sub > 0))
200
- {
201
- const sub_match<BidiIterator>& s = m_subs[sub];
202
- if(s.matched)
203
- {
204
- result = s.str();
205
- }
206
- }
207
- return result;
208
- }
209
- string_type str(const char_type* sub) const
210
- {
211
- return (*this)[sub].str();
212
- }
213
- template <class Traits, class A>
214
- string_type str(const std::basic_string<char_type, Traits, A>& sub) const
215
- {
216
- return (*this)[sub].str();
217
- }
218
- template <class charT>
219
- string_type str(const charT* sub) const
220
- {
221
- return (*this)[sub].str();
222
- }
223
- template <class charT, class Traits, class A>
224
- string_type str(const std::basic_string<charT, Traits, A>& sub) const
225
- {
226
- return (*this)[sub].str();
227
- }
228
- const_reference operator[](int sub) const
229
- {
230
- if(m_is_singular && m_subs.empty())
231
- raise_logic_error();
232
- sub += 2;
233
- if(sub < (int)m_subs.size() && (sub >= 0))
234
- {
235
- return m_subs[sub];
236
- }
237
- return m_null;
238
- }
239
- //
240
- // Named sub-expressions:
241
- //
242
- const_reference named_subexpression(const char_type* i, const char_type* j) const
243
- {
244
- //
245
- // Scan for the leftmost *matched* subexpression with the specified named:
246
- //
247
- if(m_is_singular)
248
- raise_logic_error();
249
- BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type r = m_named_subs->equal_range(i, j);
250
- while((r.first != r.second) && ((*this)[r.first->index].matched == false))
251
- ++r.first;
252
- return r.first != r.second ? (*this)[r.first->index] : m_null;
253
- }
254
- template <class charT>
255
- const_reference named_subexpression(const charT* i, const charT* j) const
256
- {
257
- BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
258
- if(i == j)
259
- return m_null;
260
- std::vector<char_type> s;
261
- while(i != j)
262
- s.insert(s.end(), *i++);
263
- return named_subexpression(&*s.begin(), &*s.begin() + s.size());
264
- }
265
- int named_subexpression_index(const char_type* i, const char_type* j) const
266
- {
267
- //
268
- // Scan for the leftmost *matched* subexpression with the specified named.
269
- // If none found then return the leftmost expression with that name,
270
- // otherwise an invalid index:
271
- //
272
- if(m_is_singular)
273
- raise_logic_error();
274
- BOOST_REGEX_DETAIL_NS::named_subexpressions::range_type s, r;
275
- s = r = m_named_subs->equal_range(i, j);
276
- while((r.first != r.second) && ((*this)[r.first->index].matched == false))
277
- ++r.first;
278
- if(r.first == r.second)
279
- r = s;
280
- return r.first != r.second ? r.first->index : -20;
281
- }
282
- template <class charT>
283
- int named_subexpression_index(const charT* i, const charT* j) const
284
- {
285
- BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
286
- if(i == j)
287
- return -20;
288
- std::vector<char_type> s;
289
- while(i != j)
290
- s.insert(s.end(), *i++);
291
- return named_subexpression_index(&*s.begin(), &*s.begin() + s.size());
292
- }
293
- template <class Traits, class A>
294
- const_reference operator[](const std::basic_string<char_type, Traits, A>& s) const
295
- {
296
- return named_subexpression(s.c_str(), s.c_str() + s.size());
297
- }
298
- const_reference operator[](const char_type* p) const
299
- {
300
- const char_type* e = p;
301
- while(*e) ++e;
302
- return named_subexpression(p, e);
303
- }
304
-
305
- template <class charT>
306
- const_reference operator[](const charT* p) const
307
- {
308
- BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
309
- if(*p == 0)
310
- return m_null;
311
- std::vector<char_type> s;
312
- while(*p)
313
- s.insert(s.end(), *p++);
314
- return named_subexpression(&*s.begin(), &*s.begin() + s.size());
315
- }
316
- template <class charT, class Traits, class A>
317
- const_reference operator[](const std::basic_string<charT, Traits, A>& ns) const
318
- {
319
- BOOST_STATIC_ASSERT(sizeof(charT) <= sizeof(char_type));
320
- if(ns.empty())
321
- return m_null;
322
- std::vector<char_type> s;
323
- for(unsigned i = 0; i < ns.size(); ++i)
324
- s.insert(s.end(), ns[i]);
325
- return named_subexpression(&*s.begin(), &*s.begin() + s.size());
326
- }
327
-
328
- const_reference prefix() const
329
- {
330
- if(m_is_singular)
331
- raise_logic_error();
332
- return (*this)[-1];
333
- }
334
-
335
- const_reference suffix() const
336
- {
337
- if(m_is_singular)
338
- raise_logic_error();
339
- return (*this)[-2];
340
- }
341
- const_iterator begin() const
342
- {
343
- return (m_subs.size() > 2) ? (m_subs.begin() + 2) : m_subs.end();
344
- }
345
- const_iterator end() const
346
- {
347
- return m_subs.end();
348
- }
349
- // format:
350
- template <class OutputIterator, class Functor>
351
- OutputIterator format(OutputIterator out,
352
- Functor fmt,
353
- match_flag_type flags = format_default) const
354
- {
355
- if(m_is_singular)
356
- raise_logic_error();
357
- typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator>::type F;
358
- F func(fmt);
359
- return func(*this, out, flags);
360
- }
361
- template <class Functor>
362
- string_type format(Functor fmt, match_flag_type flags = format_default) const
363
- {
364
- if(m_is_singular)
365
- raise_logic_error();
366
- std::basic_string<char_type> result;
367
- BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > i(result);
368
-
369
- typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > >::type F;
370
- F func(fmt);
371
-
372
- func(*this, i, flags);
373
- return result;
374
- }
375
- // format with locale:
376
- template <class OutputIterator, class Functor, class RegexT>
377
- OutputIterator format(OutputIterator out,
378
- Functor fmt,
379
- match_flag_type flags,
380
- const RegexT& re) const
381
- {
382
- if(m_is_singular)
383
- raise_logic_error();
384
- typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;
385
- typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, OutputIterator, traits_type>::type F;
386
- F func(fmt);
387
- return func(*this, out, flags, re.get_traits());
388
- }
389
- template <class RegexT, class Functor>
390
- string_type format(Functor fmt,
391
- match_flag_type flags,
392
- const RegexT& re) const
393
- {
394
- if(m_is_singular)
395
- raise_logic_error();
396
- typedef ::boost::regex_traits_wrapper<typename RegexT::traits_type> traits_type;
397
- std::basic_string<char_type> result;
398
- BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> > i(result);
399
-
400
- typedef typename BOOST_REGEX_DETAIL_NS::compute_functor_type<Functor, match_results<BidiIterator, Allocator>, BOOST_REGEX_DETAIL_NS::string_out_iterator<std::basic_string<char_type> >, traits_type >::type F;
401
- F func(fmt);
402
-
403
- func(*this, i, flags, re.get_traits());
404
- return result;
405
- }
406
-
407
- const_reference get_last_closed_paren()const
408
- {
409
- if(m_is_singular)
410
- raise_logic_error();
411
- return m_last_closed_paren == 0 ? m_null : (*this)[m_last_closed_paren];
412
- }
413
-
414
- allocator_type get_allocator() const
415
- {
416
- #ifndef BOOST_NO_STD_ALLOCATOR
417
- return m_subs.get_allocator();
418
- #else
419
- return allocator_type();
420
- #endif
421
- }
422
- void swap(match_results& that)
423
- {
424
- std::swap(m_subs, that.m_subs);
425
- std::swap(m_named_subs, that.m_named_subs);
426
- std::swap(m_last_closed_paren, that.m_last_closed_paren);
427
- if(m_is_singular)
428
- {
429
- if(!that.m_is_singular)
430
- {
431
- m_base = that.m_base;
432
- m_null = that.m_null;
433
- }
434
- }
435
- else if(that.m_is_singular)
436
- {
437
- that.m_base = m_base;
438
- that.m_null = m_null;
439
- }
440
- else
441
- {
442
- std::swap(m_base, that.m_base);
443
- std::swap(m_null, that.m_null);
444
- }
445
- std::swap(m_is_singular, that.m_is_singular);
446
- }
447
- bool operator==(const match_results& that)const
448
- {
449
- if(m_is_singular)
450
- {
451
- return that.m_is_singular;
452
- }
453
- else if(that.m_is_singular)
454
- {
455
- return false;
456
- }
457
- return (m_subs == that.m_subs) && (m_base == that.m_base) && (m_last_closed_paren == that.m_last_closed_paren);
458
- }
459
- bool operator!=(const match_results& that)const
460
- { return !(*this == that); }
461
-
462
- #ifdef BOOST_REGEX_MATCH_EXTRA
463
- typedef typename sub_match<BidiIterator>::capture_sequence_type capture_sequence_type;
464
-
465
- const capture_sequence_type& captures(int i)const
466
- {
467
- if(m_is_singular)
468
- raise_logic_error();
469
- return (*this)[i].captures();
470
- }
471
- #endif
472
-
473
- //
474
- // private access functions:
475
- void BOOST_REGEX_CALL set_second(BidiIterator i)
476
- {
477
- BOOST_REGEX_ASSERT(m_subs.size() > 2);
478
- m_subs[2].second = i;
479
- m_subs[2].matched = true;
480
- m_subs[0].first = i;
481
- m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
482
- m_null.first = i;
483
- m_null.second = i;
484
- m_null.matched = false;
485
- m_is_singular = false;
486
- }
487
-
488
- void BOOST_REGEX_CALL set_second(BidiIterator i, size_type pos, bool m = true, bool escape_k = false)
489
- {
490
- if(pos)
491
- m_last_closed_paren = static_cast<int>(pos);
492
- pos += 2;
493
- BOOST_REGEX_ASSERT(m_subs.size() > pos);
494
- m_subs[pos].second = i;
495
- m_subs[pos].matched = m;
496
- if((pos == 2) && !escape_k)
497
- {
498
- m_subs[0].first = i;
499
- m_subs[0].matched = (m_subs[0].first != m_subs[0].second);
500
- m_null.first = i;
501
- m_null.second = i;
502
- m_null.matched = false;
503
- m_is_singular = false;
504
- }
505
- }
506
- void BOOST_REGEX_CALL set_size(size_type n, BidiIterator i, BidiIterator j)
507
- {
508
- value_type v(j);
509
- size_type len = m_subs.size();
510
- if(len > n + 2)
511
- {
512
- m_subs.erase(m_subs.begin()+n+2, m_subs.end());
513
- std::fill(m_subs.begin(), m_subs.end(), v);
514
- }
515
- else
516
- {
517
- std::fill(m_subs.begin(), m_subs.end(), v);
518
- if(n+2 != len)
519
- m_subs.insert(m_subs.end(), n+2-len, v);
520
- }
521
- m_subs[1].first = i;
522
- m_last_closed_paren = 0;
523
- }
524
- void BOOST_REGEX_CALL set_base(BidiIterator pos)
525
- {
526
- m_base = pos;
527
- }
528
- BidiIterator base()const
529
- {
530
- return m_base;
531
- }
532
- void BOOST_REGEX_CALL set_first(BidiIterator i)
533
- {
534
- BOOST_REGEX_ASSERT(m_subs.size() > 2);
535
- // set up prefix:
536
- m_subs[1].second = i;
537
- m_subs[1].matched = (m_subs[1].first != i);
538
- // set up $0:
539
- m_subs[2].first = i;
540
- // zero out everything else:
541
- for(size_type n = 3; n < m_subs.size(); ++n)
542
- {
543
- m_subs[n].first = m_subs[n].second = m_subs[0].second;
544
- m_subs[n].matched = false;
545
- }
546
- }
547
- void BOOST_REGEX_CALL set_first(BidiIterator i, size_type pos, bool escape_k = false)
548
- {
549
- BOOST_REGEX_ASSERT(pos+2 < m_subs.size());
550
- if(pos || escape_k)
551
- {
552
- m_subs[pos+2].first = i;
553
- if(escape_k)
554
- {
555
- m_subs[1].second = i;
556
- m_subs[1].matched = (m_subs[1].first != m_subs[1].second);
557
- }
558
- }
559
- else
560
- set_first(i);
561
- }
562
- void BOOST_REGEX_CALL maybe_assign(const match_results<BidiIterator, Allocator>& m);
563
-
564
- void BOOST_REGEX_CALL set_named_subs(boost::shared_ptr<named_sub_type> subs)
565
- {
566
- m_named_subs = subs;
567
- }
568
-
569
- private:
570
- //
571
- // Error handler called when an uninitialized match_results is accessed:
572
- //
573
- static void raise_logic_error()
574
- {
575
- std::logic_error e("Attempt to access an uninitialized boost::match_results<> class.");
576
- boost::throw_exception(e);
577
- }
578
-
579
-
580
- vector_type m_subs; // subexpressions
581
- BidiIterator m_base; // where the search started from
582
- sub_match<BidiIterator> m_null; // a null match
583
- boost::shared_ptr<named_sub_type> m_named_subs; // Shared copy of named subs in the regex object
584
- int m_last_closed_paren; // Last ) to be seen - used for formatting
585
- bool m_is_singular; // True if our stored iterators are singular
586
- };
587
-
588
- template <class BidiIterator, class Allocator>
589
- void BOOST_REGEX_CALL match_results<BidiIterator, Allocator>::maybe_assign(const match_results<BidiIterator, Allocator>& m)
590
- {
591
- if(m_is_singular)
592
- {
593
- *this = m;
594
- return;
595
- }
596
- const_iterator p1, p2;
597
- p1 = begin();
598
- p2 = m.begin();
599
- //
600
- // Distances are measured from the start of *this* match, unless this isn't
601
- // a valid match in which case we use the start of the whole sequence. Note that
602
- // no subsequent match-candidate can ever be to the left of the first match found.
603
- // This ensures that when we are using bidirectional iterators, that distances
604
- // measured are as short as possible, and therefore as efficient as possible
605
- // to compute. Finally note that we don't use the "matched" data member to test
606
- // whether a sub-expression is a valid match, because partial matches set this
607
- // to false for sub-expression 0.
608
- //
609
- BidiIterator l_end = this->suffix().second;
610
- BidiIterator l_base = (p1->first == l_end) ? this->prefix().first : (*this)[0].first;
611
- difference_type len1 = 0;
612
- difference_type len2 = 0;
613
- difference_type base1 = 0;
614
- difference_type base2 = 0;
615
- std::size_t i;
616
- for(i = 0; i < size(); ++i, ++p1, ++p2)
617
- {
618
- //
619
- // Leftmost takes priority over longest; handle special cases
620
- // where distances need not be computed first (an optimisation
621
- // for bidirectional iterators: ensure that we don't accidently
622
- // compute the length of the whole sequence, as this can be really
623
- // expensive).
624
- //
625
- if(p1->first == l_end)
626
- {
627
- if(p2->first != l_end)
628
- {
629
- // p2 must be better than p1, and no need to calculate
630
- // actual distances:
631
- base1 = 1;
632
- base2 = 0;
633
- break;
634
- }
635
- else
636
- {
637
- // *p1 and *p2 are either unmatched or match end-of sequence,
638
- // either way no need to calculate distances:
639
- if((p1->matched == false) && (p2->matched == true))
640
- break;
641
- if((p1->matched == true) && (p2->matched == false))
642
- return;
643
- continue;
644
- }
645
- }
646
- else if(p2->first == l_end)
647
- {
648
- // p1 better than p2, and no need to calculate distances:
649
- return;
650
- }
651
- base1 = ::boost::BOOST_REGEX_DETAIL_NS::distance(l_base, p1->first);
652
- base2 = ::boost::BOOST_REGEX_DETAIL_NS::distance(l_base, p2->first);
653
- BOOST_REGEX_ASSERT(base1 >= 0);
654
- BOOST_REGEX_ASSERT(base2 >= 0);
655
- if(base1 < base2) return;
656
- if(base2 < base1) break;
657
-
658
- len1 = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)p1->first, (BidiIterator)p1->second);
659
- len2 = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)p2->first, (BidiIterator)p2->second);
660
- BOOST_REGEX_ASSERT(len1 >= 0);
661
- BOOST_REGEX_ASSERT(len2 >= 0);
662
- if((len1 != len2) || ((p1->matched == false) && (p2->matched == true)))
663
- break;
664
- if((p1->matched == true) && (p2->matched == false))
665
- return;
666
- }
667
- if(i == size())
668
- return;
669
- if(base2 < base1)
670
- *this = m;
671
- else if((len2 > len1) || ((p1->matched == false) && (p2->matched == true)) )
672
- *this = m;
673
- }
674
-
675
- template <class BidiIterator, class Allocator>
676
- void swap(match_results<BidiIterator, Allocator>& a, match_results<BidiIterator, Allocator>& b)
677
- {
678
- a.swap(b);
679
- }
680
-
681
- #ifndef BOOST_NO_STD_LOCALE
682
- template <class charT, class traits, class BidiIterator, class Allocator>
683
- std::basic_ostream<charT, traits>&
684
- operator << (std::basic_ostream<charT, traits>& os,
685
- const match_results<BidiIterator, Allocator>& s)
686
- {
687
- return (os << s.str());
688
- }
689
- #else
690
- template <class BidiIterator, class Allocator>
691
- std::ostream& operator << (std::ostream& os,
692
- const match_results<BidiIterator, Allocator>& s)
693
- {
694
- return (os << s.str());
695
- }
696
- #endif
697
-
698
- #ifdef BOOST_MSVC
699
- #pragma warning(pop)
700
- #endif
701
- } // namespace boost
702
-
703
- #ifdef BOOST_MSVC
704
- #pragma warning(push)
705
- #pragma warning(disable: 4103)
706
- #endif
707
- #ifdef BOOST_HAS_ABI_HEADERS
708
- # include BOOST_ABI_SUFFIX
709
- #endif
710
- #ifdef BOOST_MSVC
711
- #pragma warning(pop)
712
- #endif
713
-
714
- #endif
715
-
716
-