passenger 6.0.2 → 6.0.7

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 (468) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +152 -19
  3. data/CONTRIBUTING.md +1 -1
  4. data/CONTRIBUTORS +5 -0
  5. data/bin/passenger-install-nginx-module +1 -1
  6. data/bin/passenger-memory-stats +65 -12
  7. data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
  8. data/dev/copy_boost_headers +1 -0
  9. data/package.json +1 -1
  10. data/passenger.gemspec +9 -1
  11. data/resources/templates/error_renderer/with_details/dist/bundle.js +1 -1
  12. data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
  14. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  15. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  16. data/resources/templates/standalone/http.erb +1 -0
  17. data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
  18. data/resources/templates/standalone/server.erb +1 -0
  19. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -0
  21. data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
  22. data/src/agent/Core/ApplicationPool/Options.h +19 -0
  23. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  24. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  25. data/src/agent/Core/Config.h +15 -1
  26. data/src/agent/Core/Controller.h +1 -0
  27. data/src/agent/Core/Controller/Config.h +9 -1
  28. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  29. data/src/agent/Core/Controller/InitRequest.cpp +5 -0
  30. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  31. data/src/agent/Core/CoreMain.cpp +1 -0
  32. data/src/agent/Core/OptionParser.h +3 -0
  33. data/src/agent/Core/SpawningKit/Config.h +11 -0
  34. data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -0
  35. data/src/agent/Core/SpawningKit/Context.h +1 -0
  36. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  37. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  38. data/src/agent/Core/SpawningKit/Spawner.h +1 -0
  39. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  40. data/src/agent/Watchdog/Config.h +16 -1
  41. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  42. data/src/apache2_module/Config.cpp +1 -1
  43. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
  44. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
  45. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
  46. data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
  47. data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
  48. data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
  49. data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
  50. data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
  51. data/src/apache2_module/Hooks.cpp +5 -0
  52. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
  53. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
  54. data/src/cxx_supportlib/Constants.h +4 -2
  55. data/src/cxx_supportlib/Hooks.h +1 -0
  56. data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
  57. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  58. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
  59. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  60. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  61. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  75. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  76. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  77. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  78. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  79. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  80. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  81. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  82. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  84. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  85. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  86. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  87. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  88. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  89. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  90. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  91. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  92. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  93. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  94. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  95. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  97. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  98. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  99. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  100. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  101. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  102. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  103. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  104. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  106. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  117. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  118. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  119. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  120. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  121. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  122. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  123. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  124. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  126. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  127. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  128. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  129. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  130. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  131. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  132. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  133. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  134. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  135. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  136. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  137. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  144. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  145. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  149. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  150. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  151. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  152. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  153. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  154. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  155. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  157. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  158. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  160. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  162. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  163. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  164. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  165. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  166. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  167. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  168. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  169. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  170. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  171. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  172. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  173. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  174. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  175. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  176. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  178. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  179. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  180. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  181. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  182. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  183. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  184. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  186. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  187. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  189. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  191. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  192. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  210. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  211. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  212. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  213. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  214. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  215. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  216. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  218. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  219. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  221. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  222. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  223. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  226. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  227. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  228. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  230. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  231. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  232. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  233. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  234. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  235. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  236. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  237. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  238. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  239. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  240. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  241. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  243. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  244. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  245. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  246. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  247. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  248. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  250. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  251. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  252. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  253. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  254. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  255. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  256. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  257. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  258. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  259. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  263. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  265. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  269. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  270. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  272. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  273. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  274. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  275. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  276. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  277. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  278. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  279. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  280. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  281. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  282. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  283. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  284. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  285. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  286. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  287. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  288. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  289. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  301. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  302. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  303. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  304. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  305. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  306. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  308. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  309. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  310. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  311. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  312. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  322. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  323. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  324. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  325. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  326. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  327. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  328. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  329. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  330. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  331. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  332. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  334. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  335. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  336. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  337. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  338. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  339. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  341. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  347. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  348. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  349. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  350. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  352. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  354. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  355. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  356. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  357. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  358. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  359. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  360. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  361. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  393. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  394. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  395. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  396. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  398. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  399. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  400. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  401. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  402. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  403. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  404. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  405. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  413. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  414. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  415. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  417. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  418. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  419. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  420. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  421. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  422. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  423. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  424. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  425. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  426. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  427. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  428. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  429. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  430. data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
  431. data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
  432. data/src/helper-scripts/node-loader.js +1 -1
  433. data/src/helper-scripts/prespawn +1 -0
  434. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  435. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
  436. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  437. data/src/nginx_module/Configuration.c +14 -1
  438. data/src/nginx_module/ContentHandler.c +5 -1
  439. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
  440. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
  441. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
  442. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
  443. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
  444. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
  445. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
  446. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
  447. data/src/nginx_module/ngx_http_passenger_module.c +3 -2
  448. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  449. data/src/ruby_supportlib/phusion_passenger.rb +8 -8
  450. data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
  451. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
  452. data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
  453. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
  454. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
  455. data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
  456. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  457. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  458. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +7 -6
  459. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  460. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
  461. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
  462. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  463. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  464. metadata +42 -8
  465. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  466. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  467. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  468. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -65,8 +65,8 @@ class sgtree_algorithms
