passenger 6.0.0 → 6.0.5

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,7 +1,9 @@
1
1
  // Helper classes and functions for the circular buffer.
2
2
 
3
3
  // Copyright (c) 2003-2008 Jan Gaspar
4
- // Copyright (c) 2014 Glen Joseph Fernandes // C++11 allocator model support.
4
+
5
+ // Copyright 2014,2018 Glen Joseph Fernandes
6
+ // (glenjofe@gmail.com)
5
7
 
6
8
  // Use, modification, and distribution is subject to the Boost Software
7
9
  // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
@@ -15,12 +17,11 @@
15
17
  #endif
16
18
 
17
19
  #include <boost/throw_exception.hpp>
18
- #include <boost/container/allocator_traits.hpp>
20
+ #include <boost/circular_buffer/allocators.hpp>
19
21
  #include <boost/core/pointer_traits.hpp>
20
22
  #include <boost/move/move.hpp>
21
23
  #include <boost/type_traits/is_nothrow_move_constructible.hpp>
22
- #include <boost/utility/addressof.hpp>
23
- #include <boost/detail/no_exceptions_support.hpp>
24
+ #include <boost/core/no_exceptions_support.hpp>
24
25
  #include <iterator>
25
26
 
26
27
  // Silence MS /W4 warnings like C4913:
