passenger 6.0.0 → 6.0.5

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 (454) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +148 -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 +1 -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 +13 -1
  22. data/src/agent/Core/Controller.h +1 -0
  23. data/src/agent/Core/Controller/Config.h +4 -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/Perform.h +1 -0
  31. data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
  32. data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
  33. data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
  34. data/src/agent/Watchdog/Config.h +14 -1
  35. data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
  36. data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
  37. data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
  38. data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
  39. data/src/apache2_module/Hooks.cpp +6 -0
  40. data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
  41. data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
  42. data/src/cxx_supportlib/Constants.h +2 -1
  43. data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
  44. data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
  45. data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
  46. data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +57 -2
  47. data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
  48. data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
  49. data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
  50. data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
  51. data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
  52. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
  53. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
  54. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
  55. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
  56. data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
  57. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
  58. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
  59. data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
  60. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
  61. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
  62. data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
  63. data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
  64. data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
  65. data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
  66. data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
  67. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
  68. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
  69. data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
  70. data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
  71. data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
  72. data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
  73. data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
  74. data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
  75. data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
  76. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
  77. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
  78. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
  79. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
  80. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
  81. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
  82. data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
  83. data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
  84. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
  85. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
  86. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
  87. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
  88. data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
  89. data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
  90. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
  91. data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
  92. data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
  93. data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
  94. data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
  95. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
  96. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
  97. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
  98. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
  99. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
  100. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
  101. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
  102. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
  103. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
  104. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
  105. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
  106. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
  107. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
  108. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
  109. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
  110. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
  111. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
  112. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
  113. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
  114. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
  115. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
  116. data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
  117. data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
  118. data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
  119. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
  120. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
  121. data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
  122. data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
  123. data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
  124. data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
  125. data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
  126. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
  127. data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
  128. data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
  129. data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
  130. data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
  131. data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
  132. data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
  133. data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
  134. data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
  135. data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
  136. data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
  137. data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
  138. data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
  139. data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
  140. data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
  141. data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
  142. data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
  143. data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
  144. data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
  145. data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
  146. data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
  147. data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
  148. data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
  149. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
  150. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
  151. data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
  152. data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
  153. data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
  154. data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
  155. data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
  156. data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
  157. data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
  158. data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
  159. data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
  160. data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
  161. data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
  162. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
  163. data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
  164. data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
  165. data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
  166. data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
  167. data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
  168. data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
  169. data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
  170. data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
  171. data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
  172. data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
  173. data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
  174. data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
  175. data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
  176. data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
  177. data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
  178. data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
  179. data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
  180. data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
  181. data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
  182. data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
  183. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
  184. data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
  185. data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
  186. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
  187. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
  188. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
  189. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
  190. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
  191. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
  192. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
  193. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
  194. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
  195. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
  196. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
  197. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
  198. data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
  199. data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
  200. data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
  201. data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
  202. data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
  203. data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
  204. data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
  205. data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
  206. data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
  207. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
  208. data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
  209. data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
  210. data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
  211. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
  212. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
  213. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
  214. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
  215. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
  216. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
  217. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
  218. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
  219. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
  220. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
  221. data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
  222. data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
  223. data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
  224. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
  225. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
  226. data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
  227. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
  228. data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
  229. data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
  230. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
  231. data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
  232. data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
  233. data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
  234. data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
  235. data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
  236. data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
  237. data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
  238. data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
  239. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
  240. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
  241. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
  242. data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
  243. data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
  244. data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
  245. data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
  246. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
  247. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
  248. data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
  249. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
  250. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
  251. data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
  252. data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
  253. data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
  254. data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
  255. data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
  256. data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
  257. data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
  258. data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
  259. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
  260. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
  261. data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
  262. data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
  263. data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
  264. data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
  265. data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
  266. data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
  267. data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
  268. data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
  269. data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
  270. data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
  271. data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
  272. data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
  273. data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
  274. data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
  275. data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
  276. data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
  277. data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
  278. data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
  279. data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
  280. data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
  281. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
  282. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
  283. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
  284. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
  285. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
  286. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
  287. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
  288. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
  289. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
  290. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
  291. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
  292. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
  293. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
  294. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
  295. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
  296. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
  297. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
  298. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
  299. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
  300. data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
  301. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
  302. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
  303. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
  304. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
  305. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
  306. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
  307. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
  308. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
  309. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
  310. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
  311. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
  312. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
  313. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
  314. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
  315. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
  316. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
  317. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
  318. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
  319. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
  320. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
  321. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
  322. data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
  323. data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
  324. data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
  325. data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
  326. data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
  327. data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
  328. data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
  329. data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
  330. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
  331. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
  332. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
  333. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
  334. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
  335. data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
  336. data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
  337. data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
  338. data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
  339. data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
  340. data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
  341. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
  342. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
  343. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
  344. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
  345. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
  346. data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
  347. data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
  348. data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
  349. data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
  350. data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
  351. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
  352. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
  353. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
  354. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
  355. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
  356. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
  357. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
  358. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
  359. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
  360. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
  361. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
  362. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
  363. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
  364. data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
  365. data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
  366. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
  367. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
  368. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
  369. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
  370. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
  371. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
  372. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
  373. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
  374. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
  375. data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
  376. data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
  377. data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
  378. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
  379. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
  380. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
  381. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
  382. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
  383. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
  384. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
  385. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
  386. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
  387. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
  388. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
  389. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
  390. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
  391. data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
  392. data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
  393. data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
  394. data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
  395. data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
  396. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
  397. data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
  398. data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
  399. data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
  400. data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
  401. data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
  402. data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
  403. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
  404. data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
  405. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
  406. data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
  407. data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
  408. data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
  409. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
  410. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
  411. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
  412. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
  413. data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
  414. data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
  415. data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
  416. data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
  417. data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
  418. data/src/helper-scripts/prespawn +1 -0
  419. data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
  420. data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
  421. data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
  422. data/src/nginx_module/Configuration.c +9 -5
  423. data/src/nginx_module/ContentHandler.c +5 -1
  424. data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
  425. data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
  426. data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
  427. data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
  428. data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
  429. data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
  430. data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
  431. data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
  432. data/src/nginx_module/ngx_http_passenger_module.c +2 -0
  433. data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
  434. data/src/ruby_native_extension/extconf.rb +7 -0
  435. data/src/ruby_supportlib/phusion_passenger.rb +7 -7
  436. data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
  437. data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
  438. data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
  439. data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
  440. data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
  441. data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
  442. data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
  443. data/src/ruby_supportlib/phusion_passenger/request_handler.rb +2 -2
  444. data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
  445. data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
  446. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
  447. data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
  448. data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
  449. data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
  450. metadata +48 -7
  451. data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
  452. data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
  453. data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
  454. data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -155,4 +155,9 @@ namespace boost
