passenger 6.0.2 → 6.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG +152 -19
- data/CONTRIBUTING.md +1 -1
- data/CONTRIBUTORS +5 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-memory-stats +65 -12
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/dist/bundle.js +1 -1
- data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +1 -0
- data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -0
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
- data/src/agent/Core/ApplicationPool/Options.h +19 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +15 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +9 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +5 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Config.h +11 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +16 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
- data/src/apache2_module/Hooks.cpp +5 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
- data/src/cxx_supportlib/Constants.h +4 -2
- data/src/cxx_supportlib/Hooks.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +14 -1
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/ngx_http_passenger_module.c +3 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -124,6 +124,9 @@
|
|
124
124
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
125
125
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
126
126
|
#endif
|
127
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
128
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
129
|
+
#endif
|
127
130
|
|
128
131
|
#if (__DMC__ <= 0x840)
|
129
132
|
#error "Compiler not supported or configured - please reconfigure"
|
@@ -132,6 +135,6 @@
|
|
132
135
|
// last known and checked version is ...:
|
133
136
|
#if (__DMC__ > 0x848)
|
134
137
|
# if defined(BOOST_ASSERT_CONFIG)
|
135
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
138
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
136
139
|
# endif
|
137
140
|
#endif
|
@@ -299,6 +299,9 @@
|
|
299
299
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
300
300
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
301
301
|
#endif
|
302
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
303
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
304
|
+
#endif
|
302
305
|
|
303
306
|
#if __GNUC__ >= 7
|
304
307
|
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
|
@@ -343,14 +346,14 @@
|
|
343
346
|
# error "Compiler not configured - please reconfigure"
|
344
347
|
#endif
|
345
348
|
//
|
346
|
-
// last known and checked version is
|
347
|
-
#if (BOOST_GCC_VERSION >
|
349
|
+
// last known and checked version is 8.1:
|
350
|
+
#if (BOOST_GCC_VERSION > 80100)
|
348
351
|
# if defined(BOOST_ASSERT_CONFIG)
|
349
352
|
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
350
353
|
# else
|
351
354
|
// we don't emit warnings here anymore since there are no defect macros defined for
|
352
355
|
// gcc post 3.4, so any failures are gcc regressions...
|
353
|
-
//# warning "Unknown compiler version - please run the configure tests and report the results"
|
356
|
+
//# warning "boost: Unknown compiler version - please run the configure tests and report the results"
|
354
357
|
# endif
|
355
358
|
#endif
|
356
359
|
|
@@ -102,6 +102,9 @@
|
|
102
102
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
103
103
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
104
104
|
#endif
|
105
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
106
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
107
|
+
#endif
|
105
108
|
|
106
109
|
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
107
110
|
|
@@ -21,7 +21,7 @@
|
|
21
21
|
// last known and checked version is 0:
|
22
22
|
#if (__ghs > 0)
|
23
23
|
# if defined(BOOST_ASSERT_CONFIG)
|
24
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
24
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
25
25
|
# endif
|
26
26
|
#endif
|
27
27
|
|
@@ -142,6 +142,6 @@
|
|
142
142
|
// last known and checked version for PA-RISC is 38000
|
143
143
|
#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
|
144
144
|
# if defined(BOOST_ASSERT_CONFIG)
|
145
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
145
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
146
146
|
# endif
|
147
147
|
#endif
|
@@ -46,12 +46,17 @@
|
|
46
46
|
#undef BOOST_GCC_VERSION
|
47
47
|
#undef BOOST_GCC_CXX11
|
48
48
|
#undef BOOST_GCC
|
49
|
+
#undef BOOST_FALLTHROUGH
|
49
50
|
|
50
51
|
// Broken in all versions up to 17 (newer versions not tested)
|
51
52
|
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
|
52
53
|
# define BOOST_NO_CXX14_CONSTEXPR
|
53
54
|
#endif
|
54
55
|
|
56
|
+
#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703)
|
57
|
+
# define BOOST_FALLTHROUGH [[fallthrough]]
|
58
|
+
#endif
|
59
|
+
|
55
60
|
#endif // defined(_MSC_VER)
|
56
61
|
|
57
62
|
#undef BOOST_COMPILER
|
@@ -558,7 +563,7 @@ template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
|
558
563
|
// We don't emit this warning any more, since we have so few
|
559
564
|
// defect macros set anyway (just the one).
|
560
565
|
//
|
561
|
-
//# pragma message("Unknown compiler version - please run the configure tests and report the results")
|
566
|
+
//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results")
|
562
567
|
# endif
|
563
568
|
#endif
|
564
569
|
|
@@ -25,7 +25,7 @@
|
|
25
25
|
// last known and checked version is 4001:
|
26
26
|
#if (__KCC_VERSION > 4001)
|
27
27
|
# if defined(BOOST_ASSERT_CONFIG)
|
28
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
28
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
29
29
|
# endif
|
30
30
|
#endif
|
31
31
|
|
@@ -167,6 +167,9 @@
|
|
167
167
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
168
168
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
169
169
|
#endif
|
170
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
171
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
172
|
+
#endif
|
170
173
|
|
171
174
|
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
172
175
|
|
@@ -180,7 +183,7 @@
|
|
180
183
|
// last known and checked version:
|
181
184
|
#if (__MWERKS__ > 0x3205)
|
182
185
|
# if defined(BOOST_ASSERT_CONFIG)
|
183
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
186
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
184
187
|
# endif
|
185
188
|
#endif
|
186
189
|
|
@@ -116,6 +116,9 @@
|
|
116
116
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
117
117
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
118
118
|
#endif
|
119
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
120
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
121
|
+
#endif
|
119
122
|
|
120
123
|
//
|
121
124
|
// versions check:
|
@@ -127,7 +130,7 @@
|
|
127
130
|
// last known and checked version is 0x890:
|
128
131
|
#if (MPW_CPLUS > 0x890)
|
129
132
|
# if defined(BOOST_ASSERT_CONFIG)
|
130
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
133
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
131
134
|
# endif
|
132
135
|
#endif
|
133
136
|
|
@@ -12,7 +12,7 @@
|
|
12
12
|
#endif
|
13
13
|
|
14
14
|
#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)
|
15
|
-
# define BOOST_CUDA_VERSION __CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__
|
15
|
+
# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)
|
16
16
|
#else
|
17
17
|
// We don't really know what the CUDA version is, but it's definitely before 7.5:
|
18
18
|
# define BOOST_CUDA_VERSION 7000000
|
@@ -33,8 +33,8 @@
|
|
33
33
|
#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)
|
34
34
|
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
35
35
|
#endif
|
36
|
-
//
|
37
|
-
#if defined(_MSC_VER)
|
36
|
+
// CUDA (8.0) has no constexpr support in msvc mode:
|
37
|
+
#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000)
|
38
38
|
# define BOOST_NO_CXX11_CONSTEXPR
|
39
39
|
#endif
|
40
40
|
|
@@ -129,4 +129,7 @@
|
|
129
129
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
130
130
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
131
131
|
#endif
|
132
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
133
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
134
|
+
#endif
|
132
135
|
#endif
|
@@ -182,6 +182,9 @@
|
|
182
182
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
183
183
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
184
184
|
#endif
|
185
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
186
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
187
|
+
#endif
|
185
188
|
|
186
189
|
// Turn on threading support for Solaris 12.
|
187
190
|
// Ticket #11972
|
@@ -56,7 +56,7 @@
|
|
56
56
|
// last known and checked version is 1210:
|
57
57
|
#if (__IBMCPP__ > 1210)
|
58
58
|
# if defined(BOOST_ASSERT_CONFIG)
|
59
|
-
# error "Unknown compiler version - please run the configure tests and report the results"
|
59
|
+
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
60
60
|
# endif
|
61
61
|
#endif
|
62
62
|
|
@@ -178,3 +178,6 @@
|
|
178
178
|
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
179
179
|
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
180
180
|
#endif
|
181
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
182
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
183
|
+
#endif
|
@@ -201,6 +201,9 @@
|
|
201
201
|
//
|
202
202
|
#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)
|
203
203
|
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
204
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
205
|
+
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
206
|
+
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
204
207
|
#endif
|
205
208
|
|
206
209
|
// MSVC including version 14 has not yet completely
|
@@ -233,9 +236,11 @@
|
|
233
236
|
// Supported from msvc-15.5 onwards:
|
234
237
|
#define BOOST_NO_CXX11_SFINAE_EXPR
|
235
238
|
#endif
|
239
|
+
#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
|
236
240
|
// C++ 14:
|
237
241
|
// Still gives internal compiler error for msvc-15.5:
|
238
242
|
# define BOOST_NO_CXX14_CONSTEXPR
|
243
|
+
#endif
|
239
244
|
// C++ 17:
|
240
245
|
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
|
241
246
|
#define BOOST_NO_CXX17_INLINE_VARIABLES
|
@@ -283,9 +288,9 @@
|
|
283
288
|
# if _MSC_VER < 1400
|
284
289
|
// Note: I'm not aware of any CE compiler with version 13xx
|
285
290
|
# if defined(BOOST_ASSERT_CONFIG)
|
286
|
-
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
291
|
+
# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
|
287
292
|
# else
|
288
|
-
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
|
293
|
+
# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
|
289
294
|
# endif
|
290
295
|
# elif _MSC_VER < 1500
|
291
296
|
# define BOOST_COMPILER_VERSION evc8
|
@@ -301,9 +306,9 @@
|
|
301
306
|
# define BOOST_COMPILER_VERSION evc14
|
302
307
|
# else
|
303
308
|
# if defined(BOOST_ASSERT_CONFIG)
|
304
|
-
# error "Unknown EVC++ compiler version - please run the configure tests and report the results"
|
309
|
+
# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
|
305
310
|
# else
|
306
|
-
# pragma message("Unknown EVC++ compiler version - please run the configure tests and report the results")
|
311
|
+
# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
|
307
312
|
# endif
|
308
313
|
# endif
|
309
314
|
# else
|
@@ -246,6 +246,10 @@
|
|
246
246
|
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
247
247
|
#endif
|
248
248
|
|
249
|
+
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
250
|
+
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
251
|
+
#endif
|
252
|
+
|
249
253
|
// Clang 3.9+ in c++1z
|
250
254
|
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
|
251
255
|
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
@@ -39,8 +39,7 @@
|
|
39
39
|
// Intel
|
40
40
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
41
41
|
|
42
|
-
#elif defined __clang__ && !defined(
|
43
|
-
// when using clang and cuda at same time, you want to appear as gcc
|
42
|
+
#elif defined __clang__ && !defined(__ibmxl__)
|
44
43
|
// Clang C++ emulates GCC, so it has to appear early.
|
45
44
|
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
|
46
45
|
|
@@ -1023,6 +1023,19 @@ namespace std{ using ::type_info; }
|
|
1023
1023
|
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
1024
1024
|
#endif
|
1025
1025
|
|
1026
|
+
// This is a catch all case for obsolete compilers / std libs:
|
1027
|
+
#if !defined(__has_include)
|
1028
|
+
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
1029
|
+
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
1030
|
+
#else
|
1031
|
+
#if !__has_include(<optional>)
|
1032
|
+
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
1033
|
+
#endif
|
1034
|
+
#if !__has_include(<string_view>)
|
1035
|
+
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
1036
|
+
#endif
|
1037
|
+
#endif
|
1038
|
+
|
1026
1039
|
//
|
1027
1040
|
// Finish off with checks for macros that are depricated / no longer supported,
|
1028
1041
|
// if any of these are set then it's very likely that much of Boost will no
|
@@ -96,7 +96,7 @@
|
|
96
96
|
#include <exception>
|
97
97
|
#endif
|
98
98
|
#include <typeinfo>
|
99
|
-
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (
|
99
|
+
#if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (defined(__ghs__) && !_HAS_NAMESPACE) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__) \
|
100
100
|
&& !defined(__VXWORKS__)
|
101
101
|
# define BOOST_NO_STD_TYPEINFO
|
102
102
|
#endif
|
@@ -175,7 +175,7 @@
|
|
175
175
|
# define BOOST_NO_CXX17_STD_APPLY
|
176
176
|
# define BOOST_NO_CXX17_ITERATOR_TRAITS
|
177
177
|
#endif
|
178
|
-
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
|
178
|
+
#if !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650) || !defined(_HAS_CXX17) || (_HAS_CXX17 == 0) || !defined(_MSVC_STL_UPDATE) || (_MSVC_STL_UPDATE < 201709)
|
179
179
|
# define BOOST_NO_CXX17_STD_INVOKE
|
180
180
|
#endif
|
181
181
|
|
@@ -87,11 +87,10 @@
|
|
87
87
|
#endif
|
88
88
|
|
89
89
|
// C++17 features
|
90
|
-
#if (_LIBCPP_VERSION < 3700) || (__cplusplus <= 201402L)
|
91
|
-
# define BOOST_NO_CXX17_STD_INVOKE
|
92
|
-
#endif
|
93
90
|
#if (_LIBCPP_VERSION < 4000) || (__cplusplus <= 201402L)
|
94
91
|
# define BOOST_NO_CXX17_STD_APPLY
|
92
|
+
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
93
|
+
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
95
94
|
#endif
|
96
95
|
#if (_LIBCPP_VERSION > 4000) && (__cplusplus > 201402L) && !defined(_LIBCPP_ENABLE_CXX17_REMOVED_AUTO_PTR)
|
97
96
|
# define BOOST_NO_AUTO_PTR
|
@@ -104,6 +103,7 @@
|
|
104
103
|
#endif
|
105
104
|
|
106
105
|
#define BOOST_NO_CXX17_ITERATOR_TRAITS
|
106
|
+
#define BOOST_NO_CXX17_STD_INVOKE // Invoke support is incomplete (no invoke_result)
|
107
107
|
|
108
108
|
#if (_LIBCPP_VERSION <= 1101) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
109
109
|
// This is a bit of a sledgehammer, because really it's just libc++abi that has no
|
@@ -113,10 +113,16 @@
|
|
113
113
|
# define BOOST_NO_CXX11_THREAD_LOCAL
|
114
114
|
#endif
|
115
115
|
|
116
|
-
#if defined(__linux__) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
116
|
+
#if defined(__linux__) && (_LIBCPP_VERSION < 6000) && !defined(BOOST_NO_CXX11_THREAD_LOCAL)
|
117
117
|
// After libc++-dev is installed on Trusty, clang++-libc++ almost works,
|
118
118
|
// except uses of `thread_local` fail with undefined reference to
|
119
119
|
// `__cxa_thread_atexit`.
|
120
|
+
//
|
121
|
+
// clang's libc++abi provides an implementation by deferring to the glibc
|
122
|
+
// implementation, which may or may not be available (it is not on Trusty).
|
123
|
+
// clang 4's libc++abi will provide an implementation if one is not in glibc
|
124
|
+
// though, so thread local support should work with clang 4 and above as long
|
125
|
+
// as libc++abi is linked in.
|
120
126
|
# define BOOST_NO_CXX11_THREAD_LOCAL
|
121
127
|
#endif
|
122
128
|
|
@@ -130,4 +136,8 @@
|
|
130
136
|
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
131
137
|
#endif
|
132
138
|
|
139
|
+
#if !defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX) && (_LIBCPP_VERSION < 5000)
|
140
|
+
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
141
|
+
#endif
|
142
|
+
|
133
143
|
// --- end ---
|
@@ -294,13 +294,13 @@ extern "C" char *gets (char *__s);
|
|
294
294
|
#endif
|
295
295
|
|
296
296
|
//
|
297
|
-
// C++17 features in GCC
|
297
|
+
// C++17 features in GCC 7.1 and later
|
298
298
|
//
|
299
|
-
#if (BOOST_LIBSTDCXX_VERSION < 60100) || (__cplusplus <= 201402L)
|
300
|
-
# define BOOST_NO_CXX17_STD_INVOKE
|
301
|
-
#endif
|
302
299
|
#if (BOOST_LIBSTDCXX_VERSION < 70100) || (__cplusplus <= 201402L)
|
300
|
+
# define BOOST_NO_CXX17_STD_INVOKE
|
303
301
|
# define BOOST_NO_CXX17_STD_APPLY
|
302
|
+
# define BOOST_NO_CXX17_HDR_OPTIONAL
|
303
|
+
# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
304
304
|
#endif
|
305
305
|
|
306
306
|
#if defined(__has_include)
|
@@ -117,9 +117,9 @@ class adaptive_pool
|
|
117
117
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
118
118
|
private:
|
119
119
|
//!Not assignable from related adaptive_pool
|
120
|
-
template<class T2,
|
120
|
+
template<class T2, std::size_t N2, std::size_t F2, std::size_t O2, unsigned Version2>
|
121
121
|
adaptive_pool& operator=
|
122
|
-
(const adaptive_pool<T2,
|
122
|
+
(const adaptive_pool<T2, N2, F2, O2, Version2>&);
|
123
123
|
|
124
124
|
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
125
125
|
|
@@ -341,6 +341,266 @@ class adaptive_pool
|
|
341
341
|
}
|
342
342
|
};
|
343
343
|
|
344
|
+
|
345
|
+
|
346
|
+
|
347
|
+
|
348
|
+
|
349
|
+
|
350
|
+
|
351
|
+
|
352
|
+
|
353
|
+
|
354
|
+
|
355
|
+
|
356
|
+
|
357
|
+
|
358
|
+
|
359
|
+
|
360
|
+
|
361
|
+
|
362
|
+
|
363
|
+
template < class T
|
364
|
+
, std::size_t NodesPerBlock = ADP_nodes_per_block
|
365
|
+
, std::size_t MaxFreeBlocks = ADP_max_free_blocks
|
366
|
+
, std::size_t OverheadPercent = ADP_overhead_percent
|
367
|
+
, unsigned Version = 2
|
368
|
+
>
|
369
|
+
class private_adaptive_pool
|
370
|
+
{
|
371
|
+
//!If Version is 1, the allocator is a STL conforming allocator. If Version is 2,
|
372
|
+
//!the allocator offers advanced expand in place and burst allocation capabilities.
|
373
|
+
public:
|
374
|
+
typedef unsigned int allocation_type;
|
375
|
+
typedef private_adaptive_pool
|
376
|
+
<T, NodesPerBlock, MaxFreeBlocks, OverheadPercent
|
377
|
+
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)
|
378
|
+
> self_t;
|
379
|
+
|
380
|
+
static const std::size_t nodes_per_block = NodesPerBlock;
|
381
|
+
static const std::size_t max_free_blocks = MaxFreeBlocks;
|
382
|
+
static const std::size_t overhead_percent = OverheadPercent;
|
383
|
+
static const std::size_t real_nodes_per_block = NodesPerBlock;
|
384
|
+
|
385
|
+
BOOST_CONTAINER_DOCIGN(BOOST_STATIC_ASSERT((Version <=2)));
|
386
|
+
|
387
|
+
typedef dtl::private_adaptive_node_pool
|
388
|
+
<sizeof(T), NodesPerBlock, MaxFreeBlocks, OverheadPercent> pool_t;
|
389
|
+
pool_t m_pool;
|
390
|
+
|
391
|
+
public:
|
392
|
+
//-------
|
393
|
+
typedef T value_type;
|
394
|
+
typedef T * pointer;
|
395
|
+
typedef const T * const_pointer;
|
396
|
+
typedef typename ::boost::container::
|
397
|
+
dtl::unvoid_ref<T>::type reference;
|
398
|
+
typedef typename ::boost::container::
|
399
|
+
dtl::unvoid_ref<const T>::type const_reference;
|
400
|
+
typedef std::size_t size_type;
|
401
|
+
typedef std::ptrdiff_t difference_type;
|
402
|
+
|
403
|
+
typedef boost::container::dtl::
|
404
|
+
version_type<self_t, Version> version;
|
405
|
+
|
406
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
407
|
+
typedef boost::container::dtl::
|
408
|
+
basic_multiallocation_chain<void*> multiallocation_chain_void;
|
409
|
+
typedef boost::container::dtl::
|
410
|
+
transform_multiallocation_chain
|
411
|
+
<multiallocation_chain_void, T> multiallocation_chain;
|
412
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
413
|
+
|
414
|
+
//!Obtains private_adaptive_pool from
|
415
|
+
//!private_adaptive_pool
|
416
|
+
template<class T2>
|
417
|
+
struct rebind
|
418
|
+
{
|
419
|
+
typedef private_adaptive_pool
|
420
|
+
< T2
|
421
|
+
, NodesPerBlock
|
422
|
+
, MaxFreeBlocks
|
423
|
+
, OverheadPercent
|
424
|
+
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)
|
425
|
+
> other;
|
426
|
+
};
|
427
|
+
|
428
|
+
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
429
|
+
private:
|
430
|
+
//!Not assignable from related private_adaptive_pool
|
431
|
+
template<class T2, std::size_t N2, std::size_t F2, std::size_t O2, unsigned Version2>
|
432
|
+
private_adaptive_pool& operator=
|
433
|
+
(const private_adaptive_pool<T2, N2, F2, O2, Version2>&);
|
434
|
+
#endif //#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
435
|
+
|
436
|
+
public:
|
437
|
+
//!Default constructor
|
438
|
+
private_adaptive_pool() BOOST_NOEXCEPT_OR_NOTHROW
|
439
|
+
{}
|
440
|
+
|
441
|
+
//!Copy constructor from other private_adaptive_pool.
|
442
|
+
private_adaptive_pool(const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
443
|
+
{}
|
444
|
+
|
445
|
+
//!Copy constructor from related private_adaptive_pool.
|
446
|
+
template<class T2>
|
447
|
+
private_adaptive_pool
|
448
|
+
(const private_adaptive_pool<T2, NodesPerBlock, MaxFreeBlocks, OverheadPercent
|
449
|
+
BOOST_CONTAINER_DOCIGN(BOOST_MOVE_I Version)> &) BOOST_NOEXCEPT_OR_NOTHROW
|
450
|
+
{}
|
451
|
+
|
452
|
+
//!Destructor
|
453
|
+
~private_adaptive_pool() BOOST_NOEXCEPT_OR_NOTHROW
|
454
|
+
{}
|
455
|
+
|
456
|
+
//!Returns the number of elements that could be allocated.
|
457
|
+
//!Never throws
|
458
|
+
size_type max_size() const BOOST_NOEXCEPT_OR_NOTHROW
|
459
|
+
{ return size_type(-1)/sizeof(T); }
|
460
|
+
|
461
|
+
//!Allocate memory for an array of count elements.
|
462
|
+
//!Throws std::bad_alloc if there is no enough memory
|
463
|
+
pointer allocate(size_type count, const void * = 0)
|
464
|
+
{
|
465
|
+
if(BOOST_UNLIKELY(count > this->max_size()))
|
466
|
+
boost::container::throw_bad_alloc();
|
467
|
+
|
468
|
+
if(Version == 1 && count == 1){
|
469
|
+
return pointer(static_cast<T*>(m_pool.allocate_node()));
|
470
|
+
}
|
471
|
+
else{
|
472
|
+
return static_cast<pointer>(dlmalloc_malloc(count*sizeof(T)));
|
473
|
+
}
|
474
|
+
}
|
475
|
+
|
476
|
+
//!Deallocate allocated memory.
|
477
|
+
//!Never throws
|
478
|
+
void deallocate(const pointer &ptr, size_type count) BOOST_NOEXCEPT_OR_NOTHROW
|
479
|
+
{
|
480
|
+
(void)count;
|
481
|
+
if(Version == 1 && count == 1){
|
482
|
+
m_pool.deallocate_node(ptr);
|
483
|
+
}
|
484
|
+
else{
|
485
|
+
dlmalloc_free(ptr);
|
486
|
+
}
|
487
|
+
}
|
488
|
+
|
489
|
+
pointer allocation_command(allocation_type command,
|
490
|
+
size_type limit_size,
|
491
|
+
size_type &prefer_in_recvd_out_size,
|
492
|
+
pointer &reuse)
|
493
|
+
{
|
494
|
+
pointer ret = this->priv_allocation_command(command, limit_size, prefer_in_recvd_out_size, reuse);
|
495
|
+
if(BOOST_UNLIKELY(!ret && !(command & BOOST_CONTAINER_NOTHROW_ALLOCATION)))
|
496
|
+
boost::container::throw_bad_alloc();
|
497
|
+
return ret;
|
498
|
+
}
|
499
|
+
|
500
|
+
//!Returns maximum the number of objects the previously allocated memory
|
501
|
+
//!pointed by p can hold.
|
502
|
+
size_type size(pointer p) const BOOST_NOEXCEPT_OR_NOTHROW
|
503
|
+
{ return dlmalloc_size(p); }
|
504
|
+
|
505
|
+
//!Allocates just one object. Memory allocated with this function
|
506
|
+
//!must be deallocated only with deallocate_one().
|
507
|
+
//!Throws bad_alloc if there is no enough memory
|
508
|
+
pointer allocate_one()
|
509
|
+
{
|
510
|
+
return (pointer)m_pool.allocate_node();
|
511
|
+
}
|
512
|
+
|
513
|
+
//!Allocates many elements of size == 1.
|
514
|
+
//!Elements must be individually deallocated with deallocate_one()
|
515
|
+
void allocate_individual(std::size_t num_elements, multiallocation_chain &chain)
|
516
|
+
{
|
517
|
+
m_pool.allocate_nodes(num_elements, static_cast<typename pool_t::multiallocation_chain&>(chain));
|
518
|
+
}
|
519
|
+
|
520
|
+
//!Deallocates memory previously allocated with allocate_one().
|
521
|
+
//!You should never use deallocate_one to deallocate memory allocated
|
522
|
+
//!with other functions different from allocate_one(). Never throws
|
523
|
+
void deallocate_one(pointer p) BOOST_NOEXCEPT_OR_NOTHROW
|
524
|
+
{
|
525
|
+
m_pool.deallocate_node(p);
|
526
|
+
}
|
527
|
+
|
528
|
+
void deallocate_individual(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW
|
529
|
+
{
|
530
|
+
m_pool.deallocate_nodes(chain);
|
531
|
+
}
|
532
|
+
|
533
|
+
//!Allocates many elements of size elem_size.
|
534
|
+
//!Elements must be individually deallocated with deallocate()
|
535
|
+
void allocate_many(size_type elem_size, std::size_t n_elements, multiallocation_chain &chain)
|
536
|
+
{
|
537
|
+
BOOST_STATIC_ASSERT(( Version > 1 ));
|
538
|
+
if(BOOST_UNLIKELY(!dlmalloc_multialloc_nodes
|
539
|
+
(n_elements, elem_size*sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast<dlmalloc_memchain *>(&chain)))){
|
540
|
+
boost::container::throw_bad_alloc();
|
541
|
+
}
|
542
|
+
}
|
543
|
+
|
544
|
+
//!Allocates n_elements elements, each one of size elem_sizes[i]
|
545
|
+
//!Elements must be individually deallocated with deallocate()
|
546
|
+
void allocate_many(const size_type *elem_sizes, size_type n_elements, multiallocation_chain &chain)
|
547
|
+
{
|
548
|
+
BOOST_STATIC_ASSERT(( Version > 1 ));
|
549
|
+
if(BOOST_UNLIKELY(!dlmalloc_multialloc_arrays
|
550
|
+
(n_elements, elem_sizes, sizeof(T), DL_MULTIALLOC_DEFAULT_CONTIGUOUS, reinterpret_cast<dlmalloc_memchain *>(&chain)))){
|
551
|
+
boost::container::throw_bad_alloc();
|
552
|
+
}
|
553
|
+
}
|
554
|
+
|
555
|
+
void deallocate_many(multiallocation_chain &chain) BOOST_NOEXCEPT_OR_NOTHROW
|
556
|
+
{
|
557
|
+
dlmalloc_multidealloc(reinterpret_cast<dlmalloc_memchain *>(&chain));
|
558
|
+
}
|
559
|
+
|
560
|
+
//!Deallocates all free blocks of the pool
|
561
|
+
void deallocate_free_blocks() BOOST_NOEXCEPT_OR_NOTHROW
|
562
|
+
{
|
563
|
+
m_pool.deallocate_free_blocks();
|
564
|
+
}
|
565
|
+
|
566
|
+
//!Swaps allocators. Does not throw. If each allocator is placed in a
|
567
|
+
//!different memory segment, the result is undefined.
|
568
|
+
friend void swap(private_adaptive_pool &, private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
569
|
+
{}
|
570
|
+
|
571
|
+
//!An allocator always compares to true, as memory allocated with one
|
572
|
+
//!instance can be deallocated by another instance
|
573
|
+
friend bool operator==(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
574
|
+
{ return true; }
|
575
|
+
|
576
|
+
//!An allocator always compares to false, as memory allocated with one
|
577
|
+
//!instance can be deallocated by another instance
|
578
|
+
friend bool operator!=(const private_adaptive_pool &, const private_adaptive_pool &) BOOST_NOEXCEPT_OR_NOTHROW
|
579
|
+
{ return false; }
|
580
|
+
|
581
|
+
private:
|
582
|
+
pointer priv_allocation_command
|
583
|
+
(allocation_type command, std::size_t limit_size
|
584
|
+
,size_type &prefer_in_recvd_out_size, pointer &reuse_ptr)
|
585
|
+
{
|
586
|
+
std::size_t const preferred_size = prefer_in_recvd_out_size;
|
587
|
+
dlmalloc_command_ret_t ret = {0 , 0};
|
588
|
+
if(BOOST_UNLIKELY(limit_size > this->max_size() || preferred_size > this->max_size())){
|
589
|
+
return pointer();
|
590
|
+
}
|
591
|
+
std::size_t l_size = limit_size*sizeof(T);
|
592
|
+
std::size_t p_size = preferred_size*sizeof(T);
|
593
|
+
std::size_t r_size;
|
594
|
+
{
|
595
|
+
void* reuse_ptr_void = reuse_ptr;
|
596
|
+
ret = dlmalloc_allocation_command(command, sizeof(T), l_size, p_size, &r_size, reuse_ptr_void);
|
597
|
+
reuse_ptr = ret.second ? static_cast<T*>(reuse_ptr_void) : 0;
|
598
|
+
}
|
599
|
+
prefer_in_recvd_out_size = r_size/sizeof(T);
|
600
|
+
return (pointer)ret.first;
|
601
|
+
}
|
602
|
+
};
|
603
|
+
|
344
604
|
} //namespace container {
|
345
605
|
} //namespace boost {
|
346
606
|
|