@@ -56,7 +57,7 @@ struct const_traits {
56
57
  // Basic types
57
58
  typedef typename Traits::value_type value_type;
58
59
  typedef typename Traits::const_pointer pointer;
59
- typedef typename Traits::const_reference reference;
60
+ typedef const value_type& reference;
60
61
  typedef typename Traits::size_type size_type;
61
62
  typedef typename Traits::difference_type difference_type;
62
63
 
@@ -73,7 +74,7 @@ struct nonconst_traits {
73
74
  // Basic types
74
75
  typedef typename Traits::value_type value_type;
75
76
  typedef typename Traits::pointer pointer;
76
- typedef typename Traits::reference reference;
77
+ typedef value_type& reference;
77
78
  typedef typename Traits::size_type size_type;
78
79
  typedef typename Traits::difference_type difference_type;
79
80
 
@@ -113,7 +114,7 @@ private:
113
114
  */
114
115
  template <class Value, class Alloc>
115
116
  struct assign_n {
116
- typedef typename boost::container::allocator_traits<Alloc>::size_type size_type;
117
+ typedef typename allocator_traits<Alloc>::size_type size_type;
117
118
  size_type m_n;
118
119
  Value m_item;
119
120
  Alloc& m_alloc;
@@ -195,46 +196,33 @@ public:
195
196
  for iterating from begin() to end() of the circular buffer.
196
197
  */
197
198
  template <class Buff, class Traits>
198
- struct iterator :
199
- public std::iterator<
200
- std::random_access_iterator_tag,
201
- typename Traits::value_type,
202
- typename Traits::difference_type,
203
- typename Traits::pointer,
204
- typename Traits::reference>
199
+ struct iterator
205
200
  #if BOOST_CB_ENABLE_DEBUG
206
- , public debug_iterator_base
201
+ : public debug_iterator_base
207
202
  #endif // #if BOOST_CB_ENABLE_DEBUG
208
203
  {
209
204
  // Helper types
210
205
 
211
- //! Base iterator.
212
- typedef std::iterator<
213
- std::random_access_iterator_tag,
214
- typename Traits::value_type,
215
- typename Traits::difference_type,
216
- typename Traits::pointer,
217
- typename Traits::reference> base_iterator;
218
-
219
206
  //! Non-const iterator.
220
207
  typedef iterator<Buff, typename Traits::nonconst_self> nonconst_self;
221
208
 
222
209
  // Basic types
210
+ typedef std::random_access_iterator_tag iterator_category;
223
211
 
224
212
  //! The type of the elements stored in the circular buffer.
225
- typedef typename base_iterator::value_type value_type;
213
+ typedef typename Traits::value_type value_type;
226
214
 
227
215
  //! Pointer to the element.
228
- typedef typename base_iterator::pointer pointer;
216
+ typedef typename Traits::pointer pointer;
229
217
 
230
218
  //! Reference to the element.
231
- typedef typename base_iterator::reference reference;
219
+ typedef typename Traits::reference reference;
232
220
 
233
221
  //! Size type.
234
222
  typedef typename Traits::size_type size_type;
235
223
 
236
224
  //! Difference type.
237
- typedef typename base_iterator::difference_type difference_type;
225
+ typedef typename Traits::difference_type difference_type;
238
226
 
239
227
  // Member variables
240
228
 
@@ -436,10 +424,10 @@ inline ForwardIterator uninitialized_copy(InputIterator first, InputIterator las
436
424
  ForwardIterator next = dest;
437
425
  BOOST_TRY {
438
426
  for (; first != last; ++first, ++dest)
439
- boost::container::allocator_traits<Alloc>::construct(a, boost::to_address(dest), *first);
427
+ allocator_traits<Alloc>::construct(a, boost::to_address(dest), *first);
440
428
  } BOOST_CATCH(...) {
441
429
  for (; next != dest; ++next)
442
- boost::container::allocator_traits<Alloc>::destroy(a, boost::to_address(next));
430
+ allocator_traits<Alloc>::destroy(a, boost::to_address(next));
443
431
  BOOST_RETHROW
444
432
  }
445
433
  BOOST_CATCH_END
@@ -450,7 +438,7 @@ template
450
438
  ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a,
451
439
  true_type) {
452
440
  for (; first != last; ++first, ++dest)
453
- boost::container::allocator_traits<Alloc>::construct(a, boost::to_address(dest), boost::move(*first));
441
+ allocator_traits<Alloc>::construct(a, boost::to_address(dest), boost::move(*first));
454
442
  return dest;
455
443
  }
456
444
 
@@ -466,7 +454,7 @@ ForwardIterator uninitialized_move_if_noexcept_impl(InputIterator first, InputIt
466
454
  */
467
455
  template<class InputIterator, class ForwardIterator, class Alloc>
468
456
  ForwardIterator uninitialized_move_if_noexcept(InputIterator first, InputIterator last, ForwardIterator dest, Alloc& a) {
469
- typedef typename boost::is_nothrow_move_constructible<typename boost::container::allocator_traits<Alloc>::value_type>::type tag_t;
457
+ typedef typename boost::is_nothrow_move_constructible<typename allocator_traits<Alloc>::value_type>::type tag_t;
470
458
  return uninitialized_move_if_noexcept_impl(first, last, dest, a, tag_t());
471
459
  }
472
460
 
@@ -479,10 +467,10 @@ inline void uninitialized_fill_n_with_alloc(ForwardIterator first, Diff n, const
479
467
  ForwardIterator next = first;
480
468
  BOOST_TRY {
481
469
  for (; n > 0; ++first, --n)
482
- boost::container::allocator_traits<Alloc>::construct(alloc, boost::to_address(first), item);
470
+ allocator_traits<Alloc>::construct(alloc, boost::to_address(first), item);
483
471
  } BOOST_CATCH(...) {
484
472
  for (; next != first; ++next)
485
- boost::container::allocator_traits<Alloc>::destroy(alloc, boost::to_address(next));
473
+ allocator_traits<Alloc>::destroy(alloc, boost::to_address(next));
486
474
  BOOST_RETHROW
487
475
  }
488
476
  BOOST_CATCH_END
@@ -16,7 +16,7 @@
16
16
  #endif
17
17
 
18
18
  #include <boost/type_traits/is_same.hpp>
19
- #include <boost/detail/workaround.hpp>
19
+ #include <boost/config/workaround.hpp>
20
20
 
21
21
  namespace boost {
22
22
 
@@ -509,7 +509,7 @@ public:
509
509
  first, last, alloc)
510
510
  , m_capacity_ctrl(capacity_ctrl) {
511
511
  reduce_capacity(
512
- is_same< BOOST_DEDUCED_TYPENAME iterator_category<InputIterator>::type, std::input_iterator_tag >());
512
+ is_same< BOOST_DEDUCED_TYPENAME std::iterator_traits<InputIterator>::iterator_category, std::input_iterator_tag >());
513
513
  }
514
514
 
515
515
  #if defined(BOOST_CB_NEVER_DEFINED)
@@ -579,7 +579,7 @@ public:
579
579
  */
580
580
  circular_buffer_space_optimized<T, Alloc>& operator = (circular_buffer_space_optimized<T, Alloc>&& cb) BOOST_NOEXCEPT {
581
581
  cb.swap(*this); // now `this` holds `cb`
582
- circular_buffer<T, Alloc>(get_allocator()) // temprary that holds initial `cb` allocator
582
+ circular_buffer<T, Alloc>(get_allocator()) // temporary that holds initial `cb` allocator
583
583
  .swap(cb); // makes `cb` empty
584
584
  return *this;
585
585
  }
@@ -1605,10 +1605,10 @@ private:
1605
1605
  const false_type&) {
1606
1606
  BOOST_CB_IS_CONVERTIBLE(Iterator, value_type); // check for invalid iterator type
1607
1607
  #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x581))
1608
- return init_capacity(capacity_ctrl, first, last, iterator_category<Iterator>::type());
1608
+ return init_capacity(capacity_ctrl, first, last, std::iterator_traits<Iterator>::iterator_category());
1609
1609
  #else
1610
1610
  return init_capacity(
1611
- capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME iterator_category<Iterator>::type());
1611
+ capacity_ctrl, first, last, BOOST_DEDUCED_TYPENAME std::iterator_traits<Iterator>::iterator_category());
1612
1612
  #endif
1613
1613
  }
1614
1614
 
@@ -5,7 +5,7 @@
5
5
  # define BOOST_CONCEPT_ASSERT_DWA2006430_HPP
6
6
 
7
7
  # include <boost/config.hpp>
8
- # include <boost/detail/workaround.hpp>
8
+ # include <boost/config/workaround.hpp>
9
9
 
10
10
  // The old protocol used a constraints() member function in concept
11
11
  // checking classes. If the compiler supports SFINAE, we can detect
@@ -10,7 +10,7 @@
10
10
 
11
11
  # ifdef BOOST_OLD_CONCEPT_SUPPORT
12
12
  # include <boost/concept/detail/has_constraints.hpp>
13
- # include <boost/mpl/if.hpp>
13
+ # include <boost/type_traits/conditional.hpp>
14
14
  # endif
15
15
 
16
16
  // This implementation works on Comeau and GCC, all the way back to
@@ -49,8 +49,8 @@ struct constraint
49
49
 
50
50
  template <class Model>
51
51
  struct requirement_<void(*)(Model)>
52
- : mpl::if_<
53
- concepts::not_satisfied<Model>
52
+ : boost::conditional<
53
+ concepts::not_satisfied<Model>::value
54
54
  , constraint<Model>
55
55
  , requirement<failed ************ Model::************>
56
56
  >::type
@@ -4,8 +4,8 @@
4
4
  #ifndef BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
5
5
  # define BOOST_CONCEPT_DETAIL_HAS_CONSTRAINTS_DWA2006429_HPP
6
6
 
7
- # include <boost/mpl/bool.hpp>
8
- # include <boost/detail/workaround.hpp>
7
+ # include <boost/type_traits/integral_constant.hpp>
8
+ # include <boost/config/workaround.hpp>
9
9
  # include <boost/concept/detail/backward_compatibility.hpp>
10
10
 
11
11
  namespace boost { namespace concepts {
@@ -42,7 +42,7 @@ struct not_satisfied
42
42
  BOOST_STATIC_CONSTANT(
43
43
  bool
44
44
  , value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
45
- typedef mpl::bool_<value> type;
45
+ typedef boost::integral_constant<bool, value> type;
46
46
  };
47
47
 
48
48
  }} // namespace boost::concepts::detail
@@ -5,7 +5,7 @@
5
5
  # define BOOST_CONCEPT_USAGE_DWA2006919_HPP
6
6
 
7
7
  # include <boost/concept/assert.hpp>
8
- # include <boost/detail/workaround.hpp>
8
+ # include <boost/config/workaround.hpp>
9
9
  # include <boost/concept/detail/backward_compatibility.hpp>
10
10
 
11
11
  namespace boost { namespace concepts {
@@ -24,9 +24,9 @@
24
24
  # include <utility>
25
25
  # include <boost/type_traits/is_same.hpp>
26
26
  # include <boost/type_traits/is_void.hpp>
27
- # include <boost/mpl/assert.hpp>
28
- # include <boost/mpl/bool.hpp>
29
- # include <boost/detail/workaround.hpp>
27
+ # include <boost/static_assert.hpp>
28
+ # include <boost/type_traits/integral_constant.hpp>
29
+ # include <boost/config/workaround.hpp>
30
30
 
31
31
  # include <boost/concept/usage.hpp>
32
32
  # include <boost/concept/detail/concept_def.hpp>
@@ -301,14 +301,14 @@ namespace boost
301
301
  BOOST_CONCEPT_USAGE(Generator) { test(is_void<Return>()); }
302
302
 
303
303
  private:
304
- void test(boost::mpl::false_)
304
+ void test(boost::false_type)
305
305
  {
306
306
  // Do we really want a reference here?
307
307
  const Return& r = f();
308
308
  ignore_unused_variable_warning(r);
309
309
  }
310
310
 
311
- void test(boost::mpl::true_)
311
+ void test(boost::true_type)
312
312
  {
313
313
  f();
314
314
  }
@@ -321,22 +321,22 @@ namespace boost
321
321
  BOOST_CONCEPT_USAGE(UnaryFunction) { test(is_void<Return>()); }
322
322
 
323
323
  private:
324
- void test(boost::mpl::false_)
324
+ void test(boost::false_type)
325
325
  {
326
326
  f(arg); // "priming the pump" this way keeps msvc6 happy (ICE)
327
327
  Return r = f(arg);
328
328
  ignore_unused_variable_warning(r);
329
329
  }
330
330
 
331
- void test(boost::mpl::true_)
331
+ void test(boost::true_type)
332
332
  {
333
333
  f(arg);
334
334
  }
335
335
 
336
336
  #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
337
337
  && BOOST_WORKAROUND(__GNUC__, > 3)))
338
- // Declare a dummy construktor to make gcc happy.
339
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
338
+ // Declare a dummy constructor to make gcc happy.
339
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
340
340
  // (warning: non-static reference "const double& boost::UnaryFunction<YourClassHere>::arg"
341
341
  // in class without a constructor [-Wuninitialized])
342
342
  UnaryFunction();
@@ -350,14 +350,14 @@ namespace boost
350
350
  {
351
351
  BOOST_CONCEPT_USAGE(BinaryFunction) { test(is_void<Return>()); }
352
352
  private:
353
- void test(boost::mpl::false_)
353
+ void test(boost::false_type)
354
354
  {
355
355
  f(first,second);
356
356
  Return r = f(first, second); // require operator()
357
357
  (void)r;
358
358
  }
359
359
 
360
- void test(boost::mpl::true_)
360
+ void test(boost::true_type)
361
361
  {
362
362
  f(first,second);
363
363
  }
@@ -365,7 +365,7 @@ namespace boost
365
365
  #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
366
366
  && BOOST_WORKAROUND(__GNUC__, > 3)))
367
367
  // Declare a dummy constructor to make gcc happy.
368
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
368
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
369
369
  // (warning: non-static reference "const double& boost::BinaryFunction<YourClassHere>::arg"
370
370
  // in class without a constructor [-Wuninitialized])
371
371
  BinaryFunction();
@@ -385,7 +385,7 @@ namespace boost
385
385
  #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
386
386
  && BOOST_WORKAROUND(__GNUC__, > 3)))
