passenger 6.0.0 → 6.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG +148 -18
- data/CONTRIBUTORS +6 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-status +15 -0
- data/build/misc.rb +3 -1
- 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 +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 +2 -0
- 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 +1 -0
- data/src/agent/Core/ApplicationPool/Options.h +10 -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 +13 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +4 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +3 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +2 -1
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Perform.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/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +14 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +10 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +30 -0
- data/src/apache2_module/Hooks.cpp +6 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +20 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +24 -0
- data/src/cxx_supportlib/Constants.h +2 -1
- data/src/cxx_supportlib/LoggingKit/Config.h +2 -0
- data/src/cxx_supportlib/LoggingKit/Implementation.cpp +15 -9
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +57 -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/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +26 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +9 -5
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +15 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +28 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +6 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +11 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +23 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +8 -0
- data/src/nginx_module/ngx_http_passenger_module.c +2 -0
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_native_extension/extconf.rb +7 -0
- data/src/ruby_supportlib/phusion_passenger.rb +7 -7
- data/src/ruby_supportlib/phusion_passenger/admin_tools/instance_registry.rb +8 -0
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +23 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +1 -0
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +1 -3
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +37 -0
- 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 +2 -2
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +11 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +3 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/tee_input.rb +6 -0
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +48 -7
- 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
|
|
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
|
|