passenger 6.1.0 → 6.1.2

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 (441) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +46 -2
  3. data/Rakefile +6 -13
  4. data/bin/passenger-install-apache2-module +15 -19
  5. data/bin/passenger-install-nginx-module +47 -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 +6 -1
  12. data/passenger.gemspec +1 -0
  13. data/src/agent/Core/Config.h +1 -1
  14. data/src/agent/Core/Controller/Config.h +1 -1
  15. data/src/agent/Watchdog/Config.h +1 -1
  16. data/src/cxx_supportlib/Constants.h +1 -1
  17. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  18. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  19. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  20. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  21. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  22. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  23. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  24. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  25. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  26. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  27. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  28. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  29. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  30. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  31. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  32. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  33. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  34. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  35. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  36. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  37. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  38. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  39. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  40. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  41. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  42. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  43. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  44. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  45. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  46. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  47. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  48. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  49. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  50. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  51. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  52. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  53. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  54. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  115. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  116. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  117. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  118. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  120. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  121. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  122. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  123. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  124. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  130. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  131. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  132. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  134. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  135. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  136. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  138. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  140. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  141. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  143. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  145. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  146. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  147. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  149. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  150. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  153. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  154. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  155. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  156. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  157. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  158. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  161. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  162. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  166. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  167. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  168. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  170. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  171. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  172. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  173. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  175. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  176. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  177. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  179. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  180. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  181. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  182. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  183. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  184. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  185. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  186. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  187. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  188. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  189. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  190. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  191. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  192. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  195. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  196. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  197. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  199. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  201. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  202. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  203. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  205. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  207. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  208. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  212. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  213. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  215. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  217. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  220. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  221. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  222. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  223. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  224. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  225. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  226. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  227. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  230. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  232. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  233. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  234. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  236. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  237. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  238. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  240. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  242. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  243. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  244. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  245. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  248. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  249. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  250. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  251. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  252. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  253. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  254. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  255. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  256. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  257. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  258. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  260. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  262. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  264. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  265. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  268. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  269. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  271. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  272. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  273. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  274. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  275. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  276. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  277. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  298. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  299. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  314. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  315. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  316. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  317. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  318. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  320. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  321. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  322. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  327. data/src/nginx_module/ContentHandler.c +2 -0
  328. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  329. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  330. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  331. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  332. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  333. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  334. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  335. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  336. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
  337. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
  338. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +7 -3
  339. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  340. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  341. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  342. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  343. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  344. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  345. metadata +40 -99
  346. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  347. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  348. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  349. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  350. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  351. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  352. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  353. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  354. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  355. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  356. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  357. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  358. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  359. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  360. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  361. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  362. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  363. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  364. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  365. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  366. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  367. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  368. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  369. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  370. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  371. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  372. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  373. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  374. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  375. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  376. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  377. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  378. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  379. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  380. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  381. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  382. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  383. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  384. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  385. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  386. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  387. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  388. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  389. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  390. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  391. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  392. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  393. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  394. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  395. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  396. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  397. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  398. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  399. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  400. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  401. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  402. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  403. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  404. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  405. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  406. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  407. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  415. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  416. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  417. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  418. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  419. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  420. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  421. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  422. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  423. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  424. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  425. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  426. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  427. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  428. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  429. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  430. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  431. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  432. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  433. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  434. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  435. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  436. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  437. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  438. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  439. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  440. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  441. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -1,516 +0,0 @@