387
387
  // Declare a dummy constructor to make gcc happy.
388
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
388
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
389
389
  // (warning: non-static reference "const double& boost::UnaryPredicate<YourClassHere>::arg"
390
390
  // in class without a constructor [-Wuninitialized])
391
391
  UnaryPredicate();
@@ -404,7 +404,7 @@ namespace boost
404
404
  #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
405
405
  && BOOST_WORKAROUND(__GNUC__, > 3)))
406
406
  // Declare a dummy constructor to make gcc happy.
407
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
407
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
408
408
  // (warning: non-static reference "const double& boost::BinaryPredicate<YourClassHere>::arg"
409
409
  // in class without a constructor [-Wuninitialized])
410
410
  BinaryPredicate();
@@ -429,7 +429,7 @@ namespace boost
429
429
  #if (BOOST_WORKAROUND(__GNUC__, BOOST_TESTED_AT(4) \
430
430
  && BOOST_WORKAROUND(__GNUC__, > 3)))
431
431
  // Declare a dummy constructor to make gcc happy.
432
- // It seems the compiler can not generate a sensible constructor when this is instantiated with a refence type.
432
+ // It seems the compiler can not generate a sensible constructor when this is instantiated with a reference type.
433
433
  // (warning: non-static reference "const double& boost::Const_BinaryPredicate<YourClassHere>::arg"