155
155
  #undef BOOST_TT_FORBIDDEN_IF
156
156
 
157
157
  #endif
158
+
159
+ #if defined(BOOST_MSVC)
160
+ # pragma warning (pop)
161
+ #endif
162
+
158
163
  #endif
@@ -153,4 +153,9 @@ namespace boost
153
153
  #undef BOOST_TT_FORBIDDEN_IF
154
154
 
155
155
  #endif
156
+
157
+ #if defined(BOOST_MSVC)
158
+ # pragma warning (pop)
159
+ #endif
160
+
156
161
  #endif
@@ -41,4 +41,25 @@
41
41
  #undef BOOST_TT_TRAIT_OP
42
42
  #undef BOOST_TT_FORBIDDEN_IF
43
43
 
44
+ #if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
45
+
46
+ namespace boost {
47
+
48
+ template <class R>
49
+ struct has_post_decrement<bool, R> : public false_type {};
50
+ template <>
51
+ struct has_post_decrement<bool, boost::binary_op_detail::dont_care> : public false_type {};
52
+ template <>
53
+ struct has_post_decrement<bool, void> : public false_type {};
54
+
55
+ template <class R>
56
+ struct has_post_decrement<bool&, R> : public false_type {};
57
+ template <>
58
+ struct has_post_decrement<bool&, boost::binary_op_detail::dont_care> : public false_type {};
59
+ template <>
60
+ struct has_post_decrement<bool&, void> : public false_type {};
61
+
62
+ }
63
+
64
+ #endif
44
65
  #endif
