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,797 +0,0 @@
1
- /*
2
- *
3
- * Copyright (c) 1998-2004 John Maddock
4
- * Copyright 2011 Garmin Ltd. or its subsidiaries
5
- *
6
- * Distributed under the Boost Software License, Version 1.0.
7
- * (See accompanying file LICENSE_1_0.txt or copy at
8
- * 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 basic_regex.cpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Declares template class basic_regex.
17
- */
18
-
19
- #ifndef BOOST_REGEX_V4_BASIC_REGEX_HPP
20
- #define BOOST_REGEX_V4_BASIC_REGEX_HPP
21
-
22
- #include <boost/type_traits/is_same.hpp>
23
- #include <boost/container_hash/hash.hpp>
24
-
25
- #ifdef BOOST_MSVC
26
- #pragma warning(push)
27
- #pragma warning(disable: 4103)
28
- #endif
29
- #ifdef BOOST_HAS_ABI_HEADERS
30
- # include BOOST_ABI_PREFIX
31
- #endif
32
- #ifdef BOOST_MSVC
33
- #pragma warning(pop)
34
- #endif
35
-
36
- namespace boost{
37
- #ifdef BOOST_MSVC
38
- #pragma warning(push)
39
- #pragma warning(disable : 4251)
40
- #if BOOST_MSVC < 1700
41
- # pragma warning(disable : 4231)
42
- #endif
43
- #if BOOST_MSVC < 1600
44
- #pragma warning(disable : 4660)
45
- #endif
46
- #if BOOST_MSVC < 1910
47
- #pragma warning(disable:4800)
48
- #endif
49
- #endif
50
-
51
- namespace BOOST_REGEX_DETAIL_NS{
52
-
53
- //
54
- // forward declaration, we will need this one later:
55
- //
56
- template <class charT, class traits>
57
- class basic_regex_parser;
58
-
59
- template <class I>
60
- void bubble_down_one(I first, I last)
61
- {
62
- if(first != last)
63
- {
64
- I next = last - 1;
65
- while((next != first) && (*next < *(next-1)))
66
- {
67
- (next-1)->swap(*next);
68
- --next;
69
- }
70
- }
71
- }
72
-
73
- static const int hash_value_mask = 1 << (std::numeric_limits<int>::digits - 1);
74
-
75
- template <class Iterator>
76
- inline int hash_value_from_capture_name(Iterator i, Iterator j)
77
- {
78
- std::size_t r = boost::hash_range(i, j);
79
- r %= ((std::numeric_limits<int>::max)());
80
- return static_cast<int>(r) | hash_value_mask;
81
- }
82
-
83
- class named_subexpressions
84
- {
85
- public:
86
- struct name
87
- {
88
- template <class charT>
89
- name(const charT* i, const charT* j, int idx)
90
- : index(idx)
91
- {
92
- hash = hash_value_from_capture_name(i, j);
93
- }
94
- name(int h, int idx)
95
- : index(idx), hash(h)
96
- {
97
- }
98
- int index;
99
- int hash;
100
- bool operator < (const name& other)const
101
- {
102
- return hash < other.hash;
103
- }
104
- bool operator == (const name& other)const
105
- {
106
- return hash == other.hash;
107
- }
108
- void swap(name& other)
109
- {
110
- std::swap(index, other.index);
111
- std::swap(hash, other.hash);
112
- }
113
- };
114
-
115
- typedef std::vector<name>::const_iterator const_iterator;
116
- typedef std::pair<const_iterator, const_iterator> range_type;
117
-
118
- named_subexpressions(){}
119
-
120
- template <class charT>
121
- void set_name(const charT* i, const charT* j, int index)
122
- {
123
- m_sub_names.push_back(name(i, j, index));
124
- bubble_down_one(m_sub_names.begin(), m_sub_names.end());
125
- }
126
- template <class charT>
127
- int get_id(const charT* i, const charT* j)const
128
- {
129
- name t(i, j, 0);
130
- typename std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
131
- if((pos != m_sub_names.end()) && (*pos == t))
132
- {
133
- return pos->index;
134
- }
135
- return -1;
136
- }
137
- template <class charT>
138
- range_type equal_range(const charT* i, const charT* j)const
139
- {
140
- name t(i, j, 0);
141
- return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
142
- }
143
- int get_id(int h)const
144
- {
145
- name t(h, 0);
146
- std::vector<name>::const_iterator pos = std::lower_bound(m_sub_names.begin(), m_sub_names.end(), t);
147
- if((pos != m_sub_names.end()) && (*pos == t))
148
- {
149
- return pos->index;
150
- }
151
- return -1;
152
- }
153
- range_type equal_range(int h)const
154
- {
155
- name t(h, 0);
156
- return std::equal_range(m_sub_names.begin(), m_sub_names.end(), t);
157
- }
158
- private:
159
- std::vector<name> m_sub_names;
160
- };
161
-
162
- //
163
- // class regex_data:
164
- // represents the data we wish to expose to the matching algorithms.
165
- //
166
- template <class charT, class traits>
167
- struct regex_data : public named_subexpressions
168
- {
169
- typedef regex_constants::syntax_option_type flag_type;
170
- typedef std::size_t size_type;
171
-
172
- regex_data(const ::boost::shared_ptr<
173
- ::boost::regex_traits_wrapper<traits> >& t)
174
- : m_ptraits(t), m_flags(0), m_status(0), m_expression(0), m_expression_len(0),
175
- m_mark_count(0), m_first_state(0), m_restart_type(0),
176
- #if !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !(defined(BOOST_MSVC) && (BOOST_MSVC < 1900))
177
- m_startmap{ 0 },
178
- #endif
179
- m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {}
180
- regex_data()
181
- : m_ptraits(new ::boost::regex_traits_wrapper<traits>()), m_flags(0), m_status(0), m_expression(0), m_expression_len(0),
182
- m_mark_count(0), m_first_state(0), m_restart_type(0),
183
- #if !defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX) && !(defined(BOOST_MSVC) && (BOOST_MSVC < 1900))
184
- m_startmap{ 0 },
185
- #endif
186
- m_can_be_null(0), m_word_mask(0), m_has_recursions(false), m_disable_match_any(false) {}
187
-
188
- ::boost::shared_ptr<
189
- ::boost::regex_traits_wrapper<traits>
190
- > m_ptraits; // traits class instance
191
- flag_type m_flags; // flags with which we were compiled
192
- int m_status; // error code (0 implies OK).
193
- const charT* m_expression; // the original expression
194
- std::ptrdiff_t m_expression_len; // the length of the original expression
195
- size_type m_mark_count; // the number of marked sub-expressions
196
- BOOST_REGEX_DETAIL_NS::re_syntax_base* m_first_state; // the first state of the machine
197
- unsigned m_restart_type; // search optimisation type
198
- unsigned char m_startmap[1 << CHAR_BIT]; // which characters can start a match
199
- unsigned int m_can_be_null; // whether we can match a null string
200
- BOOST_REGEX_DETAIL_NS::raw_storage m_data; // the buffer in which our states are constructed
201
- typename traits::char_class_type m_word_mask; // mask used to determine if a character is a word character
202
- std::vector<
203
- std::pair<
204
- std::size_t, std::size_t> > m_subs; // Position of sub-expressions within the *string*.
205
- bool m_has_recursions; // whether we have recursive expressions;
206
- bool m_disable_match_any; // when set we need to disable the match_any flag as it causes different/buggy behaviour.
207
- };
208
- //
209
- // class basic_regex_implementation
210
- // pimpl implementation class for basic_regex.
211
- //
212
- template <class charT, class traits>
213
- class basic_regex_implementation
214
- : public regex_data<charT, traits>
215
- {
216
- public:
217
- typedef regex_constants::syntax_option_type flag_type;
218
- typedef std::ptrdiff_t difference_type;
219
- typedef std::size_t size_type;
220
- typedef typename traits::locale_type locale_type;
221
- typedef const charT* const_iterator;
222
-
223
- basic_regex_implementation(){}
224
- basic_regex_implementation(const ::boost::shared_ptr<
225
- ::boost::regex_traits_wrapper<traits> >& t)
226
- : regex_data<charT, traits>(t) {}
227
- void assign(const charT* arg_first,
228
- const charT* arg_last,
229
- flag_type f)
230
- {
231
- regex_data<charT, traits>* pdat = this;
232
- basic_regex_parser<charT, traits> parser(pdat);
233
- parser.parse(arg_first, arg_last, f);
234
- }
235
-
236
- locale_type BOOST_REGEX_CALL imbue(locale_type l)
237
- {
238
- return this->m_ptraits->imbue(l);
239
- }
240
- locale_type BOOST_REGEX_CALL getloc()const
241
- {
242
- return this->m_ptraits->getloc();
243
- }
244
- std::basic_string<charT> BOOST_REGEX_CALL str()const
245
- {
246
- std::basic_string<charT> result;
247
- if(this->m_status == 0)
248
- result = std::basic_string<charT>(this->m_expression, this->m_expression_len);
249
- return result;
250
- }
251
- const_iterator BOOST_REGEX_CALL expression()const
252
- {
253
- return this->m_expression;
254
- }
255
- std::pair<const_iterator, const_iterator> BOOST_REGEX_CALL subexpression(std::size_t n)const
256
- {
257
- const std::pair<std::size_t, std::size_t>& pi = this->m_subs.at(n);
258
- std::pair<const_iterator, const_iterator> p(expression() + pi.first, expression() + pi.second);
259
- return p;
260
- }
261
- //
262
- // begin, end:
263
- const_iterator BOOST_REGEX_CALL begin()const
264
- {
265
- return (this->m_status ? 0 : this->m_expression);
266
- }
267
- const_iterator BOOST_REGEX_CALL end()const
268
- {
269
- return (this->m_status ? 0 : this->m_expression + this->m_expression_len);
270
- }
271
- flag_type BOOST_REGEX_CALL flags()const
272
- {
273
- return this->m_flags;
274
- }
275
- size_type BOOST_REGEX_CALL size()const
276
- {
277
- return this->m_expression_len;
278
- }
279
- int BOOST_REGEX_CALL status()const
280
- {
281
- return this->m_status;
282
- }
283
- size_type BOOST_REGEX_CALL mark_count()const
284
- {
285
- return this->m_mark_count - 1;
286
- }
287
- const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const
288
- {
289
- return this->m_first_state;
290
- }
291
- unsigned get_restart_type()const
292
- {
293
- return this->m_restart_type;
294
- }
295
- const unsigned char* get_map()const
296
- {
297
- return this->m_startmap;
298
- }
299
- const ::boost::regex_traits_wrapper<traits>& get_traits()const
300
- {
301
- return *(this->m_ptraits);
302
- }
303
- bool can_be_null()const
304
- {
305
- return this->m_can_be_null;
306
- }
307
- const regex_data<charT, traits>& get_data()const
308
- {
309
- basic_regex_implementation<charT, traits> const* p = this;
310
- return *static_cast<const regex_data<charT, traits>*>(p);
311
- }
312
- };
313
-
314
- } // namespace BOOST_REGEX_DETAIL_NS
315
- //
316
- // class basic_regex:
317
- // represents the compiled
318
- // regular expression:
319
- //
320
-
321
- #ifdef BOOST_REGEX_NO_FWD
322
- template <class charT, class traits = regex_traits<charT> >
323
- #else
324
- template <class charT, class traits >
325
- #endif
326
- class basic_regex : public regbase
327
- {
328
- public:
329
- // typedefs:
330
- typedef std::size_t traits_size_type;
331
- typedef typename traits::string_type traits_string_type;
332
- typedef charT char_type;
333
- typedef traits traits_type;
334
-
335
- typedef charT value_type;
336
- typedef charT& reference;
337
- typedef const charT& const_reference;
338
- typedef const charT* const_iterator;
339
- typedef const_iterator iterator;
340
- typedef std::ptrdiff_t difference_type;
341
- typedef std::size_t size_type;
342
- typedef regex_constants::syntax_option_type flag_type;
343
- // locale_type
344
- // placeholder for actual locale type used by the
345
- // traits class to localise *this.
346
- typedef typename traits::locale_type locale_type;
347
-
348
- public:
349
- explicit basic_regex(){}
350
- explicit basic_regex(const charT* p, flag_type f = regex_constants::normal)
351
- {
352
- assign(p, f);
353
- }
354
- basic_regex(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
355
- {
356
- assign(p1, p2, f);
357
- }
358
- basic_regex(const charT* p, size_type len, flag_type f)
359
- {
360
- assign(p, len, f);
361
- }
362
- basic_regex(const basic_regex& that)
363
- : m_pimpl(that.m_pimpl) {}
364
- ~basic_regex(){}
365
- basic_regex& BOOST_REGEX_CALL operator=(const basic_regex& that)
366
- {
367
- return assign(that);
368
- }
369
- basic_regex& BOOST_REGEX_CALL operator=(const charT* ptr)
370
- {
371
- return assign(ptr);
372
- }
373
-
374
- //
375
- // assign:
376
- basic_regex& assign(const basic_regex& that)
377
- {
378
- m_pimpl = that.m_pimpl;
379
- return *this;
380
- }
381
- basic_regex& assign(const charT* p, flag_type f = regex_constants::normal)
382
- {
383
- return assign(p, p + traits::length(p), f);
384
- }
385
- basic_regex& assign(const charT* p, size_type len, flag_type f)
386
- {
387
- return assign(p, p + len, f);
388
- }
389
- private:
390
- basic_regex& do_assign(const charT* p1,
391
- const charT* p2,
392
- flag_type f);
393
- public:
394
- basic_regex& assign(const charT* p1,
395
- const charT* p2,
396
- flag_type f = regex_constants::normal)
397
- {
398
- return do_assign(p1, p2, f);
399
- }
400
- #if !defined(BOOST_NO_MEMBER_TEMPLATES)
401
-
402
- template <class ST, class SA>
403
- unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
404
- {
405
- return set_expression(p.data(), p.data() + p.size(), f);
406
- }
407
-
408
- template <class ST, class SA>
409
- explicit basic_regex(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
410
- {
411
- assign(p, f);
412
- }
413
-
414
- template <class InputIterator>
415
- basic_regex(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)
416
- {
417
- typedef typename traits::string_type seq_type;
418
- seq_type a(arg_first, arg_last);
419
- if(!a.empty())
420
- assign(static_cast<const charT*>(&*a.begin()), static_cast<const charT*>(&*a.begin() + a.size()), f);
421
- else
422
- assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);
423
- }
424
-
425
- template <class ST, class SA>
426
- basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
427
- {
428
- return assign(p.data(), p.data() + p.size(), regex_constants::normal);
429
- }
430
-
431
- template <class string_traits, class A>
432
- basic_regex& BOOST_REGEX_CALL assign(
433
- const std::basic_string<charT, string_traits, A>& s,
434
- flag_type f = regex_constants::normal)
435
- {
436
- return assign(s.data(), s.data() + s.size(), f);
437
- }
438
-
439
- template <class InputIterator>
440
- basic_regex& BOOST_REGEX_CALL assign(InputIterator arg_first,
441
- InputIterator arg_last,
442
- flag_type f = regex_constants::normal)
443
- {
444
- typedef typename traits::string_type seq_type;
445
- seq_type a(arg_first, arg_last);
446
- if(a.size())
447
- {
448
- const charT* p1 = &*a.begin();
449
- const charT* p2 = &*a.begin() + a.size();
450
- return assign(p1, p2, f);
451
- }
452
- return assign(static_cast<const charT*>(0), static_cast<const charT*>(0), f);
453
- }
454
- #else
455
- unsigned int BOOST_REGEX_CALL set_expression(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
456
- {
457
- return set_expression(p.data(), p.data() + p.size(), f);
458
- }
459
-
460
- basic_regex(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
461
- {
462
- assign(p, f);
463
- }
464
-
465
- basic_regex& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
466
- {
467
- return assign(p.data(), p.data() + p.size(), regex_constants::normal);
468
- }
469
-
470
- basic_regex& BOOST_REGEX_CALL assign(
471
- const std::basic_string<charT>& s,
472
- flag_type f = regex_constants::normal)
473
- {
474
- return assign(s.data(), s.data() + s.size(), f);
475
- }
476
-
477
- #endif
478
-
479
- //
480
- // locale:
481
- locale_type BOOST_REGEX_CALL imbue(locale_type l);
482
- locale_type BOOST_REGEX_CALL getloc()const
483
- {
484
- return m_pimpl.get() ? m_pimpl->getloc() : locale_type();
485
- }
486
- //
487
- // getflags:
488
- // retained for backwards compatibility only, "flags"
489
- // is now the preferred name:
490
- flag_type BOOST_REGEX_CALL getflags()const
491
- {
492
- return flags();
493
- }
494
- flag_type BOOST_REGEX_CALL flags()const
495
- {
496
- return m_pimpl.get() ? m_pimpl->flags() : 0;
497
- }
498
- //
499
- // str:
500
- std::basic_string<charT> BOOST_REGEX_CALL str()const
501
- {
502
- return m_pimpl.get() ? m_pimpl->str() : std::basic_string<charT>();
503
- }
504
- //
505
- // begin, end, subexpression:
506
- std::pair<const_iterator, const_iterator> BOOST_REGEX_CALL subexpression(std::size_t n)const
507
- {
508
- if(!m_pimpl.get())
509
- boost::throw_exception(std::logic_error("Can't access subexpressions in an invalid regex."));
510
- return m_pimpl->subexpression(n);
511
- }
512
- const_iterator BOOST_REGEX_CALL begin()const
513
- {
514
- return (m_pimpl.get() ? m_pimpl->begin() : 0);
515
- }
516
- const_iterator BOOST_REGEX_CALL end()const
517
- {
518
- return (m_pimpl.get() ? m_pimpl->end() : 0);
519
- }
520
- //
521
- // swap:
522
- void BOOST_REGEX_CALL swap(basic_regex& that)throw()
523
- {
524
- m_pimpl.swap(that.m_pimpl);
525
- }
526
- //
527
- // size:
528
- size_type BOOST_REGEX_CALL size()const
529
- {
530
- return (m_pimpl.get() ? m_pimpl->size() : 0);
531
- }
532
- //
533
- // max_size:
534
- size_type BOOST_REGEX_CALL max_size()const
535
- {
536
- return UINT_MAX;
537
- }
538
- //
539
- // empty:
540
- bool BOOST_REGEX_CALL empty()const
541
- {
542
- return (m_pimpl.get() ? 0 != m_pimpl->status() : true);
543
- }
544
-
545
- size_type BOOST_REGEX_CALL mark_count()const
546
- {
547
- return (m_pimpl.get() ? m_pimpl->mark_count() : 0);
548
- }
549
-
550
- int status()const
551
- {
552
- return (m_pimpl.get() ? m_pimpl->status() : regex_constants::error_empty);
553
- }
554
-
555
- int BOOST_REGEX_CALL compare(const basic_regex& that) const
556
- {
557
- if(m_pimpl.get() == that.m_pimpl.get())
558
- return 0;
559
- if(!m_pimpl.get())
560
- return -1;
561
- if(!that.m_pimpl.get())
562
- return 1;
563
- if(status() != that.status())
564
- return status() - that.status();
565
- if(flags() != that.flags())
566
- return flags() - that.flags();
567
- return str().compare(that.str());
568
- }
569
- bool BOOST_REGEX_CALL operator==(const basic_regex& e)const
570
- {
571
- return compare(e) == 0;
572
- }
573
- bool BOOST_REGEX_CALL operator != (const basic_regex& e)const
574
- {
575
- return compare(e) != 0;
576
- }
577
- bool BOOST_REGEX_CALL operator<(const basic_regex& e)const
578
- {
579
- return compare(e) < 0;
580
- }
581
- bool BOOST_REGEX_CALL operator>(const basic_regex& e)const
582
- {
583
- return compare(e) > 0;
584
- }
585
- bool BOOST_REGEX_CALL operator<=(const basic_regex& e)const
586
- {
587
- return compare(e) <= 0;
588
- }
589
- bool BOOST_REGEX_CALL operator>=(const basic_regex& e)const
590
- {
591
- return compare(e) >= 0;
592
- }
593
-
594
- //
595
- // The following are deprecated as public interfaces
596
- // but are available for compatibility with earlier versions.
597
- const charT* BOOST_REGEX_CALL expression()const
598
- {
599
- return (m_pimpl.get() && !m_pimpl->status() ? m_pimpl->expression() : 0);
600
- }
601
- unsigned int BOOST_REGEX_CALL set_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
602
- {
603
- assign(p1, p2, f | regex_constants::no_except);
604
- return status();
605
- }
606
- unsigned int BOOST_REGEX_CALL set_expression(const charT* p, flag_type f = regex_constants::normal)
607
- {
608
- assign(p, f | regex_constants::no_except);
609
- return status();
610
- }
611
- unsigned int BOOST_REGEX_CALL error_code()const
612
- {
613
- return status();
614
- }
615
- //
616
- // private access methods:
617
- //
618
- const BOOST_REGEX_DETAIL_NS::re_syntax_base* get_first_state()const
619
- {
620
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
621
- return m_pimpl->get_first_state();
622
- }
623
- unsigned get_restart_type()const
624
- {
625
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
626
- return m_pimpl->get_restart_type();
627
- }
628
- const unsigned char* get_map()const
629
- {
630
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
631
- return m_pimpl->get_map();
632
- }
633
- const ::boost::regex_traits_wrapper<traits>& get_traits()const
634
- {
635
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
636
- return m_pimpl->get_traits();
637
- }
638
- bool can_be_null()const
639
- {
640
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
641
- return m_pimpl->can_be_null();
642
- }
643
- const BOOST_REGEX_DETAIL_NS::regex_data<charT, traits>& get_data()const
644
- {
645
- BOOST_REGEX_ASSERT(0 != m_pimpl.get());
646
- return m_pimpl->get_data();
647
- }
648
- boost::shared_ptr<BOOST_REGEX_DETAIL_NS::named_subexpressions > get_named_subs()const
649
- {
650
- return m_pimpl;
651
- }
652
-
653
- private:
654
- shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > m_pimpl;
655
- };
656
-
657
- //
658
- // out of line members;
659
- // these are the only members that mutate the basic_regex object,
660
- // and are designed to provide the strong exception guarantee
661
- // (in the event of a throw, the state of the object remains unchanged).
662
- //
663
- template <class charT, class traits>
664
- basic_regex<charT, traits>& basic_regex<charT, traits>::do_assign(const charT* p1,
665
- const charT* p2,
666
- flag_type f)
667
- {
668
- shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > temp;
669
- if(!m_pimpl.get())
670
- {
671
- temp = shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>());
672
- }
673
- else
674
- {
675
- temp = shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> >(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>(m_pimpl->m_ptraits));
676
- }
677
- temp->assign(p1, p2, f);
678
- temp.swap(m_pimpl);
679
- return *this;
680
- }
681
-
682
- template <class charT, class traits>
683
- typename basic_regex<charT, traits>::locale_type BOOST_REGEX_CALL basic_regex<charT, traits>::imbue(locale_type l)
684
- {
685
- shared_ptr<BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits> > temp(new BOOST_REGEX_DETAIL_NS::basic_regex_implementation<charT, traits>());
686
- locale_type result = temp->imbue(l);
687
- temp.swap(m_pimpl);
688
- return result;
689
- }
690
-
691
- //
692
- // non-members:
693
- //
694
- template <class charT, class traits>
695
- void swap(basic_regex<charT, traits>& e1, basic_regex<charT, traits>& e2)
696
- {
697
- e1.swap(e2);
698
- }
699
-
700
- #ifndef BOOST_NO_STD_LOCALE
701
- template <class charT, class traits, class traits2>
702
- std::basic_ostream<charT, traits>&
703
- operator << (std::basic_ostream<charT, traits>& os,
704
- const basic_regex<charT, traits2>& e)
705
- {
706
- return (os << e.str());
707
- }
708
- #else
709
- template <class traits>
710
- std::ostream& operator << (std::ostream& os, const basic_regex<char, traits>& e)
711
- {
712
- return (os << e.str());
713
- }
714
- #endif
715
-
716
- //
717
- // class reg_expression:
718
- // this is provided for backwards compatibility only,
719
- // it is deprecated, no not use!
720
- //
721
- #ifdef BOOST_REGEX_NO_FWD
722
- template <class charT, class traits = regex_traits<charT> >
723
- #else
724
- template <class charT, class traits >
725
- #endif
726
- class reg_expression : public basic_regex<charT, traits>
727
- {
728
- public:
729
- typedef typename basic_regex<charT, traits>::flag_type flag_type;
730
- typedef typename basic_regex<charT, traits>::size_type size_type;
731
- explicit reg_expression(){}
732
- explicit reg_expression(const charT* p, flag_type f = regex_constants::normal)
733
- : basic_regex<charT, traits>(p, f){}
734
- reg_expression(const charT* p1, const charT* p2, flag_type f = regex_constants::normal)
735
- : basic_regex<charT, traits>(p1, p2, f){}
736
- reg_expression(const charT* p, size_type len, flag_type f)
737
- : basic_regex<charT, traits>(p, len, f){}
738
- reg_expression(const reg_expression& that)
739
- : basic_regex<charT, traits>(that) {}
740
- ~reg_expression(){}
741
- reg_expression& BOOST_REGEX_CALL operator=(const reg_expression& that)
742
- {
743
- return this->assign(that);
744
- }
745
-
746
- #if !defined(BOOST_NO_MEMBER_TEMPLATES)
747
- template <class ST, class SA>
748
- explicit reg_expression(const std::basic_string<charT, ST, SA>& p, flag_type f = regex_constants::normal)
749
- : basic_regex<charT, traits>(p, f)
750
- {
751
- }
752
-
753
- template <class InputIterator>
754
- reg_expression(InputIterator arg_first, InputIterator arg_last, flag_type f = regex_constants::normal)
755
- : basic_regex<charT, traits>(arg_first, arg_last, f)
756
- {
757
- }
758
-
759
- template <class ST, class SA>
760
- reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT, ST, SA>& p)
761
- {
762
- this->assign(p);
763
- return *this;
764
- }
765
- #else
766
- explicit reg_expression(const std::basic_string<charT>& p, flag_type f = regex_constants::normal)
767
- : basic_regex<charT, traits>(p, f)
768
- {
769
- }
770
-
771
- reg_expression& BOOST_REGEX_CALL operator=(const std::basic_string<charT>& p)
772
- {
773
- this->assign(p);
774
- return *this;
775
- }
776
- #endif
777
-
778
- };
779
-
780
- #ifdef BOOST_MSVC
781
- #pragma warning (pop)
782
- #endif
783
-
784
- } // namespace boost
785
-
786
- #ifdef BOOST_MSVC
787
- #pragma warning(push)
788
- #pragma warning(disable: 4103)
789
- #endif
790
- #ifdef BOOST_HAS_ABI_HEADERS
791
- # include BOOST_ABI_SUFFIX
792
- #endif
793
- #ifdef BOOST_MSVC
794
- #pragma warning(pop)
795
- #endif
796
-
797
- #endif