434
434
  // in class without a constructor [-Wuninitialized])
435
435
  Const_BinaryPredicate();
@@ -734,8 +734,8 @@ namespace boost
734
734
  private:
735
735
  void const_constraints(const C& cc)
736
736
  {
737
- const_reverse_iterator i = cc.rbegin();
738
- i = cc.rend();
737
+ const_reverse_iterator _i = cc.rbegin();
738
+ _i = cc.rend();
739
739
  }
740
740
  C c;
741
741
  };
@@ -966,7 +966,7 @@ namespace boost
966
966
  {
967
967
  typedef typename C::key_type key_type;
968
968
  typedef typename C::value_type value_type;
969
- BOOST_MPL_ASSERT((boost::is_same<key_type,value_type>));
969
+ BOOST_STATIC_ASSERT((boost::is_same<key_type,value_type>::value));
970
970
  }
971
971
  };
972
972
 
@@ -979,7 +979,7 @@ namespace boost
979
979
  typedef typename C::value_type value_type;
980
980
  typedef typename C::mapped_type mapped_type;
981
981
  typedef std::pair<const key_type, mapped_type> required_value_type;
982
- BOOST_MPL_ASSERT((boost::is_same<value_type,required_value_type>));
982
+ BOOST_STATIC_ASSERT((boost::is_same<value_type,required_value_type>::value));
983
983
  }