@@ -41,4 +41,25 @@
41
41
  #undef BOOST_TT_TRAIT_OP
42
42
  #undef BOOST_TT_FORBIDDEN_IF
43
43
 
44
+ #if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
45
+
46
+ namespace boost {
47
+
48
+ template <class R>
49
+ struct has_post_increment<bool, R> : public false_type {};
50
+ template <>
51
+ struct has_post_increment<bool, boost::binary_op_detail::dont_care> : public false_type {};
52
+ template <>
53
+ struct has_post_increment<bool, void> : public false_type {};
54
+
55
+ template <class R>
56
+ struct has_post_increment<bool&, R> : public false_type {};
57
+ template <>
58
+ struct has_post_increment<bool&, boost::binary_op_detail::dont_care> : public false_type {};
59
+ template <>
60
+ struct has_post_increment<bool&, void> : public false_type {};
61
+
62
+ }
63
+
64
+ #endif
44
65
  #endif
@@ -41,4 +41,25 @@
41
41
  #undef BOOST_TT_TRAIT_OP
42
42
  #undef BOOST_TT_FORBIDDEN_IF
43
43
 
44
+ #if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
45
+
46
+ namespace boost {
47
+
48
+ template <class R>
49
+ struct has_pre_decrement<bool, R> : public false_type {};
50
+ template <>
51
+ struct has_pre_decrement<bool, boost::binary_op_detail::dont_care> : public false_type {};
52
+ template <>
53
+ struct has_pre_decrement<bool, void> : public false_type {};
54
+
55
+ template <class R>
56
+ struct has_pre_decrement<bool&, R> : public false_type {};
57
+ template <>
58
+ struct has_pre_decrement<bool&, boost::binary_op_detail::dont_care> : public false_type {};
59
+ template <>
60
+ struct has_pre_decrement<bool&, void> : public false_type {};
61
+
62
+ }
63
+
64
+ #endif
44
65
  #endif
@@ -41,4 +41,26 @@
41
41
  #undef BOOST_TT_TRAIT_OP
42
42
  #undef BOOST_TT_FORBIDDEN_IF
43
43
 
44
+ #if defined(BOOST_TT_HAS_ACCURATE_BINARY_OPERATOR_DETECTION)
45
+
46
+ namespace boost {
47
+
48
+ template <class R>
49
+ struct has_pre_increment<bool, R> : public false_type {};
50
+ template <>
51
+ struct has_pre_increment<bool, boost::binary_op_detail::dont_care> : public false_type {};
52
+ template <>
53
+ struct has_pre_increment<bool, void> : public false_type {};
54
+
55
+ template <class R>
56
+ struct has_pre_increment<bool&, R> : public false_type {};
57
+ template <>
58
+ struct has_pre_increment<bool&, boost::binary_op_detail::dont_care> : public false_type {};
59
+ template <>
60
+ struct has_pre_increment<bool&, void> : public false_type {};
61
+
62
+ }
63
+
64
+ #endif
65
+
44
66
  #endif
@@ -24,7 +24,7 @@
24
24
  #endif
25
25
  #endif
26
26
 
27
- #if defined(__GNUC__) || defined(__clang)
27
+ #if defined(__GNUC__) || defined(__clang__)
28
28
  #include <boost/type_traits/is_assignable.hpp>
29
29
  #include <boost/type_traits/is_volatile.hpp>
30
30
  #endif
@@ -20,9 +20,10 @@
20
20
  #if defined(BOOST_MSVC) || defined(BOOST_INTEL)
21
21
  #include <boost/type_traits/is_pod.hpp>
22
22
  #include <boost/type_traits/is_volatile.hpp>
23
+ #include <boost/type_traits/is_reference.hpp>
23
24
  #endif
24
25
 
25
- #if defined(__GNUC__) || defined(__clang)
26
+ #if defined(__GNUC__) || defined(__clang__)
26
27
  #include <boost/type_traits/is_constructible.hpp>
27
28
  #include <boost/type_traits/is_volatile.hpp>
28
29
  #endif
