passenger 6.0.27 → 6.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +42 -2
  3. data/CONTRIBUTORS +2 -0
  4. data/Rakefile +6 -13
  5. data/bin/passenger-install-apache2-module +21 -22
  6. data/bin/passenger-install-nginx-module +50 -47
  7. data/bin/passenger-status +9 -10
  8. data/build/common_library.rb +4 -4
  9. data/build/support/cxx_dependency_map.rb +3 -621
  10. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
  11. data/build/test_basics.rb +4 -3
  12. data/dev/copy_boost_headers +54 -40
  13. data/dev/index_cxx_dependencies.rb +4 -0
  14. data/dev/ruby_server.rb +1 -1
  15. data/package.json +1 -1
  16. data/src/agent/Core/ApplicationPool/Implementation.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Socket.h +3 -3
  18. data/src/agent/Core/ApplicationPool/TestSession.h +3 -4
  19. data/src/agent/Core/Config.h +1 -6
  20. data/src/agent/Core/Controller/Config.h +1 -1
  21. data/src/agent/Core/CoreMain.cpp +1 -0
  22. data/src/agent/Core/SecurityUpdateChecker.h +10 -1
  23. data/src/agent/Core/SpawningKit/Exceptions.h +0 -1
  24. data/src/agent/Core/SpawningKit/Handshake/Perform.h +13 -2
  25. data/src/agent/Shared/Fundamentals/AbortHandler.cpp +23 -5
  26. data/src/agent/Shared/Fundamentals/AbortHandler.h +10 -22
  27. data/src/agent/Shared/Fundamentals/Initialization.cpp +1 -0
  28. data/src/agent/Watchdog/Config.h +1 -1
  29. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +5 -0
  30. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +5 -0
  31. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +14 -0
  32. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +3 -0
  33. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +3 -0
  34. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  35. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +7 -0
  36. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +17 -0
  37. data/src/apache2_module/Hooks.cpp +0 -6
  38. data/src/cxx_supportlib/ConfigKit/IN_PRACTICE.md +2 -12
  39. data/src/cxx_supportlib/ConfigKit/Store.h +1 -6
  40. data/src/cxx_supportlib/Constants.h +1 -1
  41. data/src/cxx_supportlib/DataStructures/StringKeyTable.h +1 -7
  42. data/src/cxx_supportlib/Exceptions.cpp +178 -0
  43. data/src/cxx_supportlib/Exceptions.h +62 -177
  44. data/src/cxx_supportlib/IOTools/IOUtils.cpp +255 -228
  45. data/src/cxx_supportlib/IOTools/IOUtils.h +84 -121
  46. data/src/cxx_supportlib/ServerKit/Config.h +1 -6
  47. data/src/cxx_supportlib/ServerKit/FileBufferedChannel.h +1 -1
  48. data/src/cxx_supportlib/StaticString.h +1 -6
  49. data/src/cxx_supportlib/Utils/Curl.h +1 -6
  50. data/src/cxx_supportlib/Utils/ScopeGuard.h +0 -32
  51. data/src/cxx_supportlib/oxt/implementation.cpp +2 -2
  52. data/src/cxx_supportlib/oxt/spin_lock.hpp +94 -23
  53. data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
  55. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
  56. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
  57. data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
  58. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
  59. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
  60. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
  61. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
  62. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
  63. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
  64. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
  65. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
  67. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
  68. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
  69. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
  70. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
  71. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
  72. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
  73. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
  76. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
  77. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
  78. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
  79. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
  80. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
  81. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
  82. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
  83. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
  84. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
  85. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
  86. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
  88. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
  89. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
  90. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
  91. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
  92. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
  93. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
  94. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
  96. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
  97. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
  98. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
  99. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
  100. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
  101. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
  102. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
  103. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
  104. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
  105. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
  106. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
  107. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
  108. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
  109. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
  110. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
  111. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
  112. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
  114. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
  115. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
  116. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
  117. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
  118. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
  119. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
  120. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
  121. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
  122. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
  123. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
  124. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
  125. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
  126. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
  127. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
  128. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
  129. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
  130. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
  131. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
  132. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
  133. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
  134. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
  135. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
  136. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
  137. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
  138. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
  139. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
  140. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
  141. data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
  142. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
  143. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
  144. data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
  145. data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
  149. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
  150. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
  152. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
  153. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
  154. data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
  156. data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
  157. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
  158. data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
  159. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
  160. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
  161. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
  163. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
  164. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
  166. data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
  167. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
  170. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
  171. data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
  172. data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
  173. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
  174. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
  175. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
  176. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
  177. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
  179. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
  180. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
  181. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
  182. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
  183. data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
  184. data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
  185. data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
  186. data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
  187. data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
  188. data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
  190. data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
  192. data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
  193. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
  194. data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
  196. data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
  197. data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
  198. data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
  199. data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
  200. data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
  206. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
  207. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
  211. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
  212. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
  213. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
  215. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
  216. data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
  217. data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
  218. data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
  219. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
  220. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
  221. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
  222. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
  223. data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
  224. data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
  225. data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
  226. data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
  227. data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
  231. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
  232. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
  235. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
  236. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
  238. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
  239. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
  240. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
  241. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
  243. data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
  244. data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
  248. data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
  249. data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
  253. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
  255. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
  256. data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
  257. data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
  258. data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
  261. data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
  266. data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
  267. data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
  269. data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
  271. data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
  272. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
  273. data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
  274. data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
  275. data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
  276. data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
  283. data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
  301. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
  302. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
  303. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
  304. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
  305. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
  306. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
  307. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
  308. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
  309. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
  310. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
  311. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
  312. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
  313. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
  314. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
  315. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
  316. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
  317. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
  318. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
  319. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
  320. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
  321. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
  322. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
  323. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
  324. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
  329. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
  330. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
  332. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
  333. data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
  335. data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
  336. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
  337. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
  338. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
  339. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
  340. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
  341. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
  342. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
  344. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
  345. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
  346. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
  347. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
  348. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
  349. data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
  352. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
  353. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
  354. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
  355. data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
  356. data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
  357. data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
  358. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
  359. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
  360. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
  361. data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
  362. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  363. data/src/nginx_module/ContentHandler.c +2 -0
  364. data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
  365. data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
  366. data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
  367. data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
  368. data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
  369. data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
  370. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
  371. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
  372. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +12 -23
  373. data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +31 -32
  374. data/src/ruby_supportlib/phusion_passenger/rack_handler.rb +2 -2
  375. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
  376. data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
  377. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
  378. data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
  379. data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
  380. data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
  381. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  382. metadata +27 -104
  383. data/src/cxx_supportlib/oxt/detail/spin_lock_darwin.hpp +0 -75
  384. data/src/cxx_supportlib/oxt/detail/spin_lock_gcc_x86.hpp +0 -85
  385. data/src/cxx_supportlib/oxt/detail/spin_lock_portable.hpp +0 -38
  386. data/src/cxx_supportlib/oxt/detail/spin_lock_pthreads.hpp +0 -111
  387. data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
  388. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
  389. data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
  390. data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
  391. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
  392. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
  393. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
  394. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
  395. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
  396. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
  397. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
  398. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
  399. data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
  400. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
  401. data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
  402. data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
  403. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
  404. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
  405. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
  406. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
  407. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
  408. data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
  409. data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
  410. data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
  411. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
  412. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
  413. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
  414. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
  415. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
  416. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
  417. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
  418. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
  419. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
  420. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
  421. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
  422. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
  423. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
  424. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
  425. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
  426. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
  427. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
  428. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
  429. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
  430. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
  431. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
  432. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
  433. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
  434. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
  435. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
  436. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
  437. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
  438. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
  439. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
  440. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
  441. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
  442. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
  443. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
  444. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
  445. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
  446. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
  447. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
  448. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
  449. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
  450. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
  451. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
  452. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
  453. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
  454. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
  455. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
  456. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
  457. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  458. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  459. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  460. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  461. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  462. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  463. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  464. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  465. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  466. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  467. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  468. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  469. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  470. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  471. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  472. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  473. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  474. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  475. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  476. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  477. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
  478. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  479. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
  480. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
  481. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
  482. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
