passenger 6.0.1 → 6.0.6

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 (453) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +145 -18
  3. data/CONTRIBUTORS +6 -0
  4. data/bin/passenger-install-nginx-module +1 -1
  5. data/bin/passenger-status +15 -0
  6. data/build/misc.rb +3 -1
  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/src/bootstrap/bootstrap.css +0 -0
  12. data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
  13. data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
  14. data/resources/templates/standalone/http.erb +2 -0
  15. data/resources/templates/standalone/server.erb +1 -0
  16. data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
  17. data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +1 -0
  18. data/src/agent/Core/ApplicationPool/Options.h +10 -0
  19. data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
  20. data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
  21. data/src/agent/Core/Config.h +14 -1
  22. data/src/agent/Core/Controller.h +1 -0
  23. data/src/agent/Core/Controller/Config.h +5 -1
  24. data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
  25. data/src/agent/Core/Controller/InitRequest.cpp +3 -0
  26. data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
  27. data/src/agent/Core/CoreMain.cpp +2 -1
  28. data/src/agent/Core/OptionParser.h +3 -0
  29. data/src/agent/Core/SpawningKit/Context.h +1 -0
  30. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  31. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  32. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  33. data/src/agent/Watchdog/Config.h +15 -1
  34. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  35. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
  38. data/src/apache2_module/Hooks.cpp +6 -0
  39. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  40. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
  41. data/src/cxx_supportlib/Constants.h +2 -1
  42. data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
  43. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
  44. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  45. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +20 -19
  46. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  47. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  48. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  49. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  75. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  76. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  77. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  78. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  79. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  80. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  81. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  82. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  83. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  84. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  85. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  86. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  87. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  88. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  89. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  90. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  92. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  93. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  94. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  95. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  96. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  97. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  98. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  99. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  100. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  101. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  102. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  103. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  104. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  117. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  118. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  119. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  120. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  122. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  123. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  124. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  125. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  130. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  131. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  132. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  133. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  136. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  137. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  144. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  145. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  146. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  147. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  148. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  149. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  150. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  151. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  152. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  153. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  154. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  155. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  156. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  157. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  158. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  159. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  162. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  163. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  164. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  165. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  166. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  167. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  168. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  169. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  170. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  171. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  173. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  174. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  175. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  176. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  177. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  178. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  179. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  180. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  187. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  208. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  210. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  211. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  213. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  214. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  215. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  216. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  217. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  218. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  219. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  220. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  221. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  222. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  223. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  224. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  225. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  226. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  227. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  228. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  229. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  230. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  235. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  237. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  240. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  241. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  242. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  243. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  244. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  245. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  246. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  250. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  251. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  252. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  253. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  256. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  257. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  258. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  270. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  271. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  273. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  274. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  275. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  276. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  277. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  278. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  300. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  322. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  323. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  324. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  328. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  329. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  330. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  331. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  332. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  333. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  334. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  335. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  336. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  337. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  339. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  340. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  341. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  347. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  348. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  349. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  350. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  394. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  395. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  396. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  397. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  398. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  399. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  400. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  401. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  402. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  403. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  404. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  405. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  413. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  414. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  416. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  417. data/src/helper-scripts/prespawn +1 -0
  418. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  419. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
  420. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  421. data/src/nginx_module/Configuration.c +6 -2
  422. data/src/nginx_module/ContentHandler.c +5 -1
  423. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
  424. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
  425. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
  426. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  427. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
  428. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  429. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  430. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  431. data/src/nginx_module/ngx_http_passenger_module.c +2 -0
  432. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  433. data/src/ruby_native_extension/extconf.rb +7 -0
  434. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  435. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
  436. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
  437. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  438. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
  439. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
  440. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  441. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  442. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  443. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  444. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
  445. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
  446. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  447. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  448. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  449. metadata +42 -8
  450. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  451. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  452. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  453. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -223,7 +223,7 @@ namespace boost {
223
223
  template <> struct gcd_traits<unsigned char> : public gcd_traits_defaults<unsigned char>
224
224
  { BOOST_FORCEINLINE static unsigned make_odd(unsigned char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
225
225
  template <> struct gcd_traits<signed char> : public gcd_traits_defaults<signed char>
226
- { BOOST_FORCEINLINE static signed make_odd(signed char& val)BOOST_NOEXCEPT{ signed result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
226
+ { BOOST_FORCEINLINE static unsigned make_odd(signed char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
227
227
  template <> struct gcd_traits<char> : public gcd_traits_defaults<char>
228
228
  { BOOST_FORCEINLINE static unsigned make_odd(char& val)BOOST_NOEXCEPT{ unsigned result = gcd_traits<unsigned long>::find_lsb(val); val >>= result; return result; } };
229
229
  #ifndef BOOST_NO_INTRINSIC_WCHAR_T
@@ -310,7 +310,7 @@ namespace boost {
310
310
  };
311
311
  template <> struct gcd_traits<signed char> : public gcd_traits_defaults<signed char>
312
312
  {
313
- BOOST_FORCEINLINE static BOOST_CXX14_CONSTEXPR signed make_odd(signed char& val)BOOST_NOEXCEPT { signed result = gcd_traits<unsigned>::find_lsb(val); val >>= result; return result; }
313
+ BOOST_FORCEINLINE static BOOST_CXX14_CONSTEXPR unsigned make_odd(signed char& val)BOOST_NOEXCEPT { unsigned result = gcd_traits<unsigned>::find_lsb(val); val >>= result; return result; }
314
314
  };
315
315
  template <> struct gcd_traits<char> : public gcd_traits_defaults<char>
316
316
  {
@@ -373,8 +373,8 @@ namespace boost {
373
373
  if (n == SteinDomain(0))
374
374
  return m;
375
375
  // m > 0 && n > 0
376
- int d_m = gcd_traits<SteinDomain>::make_odd(m);
377
- int d_n = gcd_traits<SteinDomain>::make_odd(n);
376
+ unsigned d_m = gcd_traits<SteinDomain>::make_odd(m);
377
+ unsigned d_n = gcd_traits<SteinDomain>::make_odd(n);
378
378
  // odd(m) && odd(n)
379
379
  while (m != n)
380
380
  {
@@ -42,18 +42,18 @@ struct avltree_node_cloner
42
42
  typedef typename NodeTraits::node_ptr node_ptr;
43
43
  typedef detail::ebo_functor_holder<F> base_t;
44
44
 
45
- avltree_node_cloner(F f)
45
+ BOOST_INTRUSIVE_FORCEINLINE avltree_node_cloner(F f)
46
46
  : base_t(f)
47
47
  {}
48
48
 
49
- node_ptr operator()(const node_ptr & p)
49
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p)
50
50
  {
51
51
  node_ptr n = base_t::get()(p);
52
52
  NodeTraits::set_balance(n, NodeTraits::get_balance(p));
53
53
  return n;
54
54
  }
55
55
 
56
- node_ptr operator()(const node_ptr & p) const
56
+ BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p) const
57
57
  {
58
58
  node_ptr n = base_t::get()(p);
59
59
  NodeTraits::set_balance(n, NodeTraits::get_balance(p));
@@ -176,12 +176,12 @@ class avltree_algorithms
176
176
  static node_ptr end_node(const const_node_ptr & header);
177
177
 
178
178
  //! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
179
- static void swap_tree(const node_ptr & header1, const node_ptr & header2);
179
+ static void swap_tree(node_ptr header1, node_ptr header2);
180
180
 
181
181
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
182
182
 
183
- //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(const node_ptr&,const node_ptr&)
184
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2)
183
+ //! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
184
+ static void swap_nodes(node_ptr node1, node_ptr node2)
185
185
  {
186
186
  if(node1 == node2)
187
187
  return;
@@ -190,8 +190,8 @@ class avltree_algorithms
190
190
  swap_nodes(node1, header1, node2, header2);
191
191
  }
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
196
  if(node1 == node2) return;
197
197
 
@@ -202,23 +202,23 @@ class avltree_algorithms
202
202
  NodeTraits::set_balance(node2, c);
203
203
  }
204
204
 
205
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&)
206
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node)
205
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
206
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
207
207
  {
208
208
  if(node_to_be_replaced == new_node)
209
209
  return;
210
210
  replace_node(node_to_be_replaced, bstree_algo::get_header(node_to_be_replaced), new_node);
211
211
  }
212
212
 
213
- //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(const node_ptr&,const node_ptr&,const node_ptr&)
214
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node)
213
+ //! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
214
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
215
215
  {
216
216
  bstree_algo::replace_node(node_to_be_replaced, header, new_node);
217
217
  NodeTraits::set_balance(new_node, NodeTraits::get_balance(node_to_be_replaced));
218
218
  }
219
219
 
220
- //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(const node_ptr&)
221
- static void unlink(const node_ptr & node)
220
+ //! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
221
+ static void unlink(node_ptr node)
222
222
  {
223
223
  node_ptr x = NodeTraits::get_parent(node);
224
224
  if(x){
@@ -244,7 +244,7 @@ class avltree_algorithms
244
244
  //! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
245
245
  static node_ptr prev_node(const node_ptr & node);
246
246
 
247
- //! @copydoc ::boost::intrusive::bstree_algorithms::init(const node_ptr&)
247
+ //! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
248
248
  static void init(const node_ptr & node);
249
249
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
250
250
 
@@ -258,14 +258,14 @@ class avltree_algorithms
258
258
  //! <b>Throws</b>: Nothing.
259
259
  //!
260
260
  //! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
261
- static void init_header(const node_ptr & header)
261
+ static void init_header(node_ptr header)
262
262
  {
263
263
  bstree_algo::init_header(header);
264
264
  NodeTraits::set_balance(header, NodeTraits::zero());
265
265
  }
266
266
 
267
- //! @copydoc ::boost::intrusive::bstree_algorithms::erase(const node_ptr&,const node_ptr&)
268
- static node_ptr erase(const node_ptr & header, const node_ptr & z)
267
+ //! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
268
+ static node_ptr erase(node_ptr header, node_ptr z)
269
269
  {
270
270
  typename bstree_algo::data_for_rebalance info;
271
271
  bstree_algo::erase(header, z, info);
@@ -276,7 +276,7 @@ class avltree_algorithms
276
276
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
277
277
  template<class NodePtrCompare>
278
278
  static bool transfer_unique
279
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
279
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
280
280
  {
281
281
  typename bstree_algo::data_for_rebalance info;
282
282
  bool const transferred = bstree_algo::transfer_unique(header1, comp, header2, z, info);
@@ -290,7 +290,7 @@ class avltree_algorithms
290
290
  //! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
291
291
  template<class NodePtrCompare>
292
292
  static void transfer_equal
293
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
293
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
294
294
  {
295
295
  typename bstree_algo::data_for_rebalance info;
296
296
  bstree_algo::transfer_equal(header1, comp, header2, z, info);
@@ -298,10 +298,10 @@ class avltree_algorithms
298
298
  rebalance_after_insertion(header1, z);
299
299
  }
300
300
 
301
- //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,const node_ptr&,Cloner,Disposer)
301
+ //! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
302
302
  template <class Cloner, class Disposer>
303
303
  static void clone
304
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer)
304
+ (const const_node_ptr & source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
305
305
  {
306
306
  avltree_node_cloner<NodeTraits, Cloner> new_cloner(cloner);
307
307
  bstree_algo::clone(source_header, target_header, new_cloner, disposer);
@@ -344,54 +344,54 @@ class avltree_algorithms
344
344
 
345
345
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
346
346
 
347
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
347
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
348
348
  template<class NodePtrCompare>
349
349
  static node_ptr insert_equal_upper_bound
350
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
350
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
351
351
  {
352
352
  bstree_algo::insert_equal_upper_bound(h, new_node, comp);
353
353
  rebalance_after_insertion(h, new_node);
354
354
  return new_node;
355
355
  }
356
356
 
357
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(const node_ptr&,const node_ptr&,NodePtrCompare)
357
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
358
358
  template<class NodePtrCompare>
359
359
  static node_ptr insert_equal_lower_bound
360
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp)
360
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp)
361
361
  {
362
362
  bstree_algo::insert_equal_lower_bound(h, new_node, comp);
363
363
  rebalance_after_insertion(h, new_node);
364
364
  return new_node;
365
365
  }
366
366
 
367
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(const node_ptr&,const node_ptr&,const node_ptr&,NodePtrCompare)
367
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
368
368
  template<class NodePtrCompare>
369
369
  static node_ptr insert_equal
370
- (const node_ptr & header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp)
370
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
371
371
  {
372
372
  bstree_algo::insert_equal(header, hint, new_node, comp);
373
373
  rebalance_after_insertion(header, new_node);
374
374
  return new_node;
375
375
  }
376
376
 
377
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(const node_ptr&,const node_ptr&,const node_ptr&)
377
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
378
378
  static node_ptr insert_before
379
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node)
379
+ (node_ptr header, node_ptr pos, node_ptr new_node)
380
380
  {
381
381
  bstree_algo::insert_before(header, pos, new_node);
382
382
  rebalance_after_insertion(header, new_node);
383
383
  return new_node;
384
384
  }
385
385
 
386
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(const node_ptr&,const node_ptr&)
387
- static void push_back(const node_ptr & header, const node_ptr & new_node)
386
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
387
+ static void push_back(node_ptr header, node_ptr new_node)
388
388
  {
389
389
  bstree_algo::push_back(header, new_node);
390
390
  rebalance_after_insertion(header, new_node);
391
391
  }
392
392
 
393
- //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(const node_ptr&,const node_ptr&)
394
- static void push_front(const node_ptr & header, const node_ptr & new_node)
393
+ //! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
394
+ static void push_front(node_ptr header, node_ptr new_node)
395
395
  {
396
396
  bstree_algo::push_front(header, new_node);
397
397
  rebalance_after_insertion(header, new_node);
@@ -411,9 +411,9 @@ class avltree_algorithms
411
411
  ,KeyNodePtrCompare comp, insert_commit_data &commit_data);
412
412
  #endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
413
413
 
414
- //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(const node_ptr&,const node_ptr&,const insert_commit_data &)
414
+ //! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data &)
415
415
  static void insert_unique_commit
416
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data)
416
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
417
417
  {
418
418
  bstree_algo::insert_unique_commit(header, new_value, commit_data);
419
419
  rebalance_after_insertion(header, new_value);
@@ -483,7 +483,7 @@ class avltree_algorithms
483
483
  }
484
484
 
485
485
  static void rebalance_after_erasure
486
- ( const node_ptr & header, const node_ptr &z, const typename bstree_algo::data_for_rebalance &info)
486
+ ( node_ptr header, node_ptr z, const typename bstree_algo::data_for_rebalance &info)
487
487
  {
488
488
  if(info.y != z){
489
489
  NodeTraits::set_balance(info.y, NodeTraits::get_balance(z));
@@ -492,7 +492,7 @@ class avltree_algorithms
492
492
  rebalance_after_erasure_restore_invariants(header, info.x, info.x_parent);
493
493
  }
494
494
 
495
- static void rebalance_after_erasure_restore_invariants(const node_ptr & header, node_ptr x, node_ptr x_parent)
495
+ static void rebalance_after_erasure_restore_invariants(node_ptr header, node_ptr x, node_ptr x_parent)
496
496
  {
497
497
  for ( node_ptr root = NodeTraits::get_parent(header)
498
498
  ; x != root
@@ -560,7 +560,7 @@ class avltree_algorithms
560
560
  }
561
561
  }
562
562
 
563
- static void rebalance_after_insertion(const node_ptr & header, node_ptr x)
563
+ static void rebalance_after_insertion(node_ptr header, node_ptr x)
564
564
  {
565
565
  NodeTraits::set_balance(x, NodeTraits::zero());
566
566
  // Rebalance.
@@ -605,7 +605,7 @@ class avltree_algorithms
605
605
  }
606
606
  }
607
607
 
608
- static void left_right_balancing(const node_ptr & a, const node_ptr & b, const node_ptr & c)
608
+ static void left_right_balancing(node_ptr a, node_ptr b, node_ptr c)
609
609
  {
610
610
  // balancing...
611
611
  const balance c_balance = NodeTraits::get_balance(c);
@@ -630,7 +630,7 @@ class avltree_algorithms
630
630
  }
631
631
  }
632
632
 
633
- static node_ptr avl_rotate_left_right(const node_ptr a, const node_ptr a_oldleft, const node_ptr & hdr)
633
+ static node_ptr avl_rotate_left_right(const node_ptr a, const node_ptr a_oldleft, node_ptr hdr)
634
634
  { // [note: 'a_oldleft' is 'b']
635
635
  // | | //
636
636
  // a(-2) c //
@@ -650,7 +650,7 @@ class avltree_algorithms
650
650
  return c;
651
651
  }
652
652
 
653
- static node_ptr avl_rotate_right_left(const node_ptr a, const node_ptr a_oldright, const node_ptr & hdr)
653
+ static node_ptr avl_rotate_right_left(const node_ptr a, const node_ptr a_oldright, node_ptr hdr)
654
654
  { // [note: 'a_oldright' is 'b']
655
655
  // | | //
656
656
  // a(pos) c //
@@ -670,7 +670,7 @@ class avltree_algorithms
670
670
  return c;
671
671
  }
672
672
 
673
- static void avl_rotate_left(const node_ptr &x, const node_ptr &x_oldright, const node_ptr & hdr)
673
+ static void avl_rotate_left(node_ptr x, node_ptr x_oldright, node_ptr hdr)
674
674
  {
675
675
  bstree_algo::rotate_left(x, x_oldright, NodeTraits::get_parent(x), hdr);
676
676
 
@@ -685,7 +685,7 @@ class avltree_algorithms
685
685
  }
686
686
  }
687
687
 
688
- static void avl_rotate_right(const node_ptr &x, const node_ptr &x_oldleft, const node_ptr & hdr)
688
+ static void avl_rotate_right(node_ptr x, node_ptr x_oldleft, node_ptr hdr)
689
689
  {
690
690
  bstree_algo::rotate_right(x, x_oldleft, NodeTraits::get_parent(x), hdr);
691
691
 
@@ -277,7 +277,7 @@ class bstree_algorithms : public bstree_algorithms_base
277
277
  //! node1 and node2 are not equivalent according to the ordering rules.
278
278
  //!
279
279
  //!Experimental function
280
- static void swap_nodes(const node_ptr & node1, const node_ptr & node2)
280
+ static void swap_nodes(node_ptr node1, node_ptr node2)
281
281
  {
282
282
  if(node1 == node2)
283
283
  return;
@@ -301,7 +301,7 @@ class bstree_algorithms : public bstree_algorithms_base
301
301
  //! node1 and node2 are not equivalent according to the ordering rules.
302
302
  //!
303
303
  //!Experimental function
304
- static void swap_nodes(const node_ptr & node1, const node_ptr & header1, const node_ptr & node2, const node_ptr & header2)
304
+ static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2)
305
305
  {
306
306
  if(node1 == node2)
307
307
  return;
@@ -448,7 +448,7 @@ class bstree_algorithms : public bstree_algorithms_base
448
448
  //! new_node is not equivalent to node_to_be_replaced according to the
449
449
  //! ordering rules. This function is faster than erasing and inserting
450
450
  //! the node, since no rebalancing and comparison is needed. Experimental function
451
- BOOST_INTRUSIVE_FORCEINLINE static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & new_node)
451
+ BOOST_INTRUSIVE_FORCEINLINE static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
452
452
  {
453
453
  if(node_to_be_replaced == new_node)
454
454
  return;
@@ -469,7 +469,7 @@ class bstree_algorithms : public bstree_algorithms_base
469
469
  //! new_node is not equivalent to node_to_be_replaced according to the
470
470
  //! ordering rules. This function is faster than erasing and inserting
471
471
  //! the node, since no rebalancing or comparison is needed. Experimental function
472
- static void replace_node(const node_ptr & node_to_be_replaced, const node_ptr & header, const node_ptr & new_node)
472
+ static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
473
473
  {
474
474
  if(node_to_be_replaced == new_node)
475
475
  return;
@@ -559,7 +559,7 @@ class bstree_algorithms : public bstree_algorithms_base
559
559
  //! <b>Throws</b>: Nothing.
560
560
  //!
561
561
  //! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
562
- BOOST_INTRUSIVE_FORCEINLINE static void init(const node_ptr & node)
562
+ BOOST_INTRUSIVE_FORCEINLINE static void init(node_ptr node)
563
563
  {
564
564
  NodeTraits::set_parent(node, node_ptr());
565
565
  NodeTraits::set_left(node, node_ptr());
@@ -588,7 +588,7 @@ class bstree_algorithms : public bstree_algorithms_base
588
588
  //! <b>Throws</b>: Nothing.
589
589
  //!
590
590
  //! <b>Nodes</b>: If node is inserted in a tree, this function corrupts the tree.
591
- BOOST_INTRUSIVE_FORCEINLINE static void init_header(const node_ptr & header)
591
+ BOOST_INTRUSIVE_FORCEINLINE static void init_header(node_ptr header)
592
592
  {
593
593
  NodeTraits::set_parent(header, node_ptr());
594
594
  NodeTraits::set_left(header, header);
@@ -629,7 +629,7 @@ class bstree_algorithms : public bstree_algorithms_base
629
629
  //! only be used for more unlink_leftmost_without_rebalance calls.
630
630
  //! This function is normally used to achieve a step by step
631
631
  //! controlled destruction of the tree.
632
- static node_ptr unlink_leftmost_without_rebalance(const node_ptr & header)
632
+ static node_ptr unlink_leftmost_without_rebalance(node_ptr header)
633
633
  {
634
634
  node_ptr leftmost = NodeTraits::get_left(header);
635
635
  if (leftmost == header)
@@ -684,7 +684,7 @@ class bstree_algorithms : public bstree_algorithms_base
684
684
  //! <b>Complexity</b>: Constant.
685
685
  //!
686
686
  //! <b>Throws</b>: Nothing.
687
- static void swap_tree(const node_ptr & header1, const node_ptr & header2)
687
+ static void swap_tree(node_ptr header1, node_ptr header2)
688
688
  {
689
689
  if(header1 == header2)
690
690
  return;
@@ -956,7 +956,7 @@ class bstree_algorithms : public bstree_algorithms_base
956
956
  //! previously executed to fill "commit_data". No value should be inserted or
957
957
  //! erased between the "insert_check" and "insert_commit" calls.
958
958
  BOOST_INTRUSIVE_FORCEINLINE static void insert_unique_commit
959
- (const node_ptr & header, const node_ptr & new_value, const insert_commit_data &commit_data)
959
+ (node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
960
960
  { return insert_commit(header, new_value, commit_data); }
961
961
 
962
962
  //! <b>Requires</b>: "header" must be the header node of a tree.
@@ -1112,7 +1112,7 @@ class bstree_algorithms : public bstree_algorithms_base
1112
1112
  //! <b>Throws</b>: If "comp" throws.
1113
1113
  template<class NodePtrCompare>
1114
1114
  static node_ptr insert_equal
1115
- (const node_ptr & h, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
1115
+ (node_ptr h, node_ptr hint, node_ptr new_node, NodePtrCompare comp
1116
1116
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1117
1117
  , std::size_t *pdepth = 0
1118
1118
  #endif
@@ -1138,7 +1138,7 @@ class bstree_algorithms : public bstree_algorithms_base
1138
1138
  //! <b>Throws</b>: If "comp" throws.
1139
1139
  template<class NodePtrCompare>
1140
1140
  static node_ptr insert_equal_upper_bound
1141
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
1141
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
1142
1142
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1143
1143
  , std::size_t *pdepth = 0
1144
1144
  #endif
@@ -1164,7 +1164,7 @@ class bstree_algorithms : public bstree_algorithms_base
1164
1164
  //! <b>Throws</b>: If "comp" throws.
1165
1165
  template<class NodePtrCompare>
1166
1166
  static node_ptr insert_equal_lower_bound
1167
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp
1167
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp
1168
1168
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1169
1169
  , std::size_t *pdepth = 0
1170
1170
  #endif
@@ -1191,7 +1191,7 @@ class bstree_algorithms : public bstree_algorithms_base
1191
1191
  //! <b>Note</b>: If "pos" is not the successor of the newly inserted "new_node"
1192
1192
  //! tree invariants might be broken.
1193
1193
  static node_ptr insert_before
1194
- (const node_ptr & header, const node_ptr & pos, const node_ptr & new_node
1194
+ (node_ptr header, node_ptr pos, node_ptr new_node
1195
1195
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1196
1196
  , std::size_t *pdepth = 0
1197
1197
  #endif
@@ -1217,7 +1217,7 @@ class bstree_algorithms : public bstree_algorithms_base
1217
1217
  //! tree invariants are broken. This function is slightly faster than
1218
1218
  //! using "insert_before".
1219
1219
  static void push_back
1220
- (const node_ptr & header, const node_ptr & new_node
1220
+ (node_ptr header, node_ptr new_node
1221
1221
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1222
1222
  , std::size_t *pdepth = 0
1223
1223
  #endif
@@ -1242,7 +1242,7 @@ class bstree_algorithms : public bstree_algorithms_base
1242
1242
  //! tree invariants are broken. This function is slightly faster than
1243
1243
  //! using "insert_before".
1244
1244
  static void push_front
1245
- (const node_ptr & header, const node_ptr & new_node
1245
+ (node_ptr header, node_ptr new_node
1246
1246
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1247
1247
  , std::size_t *pdepth = 0
1248
1248
  #endif
@@ -1292,7 +1292,7 @@ class bstree_algorithms : public bstree_algorithms_base
1292
1292
  //! <b>Throws</b>: If cloner functor throws. If this happens target nodes are disposed.
1293
1293
  template <class Cloner, class Disposer>
1294
1294
  static void clone
1295
- (const const_node_ptr & source_header, const node_ptr & target_header, Cloner cloner, Disposer disposer)
1295
+ (const const_node_ptr & source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
1296
1296
  {
1297
1297
  if(!unique(target_header)){
1298
1298
  clear_and_dispose(target_header, disposer);
@@ -1316,7 +1316,7 @@ class bstree_algorithms : public bstree_algorithms_base
1316
1316
  //! <b>Complexity</b>: Amortized constant time.
1317
1317
  //!
1318
1318
  //! <b>Throws</b>: Nothing.
1319
- BOOST_INTRUSIVE_FORCEINLINE static void erase(const node_ptr & header, const node_ptr & z)
1319
+ BOOST_INTRUSIVE_FORCEINLINE static void erase(node_ptr header, node_ptr z)
1320
1320
  {
1321
1321
  data_for_rebalance ignored;
1322
1322
  erase(header, z, ignored);
@@ -1336,7 +1336,7 @@ class bstree_algorithms : public bstree_algorithms_base
1336
1336
  //! <b>Throws</b>: If the comparison throws.
1337
1337
  template<class NodePtrCompare>
1338
1338
  BOOST_INTRUSIVE_FORCEINLINE static bool transfer_unique
1339
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
1339
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
1340
1340
  {
1341
1341
  data_for_rebalance ignored;
1342
1342
  return transfer_unique(header1, comp, header2, z, ignored);
@@ -1353,7 +1353,7 @@ class bstree_algorithms : public bstree_algorithms_base
1353
1353
  //! <b>Throws</b>: If the comparison throws.
1354
1354
  template<class NodePtrCompare>
1355
1355
  BOOST_INTRUSIVE_FORCEINLINE static void transfer_equal
1356
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z)
1356
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
1357
1357
  {
1358
1358
  data_for_rebalance ignored;
1359
1359
  transfer_equal(header1, comp, header2, z, ignored);
@@ -1366,7 +1366,7 @@ class bstree_algorithms : public bstree_algorithms_base
1366
1366
  //! <b>Complexity</b>: Average complexity is constant time.
1367
1367
  //!
1368
1368
  //! <b>Throws</b>: Nothing.
1369
- static void unlink(const node_ptr & node)
1369
+ static void unlink(node_ptr node)
1370
1370
  {
1371
1371
  node_ptr x = NodeTraits::get_parent(node);
1372
1372
  if(x){
@@ -1383,7 +1383,7 @@ class bstree_algorithms : public bstree_algorithms_base
1383
1383
  //! <b>Throws</b>: Nothing.
1384
1384
  //!
1385
1385
  //! <b>Complexity</b>: Linear.
1386
- static void rebalance(const node_ptr & header)
1386
+ static void rebalance(node_ptr header)
1387
1387
  {
1388
1388
  node_ptr root = NodeTraits::get_parent(header);
1389
1389
  if(root){
@@ -1400,7 +1400,7 @@ class bstree_algorithms : public bstree_algorithms_base
1400
1400
  //! <b>Throws</b>: Nothing.
1401
1401
  //!
1402
1402
  //! <b>Complexity</b>: Linear.
1403
- static node_ptr rebalance_subtree(const node_ptr & old_root)
1403
+ static node_ptr rebalance_subtree(node_ptr old_root)
1404
1404
  {
1405
1405
  //Taken from:
1406
1406
  //"Tree rebalancing in optimal time and space"
@@ -1476,7 +1476,7 @@ class bstree_algorithms : public bstree_algorithms_base
1476
1476
 
1477
1477
  template<class NodePtrCompare>
1478
1478
  static bool transfer_unique
1479
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z, data_for_rebalance &info)
1479
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z, data_for_rebalance &info)
1480
1480
  {
1481
1481
  insert_commit_data commit_data;
1482
1482
  bool const transferable = insert_unique_check(header1, z, comp, commit_data).second;
@@ -1489,7 +1489,7 @@ class bstree_algorithms : public bstree_algorithms_base
1489
1489
 
1490
1490
  template<class NodePtrCompare>
1491
1491
  static void transfer_equal
1492
- (const node_ptr & header1, NodePtrCompare comp, const node_ptr &header2, const node_ptr & z, data_for_rebalance &info)
1492
+ (node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z, data_for_rebalance &info)
1493
1493
  {
1494
1494
  insert_commit_data commit_data;
1495
1495
  insert_equal_upper_bound_check(header1, z, comp, commit_data);
@@ -1497,7 +1497,7 @@ class bstree_algorithms : public bstree_algorithms_base
1497
1497
  insert_commit(header1, z, commit_data);
1498
1498
  }
1499
1499
 
1500
- static void erase(const node_ptr & header, const node_ptr & z, data_for_rebalance &info)
1500
+ static void erase(node_ptr header, node_ptr z, data_for_rebalance &info)
1501
1501
  {
1502
1502
  node_ptr y(z);
1503
1503
  node_ptr x;
@@ -1643,7 +1643,7 @@ class bstree_algorithms : public bstree_algorithms_base
1643
1643
  { return NodeTraits::get_right(NodeTraits::get_parent(p)) == p; }
1644
1644
 
1645
1645
  static void insert_before_check
1646
- (const node_ptr &header, const node_ptr & pos
1646
+ (node_ptr header, node_ptr pos
1647
1647
  , insert_commit_data &commit_data
1648
1648
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1649
1649
  , std::size_t *pdepth = 0
@@ -1662,7 +1662,7 @@ class bstree_algorithms : public bstree_algorithms_base
1662
1662
  }
1663
1663
 
1664
1664
  static void push_back_check
1665
- (const node_ptr & header, insert_commit_data &commit_data
1665
+ (node_ptr header, insert_commit_data &commit_data
1666
1666
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1667
1667
  , std::size_t *pdepth = 0
1668
1668
  #endif
@@ -1677,7 +1677,7 @@ class bstree_algorithms : public bstree_algorithms_base
1677
1677
  }
1678
1678
 
1679
1679
  static void push_front_check
1680
- (const node_ptr & header, insert_commit_data &commit_data
1680
+ (node_ptr header, insert_commit_data &commit_data
1681
1681
  #ifndef BOOST_INTRUSIVE_DOXYGEN_INVOKED
1682
1682
  , std::size_t *pdepth = 0
1683
1683
  #endif
@@ -1693,7 +1693,7 @@ class bstree_algorithms : public bstree_algorithms_base
1693
1693
 
1694
1694
  template<class NodePtrCompare>
1695
1695
  static void insert_equal_check
1696
- (const node_ptr &header, const node_ptr & hint, const node_ptr & new_node, NodePtrCompare comp
1696
+ (node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp
1697
1697
  , insert_commit_data &commit_data
1698
1698
  /// @cond
1699
1699
  , std::size_t *pdepth = 0
@@ -1722,7 +1722,7 @@ class bstree_algorithms : public bstree_algorithms_base
1722
1722
 
1723
1723
  template<class NodePtrCompare>
1724
1724
  static void insert_equal_upper_bound_check
1725
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
1725
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
1726
1726
  {
1727
1727
  std::size_t depth = 0;
1728
1728
  node_ptr y(h);
@@ -1741,7 +1741,7 @@ class bstree_algorithms : public bstree_algorithms_base
1741
1741
 
1742
1742
  template<class NodePtrCompare>
1743
1743
  static void insert_equal_lower_bound_check
1744
- (const node_ptr & h, const node_ptr & new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
1744
+ (node_ptr h, node_ptr new_node, NodePtrCompare comp, insert_commit_data & commit_data, std::size_t *pdepth = 0)
1745
1745
  {
1746
1746
  std::size_t depth = 0;
1747
1747
  node_ptr y(h);
@@ -1759,7 +1759,7 @@ class bstree_algorithms : public bstree_algorithms_base
1759
1759
  }
1760
1760
 
1761
1761
  static void insert_commit
1762
- (const node_ptr & header, const node_ptr & new_node, const insert_commit_data &commit_data)
1762
+ (node_ptr header, node_ptr new_node, const insert_commit_data &commit_data)
1763
1763
  {
1764
1764
  //Check if commit_data has not been initialized by a insert_unique_check call.
1765
1765
  BOOST_INTRUSIVE_INVARIANT_ASSERT(commit_data.node != node_ptr());
@@ -1785,7 +1785,7 @@ class bstree_algorithms : public bstree_algorithms_base
1785
1785
  }
1786
1786
 
1787
1787
  //Fix header and own's parent data when replacing x with own, providing own's old data with parent
1788
- static void set_child(const node_ptr & header, const node_ptr & new_child, const node_ptr & new_parent, const bool link_left)
1788
+ static void set_child(node_ptr header, node_ptr new_child, node_ptr new_parent, const bool link_left)
1789
1789
  {
1790
1790
  if(new_parent == header)
1791
1791
  NodeTraits::set_parent(header, new_child);
@@ -1796,7 +1796,7 @@ class bstree_algorithms : public bstree_algorithms_base
1796
1796
  }
1797
1797
 
1798
1798
  // rotate p to left (no header and p's parent fixup)
1799
- static void rotate_left_no_parent_fix(const node_ptr & p, const node_ptr &p_right)
1799
+ static void rotate_left_no_parent_fix(node_ptr p, node_ptr p_right)
1800
1800
  {
1801
1801
  node_ptr p_right_left(NodeTraits::get_left(p_right));
1802
1802
  NodeTraits::set_right(p, p_right_left);
@@ -1808,7 +1808,7 @@ class bstree_algorithms : public bstree_algorithms_base
1808
1808
  }
1809
1809
 
1810
1810
  // rotate p to left (with header and p's parent fixup)
1811
- static void rotate_left(const node_ptr & p, const node_ptr & p_right, const node_ptr & p_parent, const node_ptr & header)
1811
+ static void rotate_left(node_ptr p, node_ptr p_right, node_ptr p_parent, node_ptr header)
1812
1812
  {
1813
1813
  const bool p_was_left(NodeTraits::get_left(p_parent) == p);
1814
1814
  rotate_left_no_parent_fix(p, p_right);
@@ -1817,7 +1817,7 @@ class bstree_algorithms : public bstree_algorithms_base
1817
1817
  }
1818
1818
 
1819
1819
  // rotate p to right (no header and p's parent fixup)
1820
- static void rotate_right_no_parent_fix(const node_ptr & p, const node_ptr &p_left)
1820
+ static void rotate_right_no_parent_fix(node_ptr p, node_ptr p_left)
1821
1821
  {
1822
1822
  node_ptr p_left_right(NodeTraits::get_right(p_left));
1823
1823
  NodeTraits::set_left(p, p_left_right);
@@ -1829,7 +1829,7 @@ class bstree_algorithms : public bstree_algorithms_base
1829
1829
  }
1830
1830
 
1831
1831
  // rotate p to right (with header and p's parent fixup)
1832
- static void rotate_right(const node_ptr & p, const node_ptr & p_left, const node_ptr & p_parent, const node_ptr & header)
1832
+ static void rotate_right(node_ptr p, node_ptr p_left, node_ptr p_parent, node_ptr header)
1833
1833
  {
1834
1834
  const bool p_was_left(NodeTraits::get_left(p_parent) == p);
1835
1835
  rotate_right_no_parent_fix(p, p_left);
@@ -1883,7 +1883,7 @@ class bstree_algorithms : public bstree_algorithms_base
1883
1883
  }
1884
1884
  }
1885
1885
 
1886
- static void vine_to_subtree(const node_ptr & super_root, std::size_t count)
1886
+ static void vine_to_subtree(node_ptr super_root, std::size_t count)
1887
1887
  {
1888
1888
  const std::size_t one_szt = 1u;
1889
1889
  std::size_t leaf_nodes = count + one_szt - std::size_t(one_szt << detail::floor_log2(count + one_szt));
@@ -1927,7 +1927,7 @@ class bstree_algorithms : public bstree_algorithms_base
1927
1927
 
1928
1928
  template <class Cloner, class Disposer>
1929
1929
  static node_ptr clone_subtree
1930
- (const const_node_ptr &source_parent, const node_ptr &target_parent
1930
+ (const const_node_ptr &source_parent, node_ptr target_parent
1931
1931
  , Cloner cloner, Disposer disposer
1932
1932
  , node_ptr &leftmost_out, node_ptr &rightmost_out
1933
1933
  )