@@ -56,17 +56,12 @@ namespace boost{
56
56
  typedef T value_type;
57
57
  typedef integral_constant<T, val> type;
58
58
  static const T value = val;
59
- //
60
- // This helper function is just to disable type-punning
61
- // warnings from GCC:
62
- //
63
- template <class U>
64
- static U& dereference(U* p) { return *p; }
65
59
 
66
60
  operator const mpl::integral_c<T, val>& ()const
67
61
  {
68
62
  static const char data[sizeof(long)] = { 0 };
69
- return dereference(reinterpret_cast<const mpl::integral_c<T, val>*>(&data));
63
+ static const void* pdata = data;
64
+ return *(reinterpret_cast<const mpl::integral_c<T, val>*>(pdata));
70
65
  }
71
66
  BOOST_CONSTEXPR operator T()const { return val; }
72
67
  };
@@ -81,17 +76,12 @@ namespace boost{
81
76
  typedef bool value_type;
82
77
  typedef integral_constant<bool, val> type;
83
78
  static const bool value = val;
84
- //
85
- // This helper function is just to disable type-punning
86
- // warnings from GCC:
87
- //
88
- template <class T>
89
- static T& dereference(T* p) { return *p; }
90
79
 
91
80
  operator const mpl::bool_<val>& ()const
92
81
  {
93
- static const char data = 0;
94
- return dereference(reinterpret_cast<const mpl::bool_<val>*>(&data));
82
+ static const char data[sizeof(long)] = { 0 };
83
+ static const void* pdata = data;
84
+ return *(reinterpret_cast<const mpl::bool_<val>*>(pdata));
95
85
  }
96
86
  BOOST_CONSTEXPR operator bool()const { return val; }
97
87
  };
@@ -122,19 +122,25 @@
122
122
  // This one fails if the default alignment has been changed with /Zp:
123
123
  // # define BOOST_ALIGNMENT_OF(T) __alignof(T)
124
124
 
125
- # if defined(_MSC_VER) && (_MSC_VER >= 1700)
125
+ # if defined(_MSC_VER) && (_MSC_VER >= 1800)
126
+ # define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__is_trivially_constructible(T, T&&) || boost::is_pod<T>::value) && ! ::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
127
+ # define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__is_trivially_assignable(T, T&&) || boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
128
+ # elif defined(_MSC_VER) && (_MSC_VER >= 1700)
126
129
  # define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) ((__has_trivial_move_constructor(T) || boost::is_pod<T>::value) && ! ::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
127
130
  # define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) ((__has_trivial_move_assign(T) || boost::is_pod<T>::value) && ! ::boost::is_const<T>::value && !::boost::is_volatile<T>::value && ! ::boost::is_reference<T>::value)
128
131
  # endif
129
132
  #ifndef BOOST_NO_CXX11_FINAL
130
133
  // This one doesn't quite always do the right thing on older VC++ versions
131
- // we really need it when the final keyword is supporyted though:
134
+ // we really need it when the final keyword is supported though:
132
135
  # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
133
136
  #endif
134
137
  #if _MSC_FULL_VER >= 180020827
135
138
  # define BOOST_IS_NOTHROW_MOVE_ASSIGN(T) (__is_nothrow_assignable(T&, T&&))
136
139
  # define BOOST_IS_NOTHROW_MOVE_CONSTRUCT(T) (__is_nothrow_constructible(T, T&&))
137
140
  #endif
141
+ #if _MSC_VER >= 1800
142
+ # define BOOST_IS_FINAL(T) __is_final(T)
143
+ #endif
138
144
  # define BOOST_HAS_TYPE_TRAITS_INTRINSICS
139
145
  #endif
140
146
 
@@ -219,12 +225,14 @@
219
225
  # if __has_feature(is_polymorphic)
220
226
  # define BOOST_IS_POLYMORPHIC(T) __is_polymorphic(T)
221
227
  # endif
222
- # if __has_feature(has_trivial_move_constructor)
223
- # define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__has_trivial_move_constructor(T) && is_constructible<T, T&&>::value && !::boost::is_volatile<T>::value)
228
+ #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
229
+ # if __has_extension(is_trivially_constructible)
230
+ # define BOOST_HAS_TRIVIAL_MOVE_CONSTRUCTOR(T) (__is_trivially_constructible(T, T&&) && is_constructible<T, T&&>::value && !::boost::is_volatile<T>::value)
224
231
  # endif