984
984
  };
985
985
 
@@ -28,6 +28,9 @@ BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
28
28
  BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
29
29
  This is essentially the same as the default name-mangled version, but without
30
30
  the compiler name and version, or the Boost version. Just the build options.
31
+ BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option.
32
+ This is essentially the same as the non-name-mangled version, but with
33
+ the prefix to differentiate static and dll builds
31
34
 
32
35
  These macros will be undef'ed at the end of the header, further this header
33
36
  has no include guards - so be sure to include it only once from your library!
@@ -406,6 +409,11 @@ BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
406
409
  # ifdef BOOST_LIB_DIAGNOSTIC
407
410
  # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT ".lib")
408
411
  # endif
412
+ #elif defined(BOOST_AUTO_LINK_SYSTEM)
413
+ # pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
414
+ # ifdef BOOST_LIB_DIAGNOSTIC
415
+ # pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
416
+ # endif
409
417
  #elif defined(BOOST_AUTO_LINK_NOMANGLE)
410
418
  # pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) ".lib")
411
419
  # ifdef BOOST_LIB_DIAGNOSTIC
@@ -19,9 +19,9 @@
19
19
  // last known compiler version:
20
20
  #if (__BORLANDC__ > 0x613)
21
21
  //# if defined(BOOST_ASSERT_CONFIG)
22
- # error "Unknown compiler version - please run the configure tests and report the results"
22
+ # error "boost: Unknown compiler version - please run the configure tests and report the results"
23
23
  //# else
24
- //# pragma message( "Unknown compiler version - please run the configure tests and report the results")
24
+ //# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
25
25
  //# endif
26
26
  #elif (__BORLANDC__ == 0x600)
27
27
  # error "CBuilderX preview compiler is no longer supported"
@@ -239,6 +239,9 @@
239
239
  #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
240
240
  # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
241
241
  #endif
242
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
243
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
244
+ #endif
242
245
 
243
246
  #if __BORLANDC__ >= 0x590
244
247
  # define BOOST_HAS_TR1_HASH
@@ -104,9 +104,9 @@
104
104
  # define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
105
105
  #else
106
106
  # define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
107
+ # define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
107
108
  # define BOOST_SYMBOL_IMPORT
108
109
  #endif
109
- #define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
110
110
 
111
111
  //
112
112
  // The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
@@ -294,6 +294,10 @@
294
294
  # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
295
295
  #endif
296
296
 
297
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
298
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
299
+ #endif
300
+
297
301
  // Clang 3.9+ in c++1z
298
302
  #if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
299
303
  # define BOOST_NO_CXX17_INLINE_VARIABLES
@@ -22,9 +22,9 @@
22
22
  // last known and checked version is 0x621
23
23
  #if (__CODEGEARC__ > 0x621)
24
24
  # if defined(BOOST_ASSERT_CONFIG)
25
- # error "Unknown compiler version - please run the configure tests and report the results"
25
+ # error "boost: Unknown compiler version - please run the configure tests and report the results"
26
26
  # else
27
- # pragma message( "Unknown compiler version - please run the configure tests and report the results")
27
+ # pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
28
28
  # endif
29
29
  #endif
30
30
 
@@ -167,6 +167,10 @@
167
167
  # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
168
168
  #endif
169
169
 
170
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
171
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
172
+ #endif
173
+
170
174
  //
171
175
  // TR1 macros:
172
176
  //