@@ -1,382 +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 regex_match.hpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Regular expression matching algorithms.
17
- * Note this is an internal header file included
18
- * by regex.hpp, do not include on its own.
19
- */
20
-
21
-
22
- #ifndef BOOST_REGEX_MATCH_HPP
23
- #define BOOST_REGEX_MATCH_HPP
24
-
25
- namespace boost{
26
-
27
- #ifdef BOOST_MSVC
28
- #pragma warning(push)
29
- #pragma warning(disable: 4103)
30
- #endif
31
- #ifdef BOOST_HAS_ABI_HEADERS
32
- # include BOOST_ABI_PREFIX
33
- #endif
34
- #ifdef BOOST_MSVC
35
- #pragma warning(pop)
36
- #endif
37
-
38
- //
39
- // proc regex_match
40
- // returns true if the specified regular expression matches
41
- // the whole of the input. Fills in what matched in m.
42
- //
43
- template <class BidiIterator, class Allocator, class charT, class traits>
44
- bool regex_match(BidiIterator first, BidiIterator last,
45
- match_results<BidiIterator, Allocator>& m,
46
- const basic_regex<charT, traits>& e,
47
- match_flag_type flags = match_default)
48
- {
49
- BOOST_REGEX_DETAIL_NS::perl_matcher<BidiIterator, Allocator, traits> matcher(first, last, m, e, flags, first);
50
- return matcher.match();
51
- }
52
- template <class iterator, class charT, class traits>
53
- bool regex_match(iterator first, iterator last,
54
- const basic_regex<charT, traits>& e,
55
- match_flag_type flags = match_default)
56
- {
57
- match_results<iterator> m;
58
- return regex_match(first, last, m, e, flags | regex_constants::match_any);
59
- }
60
- //
61
- // query_match convenience interfaces:
62
- #ifndef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
63
- //
64
- // this isn't really a partial specialisation, but template function
65
- // overloading - if the compiler doesn't support partial specialisation
66
- // then it really won't support this either:
67
- template <class charT, class Allocator, class traits>
68
- inline bool regex_match(const charT* str,
69
- match_results<const charT*, Allocator>& m,
70
- const basic_regex<charT, traits>& e,
71
- match_flag_type flags = match_default)
72
- {
73
- return regex_match(str, str + traits::length(str), m, e, flags);
74
- }
75
-
76
- template <class ST, class SA, class Allocator, class charT, class traits>
77
- inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
78
- match_results<typename std::basic_string<charT, ST, SA>::const_iterator, Allocator>& m,
79
- const basic_regex<charT, traits>& e,
80
- match_flag_type flags = match_default)
81
- {
82
- return regex_match(s.begin(), s.end(), m, e, flags);
83
- }
84
- template <class charT, class traits>
85
- inline bool regex_match(const charT* str,
86
- const basic_regex<charT, traits>& e,
87
- match_flag_type flags = match_default)
88
- {
89
- match_results<const charT*> m;
90
- return regex_match(str, str + traits::length(str), m, e, flags | regex_constants::match_any);
91
- }
92
-
93
- template <class ST, class SA, class charT, class traits>
94
- inline bool regex_match(const std::basic_string<charT, ST, SA>& s,
95
- const basic_regex<charT, traits>& e,
96
- match_flag_type flags = match_default)
97
- {
98
- typedef typename std::basic_string<charT, ST, SA>::const_iterator iterator;
99
- match_results<iterator> m;
100
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
101
- }
102
- #else // partial ordering
103
- inline bool regex_match(const char* str,
104
- cmatch& m,
105
- const regex& e,
106
- match_flag_type flags = match_default)
107
- {
108
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
109
- }
110
- inline bool regex_match(const char* str,
111
- const regex& e,
112
- match_flag_type flags = match_default)
113
- {
114
- match_results<const char*> m;
115
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
116
- }
117
- #ifndef BOOST_NO_STD_LOCALE
118
- inline bool regex_match(const char* str,
119
- cmatch& m,
120
- const basic_regex<char, cpp_regex_traits<char> >& e,
121
- match_flag_type flags = match_default)
122
- {
123
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
124
- }
125
- inline bool regex_match(const char* str,
126
- const basic_regex<char, cpp_regex_traits<char> >& e,
127
- match_flag_type flags = match_default)
128
- {
129
- match_results<const char*> m;
130
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
131
- }
132
- #endif
133
- inline bool regex_match(const char* str,
134
- cmatch& m,
135
- const basic_regex<char, c_regex_traits<char> >& e,
136
- match_flag_type flags = match_default)
137
- {
138
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
139
- }
140
- inline bool regex_match(const char* str,
141
- const basic_regex<char, c_regex_traits<char> >& e,
142
- match_flag_type flags = match_default)
143
- {
144
- match_results<const char*> m;
145
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
146
- }
147
- #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
148
- inline bool regex_match(const char* str,
149
- cmatch& m,
150
- const basic_regex<char, w32_regex_traits<char> >& e,
151
- match_flag_type flags = match_default)
152
- {
153
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags);
154
- }
155
- inline bool regex_match(const char* str,
156
- const basic_regex<char, w32_regex_traits<char> >& e,
157
- match_flag_type flags = match_default)
158
- {
159
- match_results<const char*> m;
160
- return regex_match(str, str + regex::traits_type::length(str), m, e, flags | regex_constants::match_any);
161
- }
162
- #endif
163
- #ifndef BOOST_NO_WREGEX
164
- inline bool regex_match(const wchar_t* str,
165
- wcmatch& m,
166
- const wregex& e,
167
- match_flag_type flags = match_default)
168
- {
169
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
170
- }
171
- inline bool regex_match(const wchar_t* str,
172
- const wregex& e,
173
- match_flag_type flags = match_default)
174
- {
175
- match_results<const wchar_t*> m;
176
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
177
- }
178
- #ifndef BOOST_NO_STD_LOCALE
179
- inline bool regex_match(const wchar_t* str,
180
- wcmatch& m,
181
- const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e,
182
- match_flag_type flags = match_default)
183
- {
184
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
185
- }
186
- inline bool regex_match(const wchar_t* str,
187
- const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e,
188
- match_flag_type flags = match_default)
189
- {
190
- match_results<const wchar_t*> m;
191
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
192
- }
193
- #endif
194
- inline bool regex_match(const wchar_t* str,
195
- wcmatch& m,
196
- const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e,
197
- match_flag_type flags = match_default)
198
- {
199
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
200
- }
201
- inline bool regex_match(const wchar_t* str,
202
- const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e,
203
- match_flag_type flags = match_default)
204
- {
205
- match_results<const wchar_t*> m;
206
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
207
- }
208
- #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
209
- inline bool regex_match(const wchar_t* str,
210
- wcmatch& m,
211
- const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e,
212
- match_flag_type flags = match_default)
213
- {
214
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags);
215
- }
216
- inline bool regex_match(const wchar_t* str,
217
- const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e,
218
- match_flag_type flags = match_default)
219
- {
220
- match_results<const wchar_t*> m;
221
- return regex_match(str, str + wregex::traits_type::length(str), m, e, flags | regex_constants::match_any);
222
- }
223
- #endif
224
- #endif
225
- inline bool regex_match(const std::string& s,
226
- smatch& m,
227
- const regex& e,
228
- match_flag_type flags = match_default)
229
- {
230
- return regex_match(s.begin(), s.end(), m, e, flags);
231
- }
232
- inline bool regex_match(const std::string& s,
233
- const regex& e,
234
- match_flag_type flags = match_default)
235
- {
236
- match_results<std::string::const_iterator> m;
237
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
238
- }
239
- #ifndef BOOST_NO_STD_LOCALE
240
- inline bool regex_match(const std::string& s,
241
- smatch& m,
242
- const basic_regex<char, cpp_regex_traits<char> >& e,
243
- match_flag_type flags = match_default)
244
- {
245
- return regex_match(s.begin(), s.end(), m, e, flags);
246
- }
247
- inline bool regex_match(const std::string& s,
248
- const basic_regex<char, cpp_regex_traits<char> >& e,
249
- match_flag_type flags = match_default)
250
- {
251
- match_results<std::string::const_iterator> m;
252
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
253
- }
254
- #endif
255
- inline bool regex_match(const std::string& s,
256
- smatch& m,
257
- const basic_regex<char, c_regex_traits<char> >& e,
258
- match_flag_type flags = match_default)
259
- {
260
- return regex_match(s.begin(), s.end(), m, e, flags);
261
- }
262
- inline bool regex_match(const std::string& s,
263
- const basic_regex<char, c_regex_traits<char> >& e,
264
- match_flag_type flags = match_default)
265
- {
266
- match_results<std::string::const_iterator> m;
267
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
268
- }
269
- #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
270
- inline bool regex_match(const std::string& s,
271
- smatch& m,
272
- const basic_regex<char, w32_regex_traits<char> >& e,
273
- match_flag_type flags = match_default)
274
- {
275
- return regex_match(s.begin(), s.end(), m, e, flags);
276
- }
277
- inline bool regex_match(const std::string& s,
278
- const basic_regex<char, w32_regex_traits<char> >& e,
279
- match_flag_type flags = match_default)
280
- {
281
- match_results<std::string::const_iterator> m;
282
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
283
- }
284
- #endif
285
- #if !defined(BOOST_NO_WREGEX)
286
- inline bool regex_match(const std::basic_string<wchar_t>& s,
287
- match_results<std::basic_string<wchar_t>::const_iterator>& m,
288
- const wregex& e,
289
- match_flag_type flags = match_default)
290
- {
291
- return regex_match(s.begin(), s.end(), m, e, flags);
292
- }
293
- inline bool regex_match(const std::basic_string<wchar_t>& s,
294
- const wregex& e,
295
- match_flag_type flags = match_default)
296
- {
297
- match_results<std::basic_string<wchar_t>::const_iterator> m;
298
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
299
- }
300
- #ifndef BOOST_NO_STD_LOCALE
301
- inline bool regex_match(const std::basic_string<wchar_t>& s,
302
- match_results<std::basic_string<wchar_t>::const_iterator>& m,
303
- const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e,
304
- match_flag_type flags = match_default)
305
- {
306
- return regex_match(s.begin(), s.end(), m, e, flags);
307
- }
308
- inline bool regex_match(const std::basic_string<wchar_t>& s,
309
- const basic_regex<wchar_t, cpp_regex_traits<wchar_t> >& e,
310
- match_flag_type flags = match_default)
311
- {
312
- match_results<std::basic_string<wchar_t>::const_iterator> m;
313
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
314
- }
315
- #endif
316
- inline bool regex_match(const std::basic_string<wchar_t>& s,
317
- match_results<std::basic_string<wchar_t>::const_iterator>& m,
318
- const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e,
319
- match_flag_type flags = match_default)
320
- {
321
- return regex_match(s.begin(), s.end(), m, e, flags);
322
- }
323
- inline bool regex_match(const std::basic_string<wchar_t>& s,
324
- const basic_regex<wchar_t, c_regex_traits<wchar_t> >& e,
325
- match_flag_type flags = match_default)
326
- {
327
- match_results<std::basic_string<wchar_t>::const_iterator> m;
328
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
329
- }
330
- #if defined(_WIN32) && !defined(BOOST_REGEX_NO_W32)
331
- inline bool regex_match(const std::basic_string<wchar_t>& s,
332
- match_results<std::basic_string<wchar_t>::const_iterator>& m,
333
- const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e,
334
- match_flag_type flags = match_default)
335
- {
336
- return regex_match(s.begin(), s.end(), m, e, flags);
337
- }
338
- inline bool regex_match(const std::basic_string<wchar_t>& s,
339
- const basic_regex<wchar_t, w32_regex_traits<wchar_t> >& e,
340
- match_flag_type flags = match_default)
341
- {
342
- match_results<std::basic_string<wchar_t>::const_iterator> m;
343
- return regex_match(s.begin(), s.end(), m, e, flags | regex_constants::match_any);
344
- }
345
- #endif
346
- #endif
347
-
348
- #endif
349
-
350
-
351
- #ifdef BOOST_MSVC
352
- #pragma warning(push)
353
- #pragma warning(disable: 4103)
354
- #endif
355
- #ifdef BOOST_HAS_ABI_HEADERS
356
- # include BOOST_ABI_SUFFIX
357
- #endif
358
- #ifdef BOOST_MSVC
359
- #pragma warning(pop)
360
- #endif
361
-
362
- } // namespace boost
363
-
364
- #endif // BOOST_REGEX_MATCH_HPP
365
-
366
-
367
-
368
-
369
-
370
-
371
-
372
-
373
-
374
-
375
-
376
-
377
-
378
-
379
-
380
-
381
-
382
-
@@ -1,93 +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 regex_format.hpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Provides formatting output routines for search and replace
17
- * operations. Note this is an internal header file included
18
- * by regex.hpp, do not include on its own.
19
- */
20
-
21
- #ifndef BOOST_REGEX_V4_REGEX_MERGE_HPP
22
- #define BOOST_REGEX_V4_REGEX_MERGE_HPP
23
-
24
-
25
- namespace boost{
26
-
27
- #ifdef BOOST_MSVC
28
- #pragma warning(push)
29
- #pragma warning(disable: 4103)
30
- #endif
31
- #ifdef BOOST_HAS_ABI_HEADERS
32
- # include BOOST_ABI_PREFIX
33
- #endif
34
- #ifdef BOOST_MSVC
35
- #pragma warning(pop)
36
- #endif
37
-
38
- template <class OutputIterator, class Iterator, class traits, class charT>
39
- inline OutputIterator regex_merge(OutputIterator out,
40
- Iterator first,
41
- Iterator last,
42
- const basic_regex<charT, traits>& e,
43
- const charT* fmt,
44
- match_flag_type flags = match_default)
45
- {
46
- return regex_replace(out, first, last, e, fmt, flags);
47
- }
48
-
49
- template <class OutputIterator, class Iterator, class traits, class charT>
50
- inline OutputIterator regex_merge(OutputIterator out,
51
- Iterator first,
52
- Iterator last,
53
- const basic_regex<charT, traits>& e,
54
- const std::basic_string<charT>& fmt,
55
- match_flag_type flags = match_default)
56
- {
57
- return regex_merge(out, first, last, e, fmt.c_str(), flags);
58
- }
59
-
60
- template <class traits, class charT>
61
- inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
62
- const basic_regex<charT, traits>& e,
63
- const charT* fmt,
64
- match_flag_type flags = match_default)
65
- {
66
- return regex_replace(s, e, fmt, flags);
67
- }
68
-
69
- template <class traits, class charT>
70
- inline std::basic_string<charT> regex_merge(const std::basic_string<charT>& s,
71
- const basic_regex<charT, traits>& e,
72
- const std::basic_string<charT>& fmt,
73
- match_flag_type flags = match_default)
74
- {
75
- return regex_replace(s, e, fmt, flags);
76
- }
77
-
78
- #ifdef BOOST_MSVC
79
- #pragma warning(push)
80
- #pragma warning(disable: 4103)
81
- #endif
82
- #ifdef BOOST_HAS_ABI_HEADERS
83
- # include BOOST_ABI_SUFFIX
84
- #endif
85
- #ifdef BOOST_MSVC
86
- #pragma warning(pop)
87
- #endif
88
-
89
- } // namespace boost
90
-
91
- #endif // BOOST_REGEX_V4_REGEX_MERGE_HPP
92
-
93
-
@@ -1,241 +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 regex_raw_buffer.hpp
15
- * VERSION see <boost/version.hpp>
16
- * DESCRIPTION: Raw character buffer for regex code.
17
- * Note this is an internal header file included
18
- * by regex.hpp, do not include on its own.
19
- */
20
-
21
- #ifndef BOOST_REGEX_RAW_BUFFER_HPP
22
- #define BOOST_REGEX_RAW_BUFFER_HPP
23
-
24
- #ifndef BOOST_REGEX_CONFIG_HPP
25
- #include <boost/regex/config.hpp>
26
- #endif
27
-
28
- #include <algorithm>
29
- #include <cstddef>
30
-
31
- namespace boost{
32
- namespace BOOST_REGEX_DETAIL_NS{
33
-
34
- #ifdef BOOST_MSVC
35
- #pragma warning(push)
36
- #pragma warning(disable: 4103)
37
- #endif
38
- #ifdef BOOST_HAS_ABI_HEADERS
39
- # include BOOST_ABI_PREFIX
40
- #endif
41
- #ifdef BOOST_MSVC
42
- #pragma warning(pop)
43
- #endif
44
-
45
- struct empty_padding{};
46
-
47
- union padding
48
- {
49
- void* p;
50
- unsigned int i;
51
- };
52
-
53
- template <int N>
54
- struct padding3
55
- {
56
- enum{
57
- padding_size = 8,
58
- padding_mask = 7
59
- };
60
- };
61
-
62
- template<>
63
- struct padding3<2>
64
- {
65
- enum{
66
- padding_size = 2,
67
- padding_mask = 1
68
- };
69
- };
70
-
71
- template<>
72
- struct padding3<4>
73
- {
74
- enum{
75
- padding_size = 4,
76
- padding_mask = 3
77
- };
78
- };
79
-
80
- template<>
81
- struct padding3<8>
82
- {
83
- enum{
84
- padding_size = 8,
85
- padding_mask = 7
86
- };
87
- };
88
-
89
- template<>
90
- struct padding3<16>
91
- {
92
- enum{
93
- padding_size = 16,
94
- padding_mask = 15
95
- };
96
- };
97
-
98
- enum{
99
- padding_size = padding3<sizeof(padding)>::padding_size,
100
- padding_mask = padding3<sizeof(padding)>::padding_mask
101
- };
102
-
103
- //
104
- // class raw_storage
105
- // basically this is a simplified vector<unsigned char>
106
- // this is used by basic_regex for expression storage
107
- //
108
-
109
- class raw_storage
110
- {
111
- public:
112
- typedef std::size_t size_type;
113
- typedef unsigned char* pointer;
114
- private:
115
- pointer last, start, end;
116
- public:
117
-
118
- raw_storage();
119
- raw_storage(size_type n);
120
-
121
- ~raw_storage()
122
- {
123
- ::operator delete(start);
124
- }
125
-
126
- void BOOST_REGEX_CALL resize(size_type n)
127
- {
128
- size_type newsize = start ? last - start : 1024;
129
- while (newsize < n)
130
- newsize *= 2;
131
- size_type datasize = end - start;
132
- // extend newsize to WORD/DWORD boundary:
133
- newsize = (newsize + padding_mask) & ~(padding_mask);
134
-
135
- // allocate and copy data:
136
- pointer ptr = static_cast<pointer>(::operator new(newsize));
137
- BOOST_REGEX_NOEH_ASSERT(ptr)
138
- if (start)
139
- std::memcpy(ptr, start, datasize);
140
-
141
- // get rid of old buffer:
142
- ::operator delete(start);
143
-
144
- // and set up pointers:
145
- start = ptr;
146
- end = ptr + datasize;
147
- last = ptr + newsize;
148
- }
149
-
150
- void* BOOST_REGEX_CALL extend(size_type n)
151
- {
152
- if(size_type(last - end) < n)
153
- resize(n + (end - start));
154
- pointer result = end;
155
- end += n;
156
- return result;
157
- }
158
-
159
- void* BOOST_REGEX_CALL insert(size_type pos, size_type n)
160
- {
161
- BOOST_REGEX_ASSERT(pos <= size_type(end - start));
162
- if (size_type(last - end) < n)
163
- resize(n + (end - start));
164
- void* result = start + pos;
165
- std::memmove(start + pos + n, start + pos, (end - start) - pos);
166
- end += n;
167
- return result;
168
- }
169
-
170
- size_type BOOST_REGEX_CALL size()
171
- {
172
- return size_type(end - start);
173
- }
174
-
175
- size_type BOOST_REGEX_CALL capacity()
176
- {
177
- return size_type(last - start);
178
- }
179
-
180
- void* BOOST_REGEX_CALL data()const
181
- {
182
- return start;
183
- }
184
-
185
- size_type BOOST_REGEX_CALL index(void* ptr)
186
- {
187
- return size_type(static_cast<pointer>(ptr) - static_cast<pointer>(data()));
188
- }
189
-
190
- void BOOST_REGEX_CALL clear()
191
- {
192
- end = start;
193
- }
194
-
195
- void BOOST_REGEX_CALL align()
196
- {
197
- // move end up to a boundary:
198
- end = start + (((end - start) + padding_mask) & ~padding_mask);
199
- }
200
- void swap(raw_storage& that)
201
- {
202
- std::swap(start, that.start);
203
- std::swap(end, that.end);
204
- std::swap(last, that.last);
205
- }
206
- };
207
-
208
- inline raw_storage::raw_storage()
209
- {
210
- last = start = end = 0;
211
- }
212
-
213
- inline raw_storage::raw_storage(size_type n)
214
- {
215
- start = end = static_cast<pointer>(::operator new(n));
216
- BOOST_REGEX_NOEH_ASSERT(start)
217
- last = start + n;
218
- }
219
-
220
-
221
- #ifdef BOOST_MSVC
222
- #pragma warning(push)
223
- #pragma warning(disable: 4103)
224
- #endif
225
- #ifdef BOOST_HAS_ABI_HEADERS
226
- # include BOOST_ABI_SUFFIX
227
- #endif
228
- #ifdef BOOST_MSVC
229
- #pragma warning(pop)
230
- #endif
231
-
232
- } // namespace BOOST_REGEX_DETAIL_NS
233
- } // namespace boost
234
-
235
- #endif
236
-
237
-
238
-
239
-
240
-
241
-