225
- # if __has_feature(has_trivial_move_assign)
226
- # define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__has_trivial_move_assign(T) && is_assignable<T&, T&&>::value && !::boost::is_volatile<T>::value)
232
+ # if __has_extension(is_trivially_assignable)
233
+ # define BOOST_HAS_TRIVIAL_MOVE_ASSIGN(T) (__is_trivially_assignable(T&, T&&) && is_assignable<T&, T&&>::value && !::boost::is_volatile<T>::value)
227
234
  # endif
235
+ #endif
228
236
  # if (!defined(unix) && !defined(__unix__)) || defined(__LP64__) || !defined(__GNUC__)
229
237
  // GCC sometimes lies about alignment requirements
230
238
  // of type double on 32-bit unix platforms, use the
@@ -266,7 +274,9 @@
266
274
  # define BOOST_HAS_TRIVIAL_ASSIGN(T) ((__has_trivial_assign(T) BOOST_INTEL_TT_OPTS) && ! ::boost::is_volatile<T>::value && ! ::boost::is_const<T>::value)
267
275
  # define BOOST_HAS_TRIVIAL_DESTRUCTOR(T) (__has_trivial_destructor(T) BOOST_INTEL_TT_OPTS)
268
276
  # define BOOST_HAS_NOTHROW_CONSTRUCTOR(T) (__has_nothrow_constructor(T) BOOST_INTEL_TT_OPTS)
277
+ #if ((__GNUC__ * 100 + __GNUC_MINOR__) != 407) && ((__GNUC__ * 100 + __GNUC_MINOR__) != 408)
269
278
  # define BOOST_HAS_NOTHROW_COPY(T) ((__has_nothrow_copy(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_reference<T>::value && !is_array<T>::value)
279
+ #endif
270
280
  # define BOOST_HAS_NOTHROW_ASSIGN(T) ((__has_nothrow_assign(T) BOOST_INTEL_TT_OPTS) && !is_volatile<T>::value && !is_const<T>::value && !is_array<T>::value)
271
281
  #endif
272
282
  # define BOOST_HAS_VIRTUAL_DESTRUCTOR(T) __has_virtual_destructor(T)
@@ -9,9 +9,11 @@
9
9
  #ifndef BOOST_TT_IS_COMPLETE_HPP_INCLUDED
10
10
  #define BOOST_TT_IS_COMPLETE_HPP_INCLUDED
11
11
 
12
+ #include <boost/type_traits/declval.hpp>
12
13
  #include <boost/type_traits/integral_constant.hpp>
13
14
  #include <boost/type_traits/remove_reference.hpp>
14
15
  #include <boost/type_traits/is_function.hpp>
16
+ #include <boost/type_traits/detail/yes_no_type.hpp>
15
17
  #include <boost/config/workaround.hpp>
16
18
 