65
65
  public:
66
66
  typedef typename NodeTraits::node node;
67
67
  typedef NodeTraits node_traits;
68
- typedef typename NodeTraits::node_ptr node_ptr;
69
- typedef typename NodeTraits::const_node_ptr const_node_ptr;
68
+ typedef typename NodeTraits::node_ptr node_ptr;
69
+ typedef typename NodeTraits::const_node_ptr const_node_ptr;
70
70
 
71
71
  /// @cond
72
72
  private:
@@ -86,57 +86,57 @@ class sgtree_algorithms
86
86
 
87
87
  #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
88
88
  //! @copydoc ::boost::intrusive::bstree_algorithms::get_header(const const_node_ptr&)
89
- static node_ptr get_header(const const_node_ptr & n);
89
+ static node_ptr get_header(const_node_ptr n);
90
90
 
91
91
  //! @copydoc ::boost::intrusive::bstree_algorithms::begin_node
92
- static node_ptr begin_node(const const_node_ptr & header);
92
+ static node_ptr begin_node(const_node_ptr header);
93
93
 
94
94
  //! @copydoc ::boost::intrusive::bstree_algorithms::end_node
95
- static node_ptr end_node(const const_node_ptr & header);
95
+ static node_ptr end_node(const_node_ptr header);
96
96
 
97
97
  //! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
98
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
98
+ static void swap_tree(node_ptr header1, node_ptr header2);
99
99
 
100
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
101
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2);
100
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
101
+ static void swap_nodes(node_ptr node1, node_ptr node2);
102
102
 
103
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
104
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2);
103
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
104
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
105
105
 
106
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
107
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node);
106
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
107
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
108
108
 
109
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
110
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node);
109
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
110
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
111
111
 
112
112
  //Unlink is not possible since tree metadata is needed to update the tree
113
- //!static void unlink(const node_ptr & node);
113
+ //!static void unlink(node_ptr node);
114
114
 
115
115
  //! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
116
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header);
116
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
117
117
 
118
118
  //! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
119
- static bool unique(const const_node_ptr & node);
119
+ static bool unique(const_node_ptr node);
120
120
 
121
121
  //! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
122
- static std::size_t size(const const_node_ptr & header);
122
+ static std::size_t size(const_node_ptr header);
123
123
 
124
124
  //! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
125
- static node_ptr next_node(const node_ptr & node);
125
+ static node_ptr next_node(node_ptr node);
126
126
 
127
127
  //! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
128
- static node_ptr prev_node(const node_ptr & node);
128
+ static node_ptr prev_node(node_ptr node);
129
129
 
130
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
131
- static void init(const node_ptr & node);
130
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
131
+ static void init(node_ptr node);
132
132
 
133
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
134
- static void init_header(const node_ptr & header);
133
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
134
+ static void init_header(node_ptr header);
135
135
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
136
136
 
137
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
137
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
138
138
  template<class AlphaByMaxSize>