1
- /*
2
- *
3
- * Copyright (c) 1998-2002
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 sub_match.cpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Declares template class sub_match.
17
- */
18
-
19
- #ifndef BOOST_REGEX_V4_SUB_MATCH_HPP
20
- #define BOOST_REGEX_V4_SUB_MATCH_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
-
35
- template <class BidiIterator>
36
- struct sub_match : public std::pair<BidiIterator, BidiIterator>
37
- {
38
- typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidiIterator>::value_type value_type;
39
- #if defined(BOOST_NO_STD_ITERATOR_TRAITS)
40
- typedef std::ptrdiff_t difference_type;
41
- #else
42
- typedef typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<BidiIterator>::difference_type difference_type;
43
- #endif
44
- typedef BidiIterator iterator_type;
45
- typedef BidiIterator iterator;
46
- typedef BidiIterator const_iterator;
47
-
48
- bool matched;
49
-
50
- sub_match() : std::pair<BidiIterator, BidiIterator>(), matched(false) {}
51
- sub_match(BidiIterator i) : std::pair<BidiIterator, BidiIterator>(i, i), matched(false) {}
52
- #if !defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
53
- && !BOOST_WORKAROUND(BOOST_BORLANDC, <= 0x0551)\
54
- && !BOOST_WORKAROUND(__DECCXX_VER, BOOST_TESTED_AT(60590042))
55
- template <class T, class A>
56
- operator std::basic_string<value_type, T, A> ()const
57
- {
58
- return matched ? std::basic_string<value_type, T, A>(this->first, this->second) : std::basic_string<value_type, T, A>();
59
- }
60
- #else
61
- operator std::basic_string<value_type> ()const
62
- {
63
- return str();
64
- }
65
- #endif
66
- difference_type BOOST_REGEX_CALL length()const
67
- {
68
- difference_type n = matched ? ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)this->first, (BidiIterator)this->second) : 0;
69
- return n;
70
- }
71
- std::basic_string<value_type> str()const
72
- {
73
- std::basic_string<value_type> result;
74
- if(matched)
75
- {
76
- std::size_t len = ::boost::BOOST_REGEX_DETAIL_NS::distance((BidiIterator)this->first, (BidiIterator)this->second);
77
- result.reserve(len);
78
- BidiIterator i = this->first;
79
- while(i != this->second)
80
- {
81
- result.append(1, *i);
82
- ++i;
83
- }
84
- }
85
- return result;
86
- }
87
- int compare(const sub_match& s)const
88
- {
89
- if(matched != s.matched)
90
- return static_cast<int>(matched) - static_cast<int>(s.matched);
91
- return str().compare(s.str());
92
- }
93
- int compare(const std::basic_string<value_type>& s)const
94
- {
95
- return str().compare(s);
96
- }
97
- int compare(const value_type* p)const
98
- {
99
- return str().compare(p);
100
- }
101
-
102
- bool operator==(const sub_match& that)const
103
- { return compare(that) == 0; }
104
- bool BOOST_REGEX_CALL operator !=(const sub_match& that)const
105
- { return compare(that) != 0; }
106
- bool operator<(const sub_match& that)const
107
- { return compare(that) < 0; }
108
- bool operator>(const sub_match& that)const
109
- { return compare(that) > 0; }
110
- bool operator<=(const sub_match& that)const
111
- { return compare(that) <= 0; }
112
- bool operator>=(const sub_match& that)const
113
- { return compare(that) >= 0; }
114
-
115
- #ifdef BOOST_REGEX_MATCH_EXTRA
116
- typedef std::vector<sub_match<BidiIterator> > capture_sequence_type;
117
-
118
- const capture_sequence_type& captures()const
119
- {
120
- if(!m_captures)
121
- m_captures.reset(new capture_sequence_type());
122
- return *m_captures;
123
- }
124
- //
125
- // Private implementation API: DO NOT USE!
126
- //
127
- capture_sequence_type& get_captures()const
128
- {
129
- if(!m_captures)
130
- m_captures.reset(new capture_sequence_type());
131
- return *m_captures;
132
- }
133
-
134
- private:
135
- mutable boost::scoped_ptr<capture_sequence_type> m_captures;
136
- public:
137
-
138
- #endif
139
- sub_match(const sub_match& that, bool
140
- #ifdef BOOST_REGEX_MATCH_EXTRA
141
- deep_copy
142
- #endif
143
- = true
144
- )
145
- : std::pair<BidiIterator, BidiIterator>(that),
146
- matched(that.matched)
147
- {
148
- #ifdef BOOST_REGEX_MATCH_EXTRA
149
- if(that.m_captures)
150
- if(deep_copy)
151
- m_captures.reset(new capture_sequence_type(*(that.m_captures)));
152
- #endif
153
- }
154
- sub_match& operator=(const sub_match& that)
155
- {
156
- this->first = that.first;
157
- this->second = that.second;
158
- matched = that.matched;
159
- #ifdef BOOST_REGEX_MATCH_EXTRA
160
- if(that.m_captures)
161
- get_captures() = *(that.m_captures);
162
- #endif
163
- return *this;
164
- }
165
- //
166
- // Make this type a range, for both Boost.Range, and C++11:
167
- //
168
- BidiIterator begin()const { return this->first; }
169
- BidiIterator end()const { return this->second; }
170
-
171
-
172
- #ifdef BOOST_OLD_REGEX_H
173
- //
174
- // the following are deprecated, do not use!!
175
- //
176
- operator int()const;
177
- operator unsigned int()const;
178
- operator short()const
179
- {
180
- return (short)(int)(*this);
181
- }
182
- operator unsigned short()const
183
- {
184
- return (unsigned short)(unsigned int)(*this);
185
- }
186
- #endif
187
- };
188
-
189
- typedef sub_match<const char*> csub_match;
190
- typedef sub_match<std::string::const_iterator> ssub_match;
191
- #ifndef BOOST_NO_WREGEX
192
- typedef sub_match<const wchar_t*> wcsub_match;
193
- typedef sub_match<std::wstring::const_iterator> wssub_match;
194
- #endif
195
-
196
- // comparison to std::basic_string<> part 1:
197
- template <class RandomAccessIterator, class traits, class Allocator>
198
- inline bool operator == (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
199
- const sub_match<RandomAccessIterator>& m)
200
- { return s.compare(m.str()) == 0; }
201
- template <class RandomAccessIterator, class traits, class Allocator>
202
- inline bool operator != (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
203
- const sub_match<RandomAccessIterator>& m)
204
- { return s.compare(m.str()) != 0; }
205
- template <class RandomAccessIterator, class traits, class Allocator>
206
- inline bool operator < (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
207
- const sub_match<RandomAccessIterator>& m)
208
- { return s.compare(m.str()) < 0; }
209
- template <class RandomAccessIterator, class traits, class Allocator>
210
- inline bool operator <= (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
211
- const sub_match<RandomAccessIterator>& m)
212
- { return s.compare(m.str()) <= 0; }
213
- template <class RandomAccessIterator, class traits, class Allocator>
214
- inline bool operator >= (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
215
- const sub_match<RandomAccessIterator>& m)
216
- { return s.compare(m.str()) >= 0; }
217
- template <class RandomAccessIterator, class traits, class Allocator>
218
- inline bool operator > (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
219
- const sub_match<RandomAccessIterator>& m)
220
- { return s.compare(m.str()) > 0; }
221
- // comparison to std::basic_string<> part 2:
222
- template <class RandomAccessIterator, class traits, class Allocator>
223
- inline bool operator == (const sub_match<RandomAccessIterator>& m,
224
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
225
- { return m.str().compare(s) == 0; }
226
- template <class RandomAccessIterator, class traits, class Allocator>
227
- inline bool operator != (const sub_match<RandomAccessIterator>& m,
228
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
229
- { return m.str().compare(s) != 0; }
230
- template <class RandomAccessIterator, class traits, class Allocator>
231
- inline bool operator < (const sub_match<RandomAccessIterator>& m,
232
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
233
- { return m.str().compare(s) < 0; }
234
- template <class RandomAccessIterator, class traits, class Allocator>
235
- inline bool operator > (const sub_match<RandomAccessIterator>& m,
236
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
237
- { return m.str().compare(s) > 0; }
238
- template <class RandomAccessIterator, class traits, class Allocator>
239
- inline bool operator <= (const sub_match<RandomAccessIterator>& m,
240
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
241
- { return m.str().compare(s) <= 0; }
242
- template <class RandomAccessIterator, class traits, class Allocator>
243
- inline bool operator >= (const sub_match<RandomAccessIterator>& m,
244
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
245
- { return m.str().compare(s) >= 0; }
246
- // comparison to const charT* part 1:
247
- template <class RandomAccessIterator>
248
- inline bool operator == (const sub_match<RandomAccessIterator>& m,
249
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
250
- { return m.str().compare(s) == 0; }
251
- template <class RandomAccessIterator>
252
- inline bool operator != (const sub_match<RandomAccessIterator>& m,
253
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
254
- { return m.str().compare(s) != 0; }
255
- template <class RandomAccessIterator>
256
- inline bool operator > (const sub_match<RandomAccessIterator>& m,
257
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
258
- { return m.str().compare(s) > 0; }
259
- template <class RandomAccessIterator>
260
- inline bool operator < (const sub_match<RandomAccessIterator>& m,
261
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
262
- { return m.str().compare(s) < 0; }
263
- template <class RandomAccessIterator>
264
- inline bool operator >= (const sub_match<RandomAccessIterator>& m,
265
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
266
- { return m.str().compare(s) >= 0; }
267
- template <class RandomAccessIterator>
268
- inline bool operator <= (const sub_match<RandomAccessIterator>& m,
269
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s)
270
- { return m.str().compare(s) <= 0; }
271
- // comparison to const charT* part 2:
272
- template <class RandomAccessIterator>
273
- inline bool operator == (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
274
- const sub_match<RandomAccessIterator>& m)
275
- { return m.str().compare(s) == 0; }
276
- template <class RandomAccessIterator>
277
- inline bool operator != (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
278
- const sub_match<RandomAccessIterator>& m)
279
- { return m.str().compare(s) != 0; }
280
- template <class RandomAccessIterator>
281
- inline bool operator < (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
282
- const sub_match<RandomAccessIterator>& m)
283
- { return m.str().compare(s) > 0; }
284
- template <class RandomAccessIterator>
285
- inline bool operator > (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
286
- const sub_match<RandomAccessIterator>& m)
287
- { return m.str().compare(s) < 0; }
288
- template <class RandomAccessIterator>
289
- inline bool operator <= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
290
- const sub_match<RandomAccessIterator>& m)
291
- { return m.str().compare(s) >= 0; }
292
- template <class RandomAccessIterator>
293
- inline bool operator >= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
294
- const sub_match<RandomAccessIterator>& m)
295
- { return m.str().compare(s) <= 0; }
296
-
297
- // comparison to const charT& part 1:
298
- template <class RandomAccessIterator>
299
- inline bool operator == (const sub_match<RandomAccessIterator>& m,
300
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
301
- { return m.str().compare(0, m.length(), &s, 1) == 0; }
302
- template <class RandomAccessIterator>
303
- inline bool operator != (const sub_match<RandomAccessIterator>& m,
304
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
305
- { return m.str().compare(0, m.length(), &s, 1) != 0; }
306
- template <class RandomAccessIterator>
307
- inline bool operator > (const sub_match<RandomAccessIterator>& m,
308
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
309
- { return m.str().compare(0, m.length(), &s, 1) > 0; }
310
- template <class RandomAccessIterator>
311
- inline bool operator < (const sub_match<RandomAccessIterator>& m,
312
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
313
- { return m.str().compare(0, m.length(), &s, 1) < 0; }
314
- template <class RandomAccessIterator>
315
- inline bool operator >= (const sub_match<RandomAccessIterator>& m,
316
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
317
- { return m.str().compare(0, m.length(), &s, 1) >= 0; }
318
- template <class RandomAccessIterator>
319
- inline bool operator <= (const sub_match<RandomAccessIterator>& m,
320
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
321
- { return m.str().compare(0, m.length(), &s, 1) <= 0; }
322
- // comparison to const charT* part 2:
323
- template <class RandomAccessIterator>
324
- inline bool operator == (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
325
- const sub_match<RandomAccessIterator>& m)
326
- { return m.str().compare(0, m.length(), &s, 1) == 0; }
327
- template <class RandomAccessIterator>
328
- inline bool operator != (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
329
- const sub_match<RandomAccessIterator>& m)
330
- { return m.str().compare(0, m.length(), &s, 1) != 0; }
331
- template <class RandomAccessIterator>
332
- inline bool operator < (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
333
- const sub_match<RandomAccessIterator>& m)
334
- { return m.str().compare(0, m.length(), &s, 1) > 0; }
335
- template <class RandomAccessIterator>
336
- inline bool operator > (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
337
- const sub_match<RandomAccessIterator>& m)
338
- { return m.str().compare(0, m.length(), &s, 1) < 0; }
339
- template <class RandomAccessIterator>
340
- inline bool operator <= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
341
- const sub_match<RandomAccessIterator>& m)
342
- { return m.str().compare(0, m.length(), &s, 1) >= 0; }
343
- template <class RandomAccessIterator>
344
- inline bool operator >= (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
345
- const sub_match<RandomAccessIterator>& m)
346
- { return m.str().compare(0, m.length(), &s, 1) <= 0; }
347
-
348
- // addition operators:
349
- template <class RandomAccessIterator, class traits, class Allocator>
350
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>
351
- operator + (const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s,
352
- const sub_match<RandomAccessIterator>& m)
353
- {
354
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
355
- result.reserve(s.size() + m.length() + 1);
356
- return result.append(s).append(m.first, m.second);
357
- }
358
- template <class RandomAccessIterator, class traits, class Allocator>
359
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>
360
- operator + (const sub_match<RandomAccessIterator>& m,
361
- const std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator>& s)
362
- {
363
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type, traits, Allocator> result;
364
- result.reserve(s.size() + m.length() + 1);
365
- return result.append(m.first, m.second).append(s);
366
- }
367
- #if !(defined(__GNUC__) && defined(BOOST_NO_STD_LOCALE))
368
- template <class RandomAccessIterator>
369
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
370
- operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
371
- const sub_match<RandomAccessIterator>& m)
372
- {
373
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type> result;
374
- result.reserve(std::char_traits<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
375
- return result.append(s).append(m.first, m.second);
376
- }
377
- template <class RandomAccessIterator>
378
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
379
- operator + (const sub_match<RandomAccessIterator>& m,
380
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const * s)
381
- {
382
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type> result;
383
- result.reserve(std::char_traits<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>::length(s) + m.length() + 1);
384
- return result.append(m.first, m.second).append(s);
385
- }
386
- #else
387
- // worwaround versions:
388
- template <class RandomAccessIterator>
389
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
390
- operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const* s,
391
- const sub_match<RandomAccessIterator>& m)
392
- {
393
- return s + m.str();
394
- }
395
- template <class RandomAccessIterator>
396
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
397
- operator + (const sub_match<RandomAccessIterator>& m,
398
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const * s)
399
- {
400
- return m.str() + s;
401
- }
402
- #endif
403
- template <class RandomAccessIterator>
404
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
405
- operator + (typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s,
406
- const sub_match<RandomAccessIterator>& m)
407
- {
408
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type> result;
409
- result.reserve(m.length() + 2);
410
- return result.append(1, s).append(m.first, m.second);
411
- }
412
- template <class RandomAccessIterator>
413
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
414
- operator + (const sub_match<RandomAccessIterator>& m,
415
- typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type const& s)
416
- {
417
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type> result;
418
- result.reserve(m.length() + 2);
419
- return result.append(m.first, m.second).append(1, s);
420
- }
421
- template <class RandomAccessIterator>
422
- inline std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type>
423
- operator + (const sub_match<RandomAccessIterator>& m1,
424
- const sub_match<RandomAccessIterator>& m2)
425
- {
426
- std::basic_string<typename BOOST_REGEX_DETAIL_NS::regex_iterator_traits<RandomAccessIterator>::value_type> result;
427
- result.reserve(m1.length() + m2.length() + 1);
428
- return result.append(m1.first, m1.second).append(m2.first, m2.second);
429
- }
430
- #ifndef BOOST_NO_STD_LOCALE
431
- template <class charT, class traits, class RandomAccessIterator>
432
- std::basic_ostream<charT, traits>&
433
- operator << (std::basic_ostream<charT, traits>& os,
434
- const sub_match<RandomAccessIterator>& s)
435
- {
436
- return (os << s.str());
437
- }
438
- #else
439
- template <class RandomAccessIterator>
440
- std::ostream& operator << (std::ostream& os,
441
- const sub_match<RandomAccessIterator>& s)
442
- {
443
- return (os << s.str());
444
- }
445
- #endif
446
-
447
- #ifdef BOOST_OLD_REGEX_H
448
- namespace BOOST_REGEX_DETAIL_NS{
449
- template <class BidiIterator, class charT>
450
- int do_toi(BidiIterator i, BidiIterator j, char c, int radix)
451
- {
452
- std::string s(i, j);
453
- char* p;
454
- int result = std::strtol(s.c_str(), &p, radix);
455
- if(*p)raise_regex_exception("Bad sub-expression");
456
- return result;
457
- }
458
-
459
- //
460
- // helper:
461
- template <class I, class charT>
462
- int do_toi(I& i, I j, charT c)
463
- {
464
- int result = 0;
465
- while((i != j) && (isdigit(*i)))
466
- {
467
- result = result*10 + (*i - '0');
468
- ++i;
469
- }
470
- return result;
471
- }
472
- }
473
-
474
-
475
- template <class BidiIterator>
476
- sub_match<BidiIterator>::operator int()const
477
- {
478
- BidiIterator i = first;
479
- BidiIterator j = second;
480
- if(i == j)raise_regex_exception("Bad sub-expression");
481
- int neg = 1;
482
- if((i != j) && (*i == '-'))
483
- {
484
- neg = -1;
485
- ++i;
486
- }
487
- neg *= BOOST_REGEX_DETAIL_NS::do_toi(i, j, *i);
488
- if(i != j)raise_regex_exception("Bad sub-expression");
489
- return neg;
490
- }
491
- template <class BidiIterator>
492
- sub_match<BidiIterator>::operator unsigned int()const
493
- {
494
- BidiIterator i = first;
495
- BidiIterator j = second;
496
- if(i == j)
497
- raise_regex_exception("Bad sub-expression");
498
- return BOOST_REGEX_DETAIL_NS::do_toi(i, j, *first);
499
- }
500
- #endif
501
-
502
- } // namespace boost
503
-
504
- #ifdef BOOST_MSVC
505
- #pragma warning(push)
506
- #pragma warning(disable: 4103)
507
- #endif
508
- #ifdef BOOST_HAS_ABI_HEADERS
509
- # include BOOST_ABI_SUFFIX
510
- #endif
511
- #ifdef BOOST_MSVC
512
- #pragma warning(pop)
513
- #endif
514
-
515
- #endif
516
-
@@ -1,105 +0,0 @@
1
- /*
2
- *
3
- * Copyright (c) 2003
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 syntax_type.hpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Declares regular expression synatx type enumerator.
17
- */
18
-
19
- #ifndef BOOST_REGEX_SYNTAX_TYPE_HPP
20
- #define BOOST_REGEX_SYNTAX_TYPE_HPP
21
-
22
- namespace boost{
23
- namespace regex_constants{
24
-
25
- typedef unsigned char syntax_type;
26
-
27
- //
28
- // values chosen are binary compatible with previous version:
29
- //
30
- static const syntax_type syntax_char = 0;
31
- static const syntax_type syntax_open_mark = 1;
32
- static const syntax_type syntax_close_mark = 2;
33
- static const syntax_type syntax_dollar = 3;
34
- static const syntax_type syntax_caret = 4;
35
- static const syntax_type syntax_dot = 5;
36
- static const syntax_type syntax_star = 6;
37
- static const syntax_type syntax_plus = 7;
38
- static const syntax_type syntax_question = 8;
39
- static const syntax_type syntax_open_set = 9;
40
- static const syntax_type syntax_close_set = 10;
41
- static const syntax_type syntax_or = 11;
42
- static const syntax_type syntax_escape = 12;
43
- static const syntax_type syntax_dash = 14;
44
- static const syntax_type syntax_open_brace = 15;
45
- static const syntax_type syntax_close_brace = 16;
46
- static const syntax_type syntax_digit = 17;
47
- static const syntax_type syntax_comma = 27;
48
- static const syntax_type syntax_equal = 37;
49
- static const syntax_type syntax_colon = 36;
50
- static const syntax_type syntax_not = 53;
51
-
52
- // extensions:
53
-
54
- static const syntax_type syntax_hash = 13;
55
- static const syntax_type syntax_newline = 26;
56
-
57
- // escapes:
58
-
59
- typedef syntax_type escape_syntax_type;
60
-
61
- static const escape_syntax_type escape_type_word_assert = 18;
62
- static const escape_syntax_type escape_type_not_word_assert = 19;
63
- static const escape_syntax_type escape_type_control_f = 29;
64
- static const escape_syntax_type escape_type_control_n = 30;
65
- static const escape_syntax_type escape_type_control_r = 31;
66
- static const escape_syntax_type escape_type_control_t = 32;
67
- static const escape_syntax_type escape_type_control_v = 33;
68
- static const escape_syntax_type escape_type_ascii_control = 35;
69
- static const escape_syntax_type escape_type_hex = 34;
70
- static const escape_syntax_type escape_type_unicode = 0; // not used
71
- static const escape_syntax_type escape_type_identity = 0; // not used
72
- static const escape_syntax_type escape_type_backref = syntax_digit;
73
- static const escape_syntax_type escape_type_decimal = syntax_digit; // not used
74
- static const escape_syntax_type escape_type_class = 22;
75
- static const escape_syntax_type escape_type_not_class = 23;
76
-
77
- // extensions:
78
-
79
- static const escape_syntax_type escape_type_left_word = 20;
80
- static const escape_syntax_type escape_type_right_word = 21;
81
- static const escape_syntax_type escape_type_start_buffer = 24; // for \`
82
- static const escape_syntax_type escape_type_end_buffer = 25; // for \'
83
- static const escape_syntax_type escape_type_control_a = 28; // for \a
84
- static const escape_syntax_type escape_type_e = 38; // for \e
85
- static const escape_syntax_type escape_type_E = 47; // for \Q\E
86
- static const escape_syntax_type escape_type_Q = 48; // for \Q\E
87
- static const escape_syntax_type escape_type_X = 49; // for \X
88
- static const escape_syntax_type escape_type_C = 50; // for \C
89
- static const escape_syntax_type escape_type_Z = 51; // for \Z
90
- static const escape_syntax_type escape_type_G = 52; // for \G
91
-
92
- static const escape_syntax_type escape_type_property = 54; // for \p
93
- static const escape_syntax_type escape_type_not_property = 55; // for \P
94
- static const escape_syntax_type escape_type_named_char = 56; // for \N
95
- static const escape_syntax_type escape_type_extended_backref = 57; // for \g
96
- static const escape_syntax_type escape_type_reset_start_mark = 58; // for \K
97
- static const escape_syntax_type escape_type_line_ending = 59; // for \R
98
-
99
- static const escape_syntax_type syntax_max = 60;
100
-
101
- }
102
- }
103
-
104
-
105
- #endif