17
19
  /*
@@ -58,7 +60,7 @@ namespace boost {
58
60
  template <class T>
59
61
  struct is_complete_imp
60
62
  {
61
- template <class U, class = decltype(sizeof(std::declval< U >())) >
63
+ template <class U, class = decltype(sizeof(boost::declval< U >())) >
62
64
  static type_traits::yes_type check(U*);
63
65
 
64
66
  template <class U>
@@ -11,8 +11,7 @@
11
11
 
12
12
  #include <boost/config.hpp>
13
13
  #include <boost/type_traits/detail/yes_no_type.hpp>
14
- #include <boost/type_traits/is_base_and_derived.hpp>
15
- #include <boost/noncopyable.hpp>
14
+ #include <boost/type_traits/is_noncopyable.hpp>
16
15
 
17
16
  #if !defined(BOOST_NO_CXX11_DELETED_FUNCTIONS) && !defined(BOOST_NO_CXX11_DECLTYPE) \
18
17
  && !defined(BOOST_INTEL_CXX_VERSION) && \
@@ -112,7 +111,7 @@ struct is_copy_assignable_impl {
112
111
  typedef BOOST_DEDUCED_TYPENAME boost::remove_reference<T>::type unreferenced_t;
113
112
  BOOST_STATIC_CONSTANT(bool, value = (
114
113
  boost::detail::is_copy_assignable_impl2<
115
- boost::is_base_and_derived<boost::noncopyable, T>::value
114
+ boost::is_noncopyable<T>::value
116
115
  || boost::is_const<unreferenced_t>::value || boost::is_array<unreferenced_t>::value
117
116
  ,T
118
117
  >::value
@@ -120,7 +119,7 @@ struct is_copy_assignable_impl {
120
119
  #else
121
120
  BOOST_STATIC_CONSTANT(bool, value = (
122
121
  boost::detail::is_copy_assignable_impl2<
123
- boost::is_base_and_derived<boost::noncopyable, T>::value,T
122
+ boost::is_noncopyable<T>::value,T
124
123
  >::value
125
124
  ));
126
125
  #endif
@@ -37,8 +37,7 @@ template <> struct is_copy_constructible : public false_type{};
37
37
  // an incorrect value, which just defers the issue into the users code) as well. We can at least fix
38
38
  // boost::non_copyable as a base class as a special case:
39
39
  //
40
- #include <boost/type_traits/is_base_and_derived.hpp>
41
- #include <boost/noncopyable.hpp>
40
+ #include <boost/type_traits/is_noncopyable.hpp>
42
41
 
43
42
  namespace boost {
44
43
 
@@ -50,7 +49,7 @@ namespace boost {
50
49
 
51
50
  }
52
51
 
53
- template <class T> struct is_copy_constructible : public detail::is_copy_constructible_imp<T, is_base_and_derived<boost::noncopyable, T>::value>{};
52
+ template <class T> struct is_copy_constructible : public detail::is_copy_constructible_imp<T, is_noncopyable<T>::value>{};
54
53
 
55
54
  template <> struct is_copy_constructible<void> : public false_type{};
56
55
  template <> struct is_copy_constructible<void const> : public false_type{};
@@ -64,13 +63,12 @@ namespace boost {
64
63
  #else
65
64
 
66
65
  #include <boost/type_traits/detail/yes_no_type.hpp>
67
- #include <boost/type_traits/is_base_and_derived.hpp>
66
+ #include <boost/type_traits/is_noncopyable.hpp>
68
67
  #include <boost/type_traits/add_reference.hpp>
69
68
  #include <boost/type_traits/is_rvalue_reference.hpp>
70
69
  #include <boost/type_traits/declval.hpp>
71
70
  #include <boost/type_traits/is_array.hpp>
72
71
  #include <boost/type_traits/declval.hpp>
73
- #include <boost/noncopyable.hpp>
74
72
 
75
73
  #ifdef BOOST_MSVC
76
74
  #pragma warning(push)
@@ -160,7 +158,7 @@ namespace boost {
160
158
 
161
159
  BOOST_STATIC_CONSTANT(bool, value = (
162
160
  boost::detail::is_copy_constructible_impl2<
163
- boost::is_base_and_derived<boost::noncopyable, T>::value,
161
+ boost::is_noncopyable<T>::value,
164
162
  T
165
163
  >::value
166
164
  ));
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Copyright 2017-2018 Glen Joseph Fernandes
3
- <glenjofe -at- gmail.com>
3
+ (glenjofe@gmail.com)
4
4
 
5
5
  Distributed under the Boost Software License,
6
6
  Version 1.0. (See accompanying file LICENSE_1_0.txt
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Copyright 2017-2018 Glen Joseph Fernandes
3
- <glenjofe -at- gmail.com>
3
+ (glenjofe@gmail.com)
4
4
 
5
5
  Distributed under the Boost Software License,
6
6
  Version 1.0. (See accompanying file LICENSE_1_0.txt
@@ -1,6 +1,6 @@
1
1
  /*
2
2
  Copyright 2017-2018 Glen Joseph Fernandes
3
- <glenjofe -at- gmail.com>
3
+ (glenjofe@gmail.com)
4
4
 
5
5
  Distributed under the Boost Software License,
6
6
  Version 1.0. (See accompanying file LICENSE_1_0.txt
@@ -20,7 +20,7 @@
20
20
  namespace boost {
21
21
 
22
22
  #ifdef BOOST_IS_FINAL
23
- template <class T> struct is_final : public integral_constant<bool, BOOST_IS_FINAL(typename remove_cv<T>::type)> {};
23
+ template <class T> struct is_final : public integral_constant<bool, BOOST_IS_FINAL(T)> {};
24
24
  #else
25
25
  template <class T> struct is_final : public integral_constant<bool, false> {};
26
26
  #endif
@@ -11,92 +11,17 @@
11
11
  #ifndef BOOST_TT_IS_FUNCTION_HPP_INCLUDED
12
12
  #define BOOST_TT_IS_FUNCTION_HPP_INCLUDED
13
13
 
14
- #include <boost/type_traits/is_reference.hpp>
15
14
  #include <boost/type_traits/detail/config.hpp>
15
+ #include <boost/config/workaround.hpp>
16
16
 
17
- #if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
18
- # include <boost/type_traits/detail/is_function_ptr_helper.hpp>
19
- #else
20
- # include <boost/type_traits/detail/is_function_ptr_tester.hpp>
21
- # include <boost/type_traits/detail/yes_no_type.hpp>
22
- #endif
23
-
24
- // is a type a function?
25
- // Please note that this implementation is unnecessarily complex:
26
- // we could just use !is_convertible<T*, const volatile void*>::value,
27
- // except that some compilers erroneously allow conversions from
28
- // function pointers to void*.
29
-
30
- namespace boost {
31
-
32
- #if !defined( __CODEGEARC__ )
17
+ #ifdef BOOST_TT_HAS_ASCCURATE_IS_FUNCTION
33
18
 
34
- namespace detail {
35
-
36
- #if !defined(BOOST_TT_TEST_MS_FUNC_SIGS)
37
- template<bool is_ref = true>
38
- struct is_function_chooser
39
- {
40
- template< typename T > struct result_
41
- : public false_type {};
42
- };
43
-
44
- template <>
45
- struct is_function_chooser<false>
46
- {
47
- template< typename T > struct result_
48
- : public ::boost::type_traits::is_function_ptr_helper<T*> {};
49
- };
50
-
51
- template <typename T>
52
- struct is_function_impl
53
- : public is_function_chooser< ::boost::is_reference<T>::value >
54
- ::BOOST_NESTED_TEMPLATE result_<T>
55
- {
56
- };
19
+ #include <boost/type_traits/detail/is_function_cxx_11.hpp>
57
20
 
58
21
  #else
59
22
 
60
- template <typename T>
61
- struct is_function_impl
62
- {
63
- #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
64
- #pragma warning(push)
65
- #pragma warning(disable:6334)
66
- #endif
67
- static T* t;
68
- BOOST_STATIC_CONSTANT(
69
- bool, value = sizeof(::boost::type_traits::is_function_ptr_tester(t))
70
- == sizeof(::boost::type_traits::yes_type)
71
- );
72
- #if BOOST_WORKAROUND(BOOST_MSVC_FULL_VER, >= 140050000)
73
- #pragma warning(pop)
74
- #endif
75
- };
76
-
77
- template <typename T>
78
- struct is_function_impl<T&> : public false_type
79
- {};
80
- #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
81
- template <typename T>
82
- struct is_function_impl<T&&> : public false_type
83
- {};
84
- #endif
85
-
86
- #endif
23
+ #include <boost/type_traits/detail/is_function_cxx_03.hpp>
87
24
 
88
- } // namespace detail
89
-
90
- #endif // !defined( __CODEGEARC__ )
91
-
92
- #if defined( __CODEGEARC__ )
93
- template <class T> struct is_function : integral_constant<bool, __is_function(T)> {};
94
- #else
95
- template <class T> struct is_function : integral_constant<bool, ::boost::detail::is_function_impl<T>::value> {};
96
- #ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
97
- template <class T> struct is_function<T&&> : public false_type {};
98
- #endif
99
25
  #endif
100
- } // namespace boost
101
26
 
102
27
  #endif // BOOST_TT_IS_FUNCTION_HPP_INCLUDED