139
- static node_ptr erase(const node_ptr & header, const node_ptr & z, std::size_t tree_size, std::size_t &max_tree_size, AlphaByMaxSize alpha_by_maxsize)
139
+ static node_ptr erase(node_ptr header, node_ptr z, std::size_t tree_size, std::size_t &max_tree_size, AlphaByMaxSize alpha_by_maxsize)
140
140
  {
141
141
  bstree_algo::erase(header, z);
142
142
  --tree_size;
@@ -149,51 +149,51 @@ class sgtree_algorithms
149
149
  }
150
150
 
151
151
  #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
152
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
152
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
153
153
  template <class Cloner, class Disposer>
154
154
  static void clone
155
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer);
155
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
156
156
 
157
157
  //! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
158
158
  template<class Disposer>
159
- static void clear_and_dispose(const node_ptr & header, Disposer disposer);
159
+ static void clear_and_dispose(node_ptr header, Disposer disposer);
160
160
 
161
161
  //! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
162
162
  template<class KeyType, class KeyNodePtrCompare>
163
163
  static node_ptr lower_bound
164
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
164
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
165
165
 
166
166
  //! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
167
167
  template<class KeyType, class KeyNodePtrCompare>
168
168
  static node_ptr upper_bound
169
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
169
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
170
170
 
171
171
  //! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
172
172
  template<class KeyType, class KeyNodePtrCompare>
173
173
  static node_ptr find
174
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
174
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
175
175
 
176
176
  //! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
177
177
  template<class KeyType, class KeyNodePtrCompare>
178
178
  static std::pair<node_ptr, node_ptr> equal_range
179
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
179
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
180
180
 
181
181
  //! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
182
182
  template<class KeyType, class KeyNodePtrCompare>
183
183
  static std::pair<node_ptr, node_ptr> bounded_range
184
- (const const_node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
184
+ (const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
185
185
  , bool left_closed, bool right_closed);
186
186
 
187
187
  //! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
188
188
  template<class KeyType, class KeyNodePtrCompare>
189
- static std::size_t count(const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp);
189
+ static std::size_t count(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
190
190
 
191
191
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
192
192
 
193
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
193
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
194
194
  template<class NodePtrCompare, class H_Alpha>
195
195
  static node_ptr insert_equal_upper_bound
196
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
196
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
197
197
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
198
198
  {
199
199
  std::size_t depth;
@@ -202,10 +202,10 @@ class sgtree_algorithms
202
202
  return new_node;
203
203
  }
204
204
 
205
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
205
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
206
206
  template<class NodePtrCompare, class H_Alpha>
207
207
  static node_ptr insert_equal_lower_bound
208
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
208
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
209
209
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
210
210
  {
211
211
  std::size_t depth;
@@ -214,10 +214,10 @@ class sgtree_algorithms
214
214
  return new_node;
215
215
  }
216
216
 
217
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
217
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
218
218
  template<class NodePtrCompare, class H_Alpha>
219
219
  static node_ptr insert_equal
220
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
220
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp
221
221
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
222
222
  {
223
223
  std::size_t depth;
@@ -226,10 +226,10 @@ class sgtree_algorithms
226
226
  return new_node;
227
227
  }
228
228
 
229
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
229
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
230
230
  template<class H_Alpha>
231
231
  static node_ptr insert_before
232
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node
232
+ (node_ptr header, node_ptr pos, node_ptr new_node
233
233
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
234
234
  {
235
235
  std::size_t depth;
@@ -238,9 +238,9 @@ class sgtree_algorithms
238
238
  return new_node;
239
239
  }
240
240
 
241
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
241
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
242
242
  template<class H_Alpha>
243
- static void push_back(const node_ptr & header, const node_ptr & new_node
243
+ static void push_back(node_ptr header, node_ptr new_node
244
244
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
245
245
  {
246
246
  std::size_t depth;
@@ -248,9 +248,9 @@ class sgtree_algorithms
248
248
  rebalance_after_insertion(new_node, depth, tree_size+1, h_alpha, max_tree_size);
249
249
  }
250
250
 
251
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
251
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
252
252
  template<class H_Alpha>
253
- static void push_front(const node_ptr & header, const node_ptr & new_node
253
+ static void push_front(node_ptr header, node_ptr new_node
254
254
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
255
255
  {
256
256
  std::size_t depth;
@@ -261,7 +261,7 @@ class sgtree_algorithms
261
261
  //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
262
262
  template<class KeyType, class KeyNodePtrCompare>
263
263
  static std::pair<node_ptr, bool> insert_unique_check
264
- (const const_node_ptr & header, const KeyType &key
264
+ (const_node_ptr header, const KeyType &key
265
265
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data)
266
266
  {
267
267
  std::size_t depth;
@@ -274,7 +274,7 @@ class sgtree_algorithms
274
274
  //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
275
275
  template<class KeyType, class KeyNodePtrCompare>
276
276
  static std::pair<node_ptr, bool> insert_unique_check
277
- (const const_node_ptr & header, const node_ptr &hint, const KeyType &key
277
+ (const_node_ptr header, node_ptr hint, const KeyType &key
278
278
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data)
279
279
  {
280
280
  std::size_t depth;
@@ -285,18 +285,18 @@ class sgtree_algorithms
285
285
  return ret;
286
286
  }
287
287
 
288
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data&)
288
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
289
289
  template<class H_Alpha>
290
290
  BOOST_INTRUSIVE_FORCEINLINE static void insert_unique_commit
291
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data
291
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
292
292
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
293
293
  { return insert_commit(header, new_value, commit_data, tree_size, h_alpha, max_tree_size); }
294
294
 
295
295
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
296
296
  template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
297
297
  static bool transfer_unique
298
- ( const node_ptr & header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
299
- , const node_ptr &header2, const node_ptr & z, std::size_t tree2_size, std::size_t &max_tree2_size
298
+ ( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
299
+ , node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
300
300
  ,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
301
301
  {
302
302
  insert_commit_data commit_data;
@@ -311,8 +311,8 @@ class sgtree_algorithms
311
311
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
312
312
  template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
313
313
  static void transfer_equal
314
- ( const node_ptr & header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
315
- , const node_ptr &header2, const node_ptr & z, std::size_t tree2_size, std::size_t &max_tree2_size
314
+ ( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
315
+ , node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
316
316
  ,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
317
317
  {
318
318
  insert_commit_data commit_data;
@@ -323,13 +323,13 @@ class sgtree_algorithms
323
323
 
324
324
  #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
325
325
  //! @copydoc ::boost::intrusive::bstree_algorithms::is_header
326
- static bool is_header(const const_node_ptr & p);
326
+ static bool is_header(const_node_ptr p);
327
327
 
328
328
  //! @copydoc ::boost::intrusive::bstree_algorithms::is_header
329
- static void rebalance(const node_ptr & header);
329
+ static void rebalance(node_ptr header);
330
330
 
331
331
  //! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
332
- static node_ptr rebalance_subtree(const node_ptr & old_root)
332
+ static node_ptr rebalance_subtree(node_ptr old_root)
333
333
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
334
334
 
335
335
  /// @cond
@@ -337,7 +337,7 @@ class sgtree_algorithms
337
337
 
338
338
  template<class KeyType, class KeyNodePtrCompare>
339
339
  static void insert_equal_upper_bound_check
340
- (const node_ptr & header, const KeyType &key
340
+ (node_ptr header, const KeyType &key
341
341
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data)
342
342
  {
343
343
  std::size_t depth;
@@ -347,7 +347,7 @@ class sgtree_algorithms
347
347
 
348
348
  template<class H_Alpha>
349
349
  static void insert_commit
350
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data
350
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
351
351
  ,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
352
352
  {
353
353
  bstree_algo::insert_unique_commit(header, new_value, commit_data);
@@ -356,7 +356,7 @@ class sgtree_algorithms
356
356
 
357
357
  template<class H_Alpha>
358
358
  static void rebalance_after_insertion
359
- (const node_ptr &x, std::size_t depth
359
+ (node_ptr x, std::size_t depth
360
360
  , std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
361
361
  {
362
362
  if(tree_size > max_tree_size)
@@ -1995,7 +1995,7 @@ class slist_impl
1995
1995
  { x.swap(y); }
1996
1996
 
1997
1997
  private:
1998
- void priv_splice_after(const node_ptr & prev_pos_n, slist_impl &x, const node_ptr & before_f_n, const node_ptr & before_l_n)
1998
+ void priv_splice_after(node_ptr prev_pos_n, slist_impl &x, node_ptr before_f_n, node_ptr before_l_n)
1999
1999
  {
2000
2000
  if (cache_last && (before_f_n != before_l_n)){
2001
2001
  if(prev_pos_n == this->get_last_node()){
@@ -2008,7 +2008,7 @@ class slist_impl
2008
2008
  node_algorithms::transfer_after(prev_pos_n, before_f_n, before_l_n);
2009
2009
  }
2010
2010
 
2011
- void priv_incorporate_after(const node_ptr & prev_pos_n, const node_ptr & first_n, const node_ptr & before_l_n)
2011
+ void priv_incorporate_after(node_ptr prev_pos_n, node_ptr first_n, node_ptr before_l_n)
2012
2012
  {
2013
2013
  if(cache_last){
2014
2014
  if(prev_pos_n == this->get_last_node()){
@@ -2108,11 +2108,11 @@ class slist_impl
2108
2108
  }
2109
2109
 
2110
2110
  //circular version
2111
- static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_<false>)
2111
+ static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<false>)
2112
2112
  { node_algorithms::swap_nodes(this_node, other_node); }
2113
2113
 
2114
2114
  //linear version
2115
- static void priv_swap_lists(const node_ptr & this_node, const node_ptr & other_node, detail::bool_<true>)
2115
+ static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<true>)
2116
2116
  { node_algorithms::swap_trailing_nodes(this_node, other_node); }
2117
2117
 
2118
2118
  static slist_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
@@ -54,7 +54,7 @@ struct splaydown_assemble_and_fix_header
54
54
  {
55
55
  typedef typename NodeTraits::node_ptr node_ptr;
56
56
 
57
- splaydown_assemble_and_fix_header(const node_ptr & t, const node_ptr & header, const node_ptr &leftmost, const node_ptr &rightmost)
57
+ splaydown_assemble_and_fix_header(node_ptr t, node_ptr header, node_ptr leftmost, node_ptr rightmost)
58
58
  : t_(t)
59
59
  , null_node_(header)
60
60
  , l_(null_node_)
@@ -187,47 +187,47 @@ class splaytree_algorithms
187
187
  //! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
188
188
  static void swap_tree(const node_ptr & header1, const node_ptr & header2);
189
189
 
190
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
191
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2);
190
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
191
+ static void swap_nodes(node_ptr node1, node_ptr node2);
192
192
 
193
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&,const node_ptr&,const node_ptr&)
194
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2);
193
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
194
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
195
195
 
196
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
197
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node);
196
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
197
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
198
198
 
199
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
200
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node);
199
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
200
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
201
201
 
202
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
203
- static void unlink(const node_ptr & node);
202
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
203
+ static void unlink(node_ptr node);
204
204
 
205
205
  //! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
206
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header);
206
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
207
207
 
208
208
  //! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
209
- static bool unique(const const_node_ptr & node);
209
+ static bool unique(const_node_ptr node);
210
210
 
211
211
  //! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
212
- static std::size_t size(const const_node_ptr & header);
212
+ static std::size_t size(const_node_ptr header);
213
213
 
214
214
  //! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
215
- static node_ptr next_node(const node_ptr & node);
215
+ static node_ptr next_node(node_ptr node);
216
216
 
217
217
  //! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
218
- static node_ptr prev_node(const node_ptr & node);
218
+ static node_ptr prev_node(node_ptr node);
219
219
 
220
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
221
- static void init(const node_ptr & node);
220
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
221
+ static void init(node_ptr node);
222
222
 
223
- //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(const node_ptr&)
224
- static void init_header(const node_ptr & header);
223
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
224
+ static void init_header(node_ptr header);
225
225
 
226
226
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
227
227
 
228
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
228
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
229
229
  //! Additional notes: the previous node of z is splayed to speed up range deletions.
230
- static void erase(const node_ptr & header, const node_ptr & z)
230
+ static void erase(node_ptr header, node_ptr z)
231
231
  {
232
232
  //posibility 1
233
233
  if(NodeTraits::get_left(z)){
@@ -254,7 +254,7 @@ class splaytree_algorithms
254
254
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
255
255
  template<class NodePtrCompare>
256
256
  static bool transfer_unique
257
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
257
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
258
258
  {
259
259
  typename bstree_algo::insert_commit_data commit_data;
260
260
  bool const transferable = bstree_algo::insert_unique_check(header1, z, comp, commit_data).second;
@@ -269,7 +269,7 @@ class splaytree_algorithms
269
269
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
270
270
  template<class NodePtrCompare>
271
271
  static void transfer_equal
272
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
272
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
273
273
  {
274
274
  insert_commit_data commit_data;
275
275
  splay_down(header1, z, comp);
@@ -279,21 +279,21 @@ class splaytree_algorithms
279
279
  }
280
280
 
281
281
  #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
282
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
282
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
283
283
  template <class Cloner, class Disposer>
284
284
  static void clone
285
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer);
285
+ (const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
286
286
 
287
287
  //! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
288
288
  template<class Disposer>
289
- static void clear_and_dispose(const node_ptr & header, Disposer disposer);
289
+ static void clear_and_dispose(node_ptr header, Disposer disposer);
290
290
 
291
291
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
292
292
  //! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
293
293
  //! Additional notes: an element with key `key` is splayed.
294
294
  template<class KeyType, class KeyNodePtrCompare>
295
295
  static std::size_t count
296
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
296
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
297
297
  {
298
298
  std::pair<node_ptr, node_ptr> ret = equal_range(header, key, comp);
299
299
  std::size_t n = 0;
@@ -308,14 +308,14 @@ class splaytree_algorithms
308
308
  //! Additional note: no splaying is performed
309
309
  template<class KeyType, class KeyNodePtrCompare>
310
310
  static std::size_t count
311
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
311
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
312
312
  { return bstree_algo::count(header, key, comp); }
313
313
 
314
314
  //! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
315
315
  //! Additional notes: the first node of the range is splayed.
316
316
  template<class KeyType, class KeyNodePtrCompare>
317
317
  static node_ptr lower_bound
318
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
318
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
319
319
  {
320
320
  splay_down(detail::uncast(header), key, comp);
321
321
  node_ptr y = bstree_algo::lower_bound(header, key, comp);
@@ -327,14 +327,14 @@ class splaytree_algorithms
327
327
  //! Additional note: no splaying is performed
328
328
  template<class KeyType, class KeyNodePtrCompare>
329
329
  static node_ptr lower_bound
330
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
330
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
331
331
  { return bstree_algo::lower_bound(header, key, comp); }
332
332
 
333
333
  //! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
334
334
  //! Additional notes: the first node of the range is splayed.
335
335
  template<class KeyType, class KeyNodePtrCompare>
336
336
  static node_ptr upper_bound
337
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
337
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
338
338
  {
339
339
  splay_down(detail::uncast(header), key, comp);
340
340
  node_ptr y = bstree_algo::upper_bound(header, key, comp);
@@ -346,14 +346,14 @@ class splaytree_algorithms
346
346
  //! Additional note: no splaying is performed
347
347
  template<class KeyType, class KeyNodePtrCompare>
348
348
  static node_ptr upper_bound
349
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
349
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
350
350
  { return bstree_algo::upper_bound(header, key, comp); }
351
351
 
352
352
  //! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
353
353
  //! Additional notes: the found node of the lower bound is splayed.
354
354
  template<class KeyType, class KeyNodePtrCompare>
355
355
  static node_ptr find
356
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
356
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
357
357
  {
358
358
  splay_down(detail::uncast(header), key, comp);
359
359
  return bstree_algo::find(header, key, comp);
@@ -363,14 +363,14 @@ class splaytree_algorithms
363
363
  //! Additional note: no splaying is performed
364
364
  template<class KeyType, class KeyNodePtrCompare>
365
365
  static node_ptr find
366
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
366
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
367
367
  { return bstree_algo::find(header, key, comp); }
368
368
 
369
369
  //! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
370
370
  //! Additional notes: the first node of the range is splayed.
371
371
  template<class KeyType, class KeyNodePtrCompare>
372
372
  static std::pair<node_ptr, node_ptr> equal_range
373
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
373
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
374
374
  {
375
375
  splay_down(detail::uncast(header), key, comp);
376
376
  std::pair<node_ptr, node_ptr> ret = bstree_algo::equal_range(header, key, comp);
@@ -382,14 +382,14 @@ class splaytree_algorithms
382
382
  //! Additional note: no splaying is performed
383
383
  template<class KeyType, class KeyNodePtrCompare>
384
384
  static std::pair<node_ptr, node_ptr> equal_range
385
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
385
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
386
386
  { return bstree_algo::equal_range(header, key, comp); }
387
387
 
388
388
  //! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
389
389
  //! Additional notes: the first node of the range is splayed.
390
390
  template<class KeyType, class KeyNodePtrCompare>
391
391
  static std::pair<node_ptr, node_ptr> lower_bound_range
392
- (const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
392
+ (node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
393
393
  {
394
394
  splay_down(detail::uncast(header), key, comp);
395
395
  std::pair<node_ptr, node_ptr> ret = bstree_algo::lower_bound_range(header, key, comp);
@@ -401,14 +401,14 @@ class splaytree_algorithms
401
401
  //! Additional note: no splaying is performed
402
402
  template<class KeyType, class KeyNodePtrCompare>
403
403
  static std::pair<node_ptr, node_ptr> lower_bound_range
404
- (const const_node_ptr & header, const KeyType &key, KeyNodePtrCompare comp)
404
+ (const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
405
405
  { return bstree_algo::lower_bound_range(header, key, comp); }
406
406
 
407
407
  //! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
408
408
  //! Additional notes: the first node of the range is splayed.
409
409
  template<class KeyType, class KeyNodePtrCompare>
410
410
  static std::pair<node_ptr, node_ptr> bounded_range
411
- (const node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
411
+ (node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
412
412
  , bool left_closed, bool right_closed)
413
413
  {
414
414
  splay_down(detail::uncast(header), lower_key, comp);
@@ -422,61 +422,61 @@ class splaytree_algorithms
422
422
  //! Additional note: no splaying is performed
423
423
  template<class KeyType, class KeyNodePtrCompare>
424
424
  static std::pair<node_ptr, node_ptr> bounded_range
425
- (const const_node_ptr & header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
425
+ (const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
426
426
  , bool left_closed, bool right_closed)
427
427
  { return bstree_algo::bounded_range(header, lower_key, upper_key, comp, left_closed, right_closed); }
428
428
 
429
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
429
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
430
430
  //! Additional note: the inserted node is splayed
431
431
  template<class NodePtrCompare>
432
432
  static node_ptr insert_equal_upper_bound
433
- (const node_ptr & header, const node_ptr & new_node, NodePtrCompare comp)
433
+ (node_ptr header, node_ptr new_node, NodePtrCompare comp)
434
434
  {
435
435
  splay_down(header, new_node, comp);
436
436
  return bstree_algo::insert_equal_upper_bound(header, new_node, comp);
437
437
  }
438
438
 
439
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
439
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
440
440
  //! Additional note: the inserted node is splayed
441
441
  template<class NodePtrCompare>
442
442
  static node_ptr insert_equal_lower_bound
443
- (const node_ptr & header, const node_ptr & new_node, NodePtrCompare comp)
443
+ (node_ptr header, node_ptr new_node, NodePtrCompare comp)
444
444
  {
445
445
  splay_down(header, new_node, comp);
446
446
  return bstree_algo::insert_equal_lower_bound(header, new_node, comp);
447
- }
447
+ }
448
448
 
449
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
449
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
450
450
  //! Additional note: the inserted node is splayed
451
451
  template<class NodePtrCompare>
452
452
  static node_ptr insert_equal
453
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp)
453
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
454
454
  {
455
455
  splay_down(header, new_node, comp);
456
456
  return bstree_algo::insert_equal(header, hint, new_node, comp);
457
457
  }
458
458
 
459
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
459
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
460
460
  //! Additional note: the inserted node is splayed
461
461
  static node_ptr insert_before
462
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node)
462
+ (node_ptr header, node_ptr pos, node_ptr new_node)
463
463
  {
464
464
  bstree_algo::insert_before(header, pos, new_node);
465
465
  splay_up(new_node, header);
466
466
  return new_node;
467
467
  }
468
468
 
469
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
469
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
470
470
  //! Additional note: the inserted node is splayed
471
- static void push_back(const node_ptr & header, const node_ptr & new_node)
471
+ static void push_back(node_ptr header, node_ptr new_node)
472
472
  {
473
473
  bstree_algo::push_back(header, new_node);
474
474
  splay_up(new_node, header);
475
475
  }
476
476
 
477
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
477
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
478
478
  //! Additional note: the inserted node is splayed
479
- static void push_front(const node_ptr & header, const node_ptr & new_node)
479
+ static void push_front(node_ptr header, node_ptr new_node)
480
480
  {
481
481
  bstree_algo::push_front(header, new_node);
482
482
  splay_up(new_node, header);
@@ -486,7 +486,7 @@ class splaytree_algorithms
486
486
  //! Additional note: nodes with the given key are splayed
487
487
  template<class KeyType, class KeyNodePtrCompare>
488
488
  static std::pair<node_ptr, bool> insert_unique_check
489
- (const node_ptr & header, const KeyType &key
489
+ (node_ptr header, const KeyType &key
490
490
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data)
491
491
  {
492
492
  splay_down(header, key, comp);
@@ -497,7 +497,7 @@ class splaytree_algorithms
497
497
  //! Additional note: nodes with the given key are splayed
498
498
  template<class KeyType, class KeyNodePtrCompare>
499
499
  static std::pair<node_ptr, bool> insert_unique_check
500
- (const node_ptr & header, const node_ptr &hint, const KeyType &key
500
+ (node_ptr header, node_ptr hint, const KeyType &key
501
501
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data)
502
502
  {
503
503
  splay_down(header, key, comp);
@@ -505,28 +505,28 @@ class splaytree_algorithms
505
505
  }
506
506
 
507
507
  #ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
508
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data&)
508
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
509
509
  static void insert_unique_commit
510
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data);
510
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data);
511
511
 
512
512
  //! @copydoc ::boost::intrusive::bstree_algorithms::is_header
513
- static bool is_header(const const_node_ptr & p);
513
+ static bool is_header(const_node_ptr p);
514
514
 
515
515
  //! @copydoc ::boost::intrusive::bstree_algorithms::rebalance
516
- static void rebalance(const node_ptr & header);
516
+ static void rebalance(node_ptr header);
517
517
 
518
518
  //! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
519
- static node_ptr rebalance_subtree(const node_ptr & old_root);
519
+ static node_ptr rebalance_subtree(node_ptr old_root);
520
520
 
521
521
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
522
522
 
523
523
  // bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
524
- static void splay_up(const node_ptr & node, const node_ptr & header)
524
+ static void splay_up(node_ptr node, node_ptr header)
525
525
  { priv_splay_up<true>(node, header); }
526
526
 
527
527
  // top-down splay | complexity : logarithmic | exception : strong, note A
528
528
  template<class KeyType, class KeyNodePtrCompare>
529
- static node_ptr splay_down(const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
529
+ static node_ptr splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
530
530
  { return priv_splay_down<true>(header, key, comp, pfound); }
531
531
 
532
532
  private:
@@ -535,7 +535,7 @@ class splaytree_algorithms
535
535
 
536
536
  // bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
537
537
  template<bool SimpleSplay>
538
- static void priv_splay_up(const node_ptr & node, const node_ptr & header)
538
+ static void priv_splay_up(node_ptr node, node_ptr header)
539
539
  {
540
540
  // If (node == header) do a splay for the right most node instead
541
541
  // this is to boost performance of equal_range/count on equivalent containers in the case
@@ -572,7 +572,7 @@ class splaytree_algorithms
572
572
  }
573
573
 
574
574
  template<bool SimpleSplay, class KeyType, class KeyNodePtrCompare>
575
- static node_ptr priv_splay_down(const node_ptr & header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
575
+ static node_ptr priv_splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
576
576
  {
577
577
  //Most splay tree implementations use a dummy/null node to implement.
578
578
  //this function. This has some problems for a generic library like Intrusive:
@@ -684,7 +684,7 @@ class splaytree_algorithms
684
684
  }
685
685
 
686
686
  // rotate n with its parent | complexity : constant | exception : nothrow
687
- static void rotate(const node_ptr & n)
687
+ static void rotate(node_ptr n)
688
688
  {
689
689
  //procedure rotate_left;
690
690
  // t, right(t), left(right(t)) := right(t), left(right(t)), t