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
@@ -59,7 +59,7 @@ struct node_cloner
|
|
59
59
|
{}
|
60
60
|
|
61
61
|
// tree-based containers use this method, which is proxy-reference friendly
|
62
|
-
node_ptr operator()(const node_ptr & p)
|
62
|
+
BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(const node_ptr & p)
|
63
63
|
{
|
64
64
|
reference_type v = *traits_->to_value_ptr(p);
|
65
65
|
node_ptr n = traits_->to_node_ptr(*base_t::get()(v));
|
@@ -89,7 +89,7 @@ struct node_disposer
|
|
89
89
|
: base_t(f), traits_(cont)
|
90
90
|
{}
|
91
91
|
|
92
|
-
void operator()(const node_ptr & p)
|
92
|
+
BOOST_INTRUSIVE_FORCEINLINE void operator()(const node_ptr & p)
|
93
93
|
{
|
94
94
|
if(safemode_or_autounlink)
|
95
95
|
node_algorithms::init(p);
|
@@ -80,7 +80,7 @@ struct default_rbtree_node_traits_impl
|
|
80
80
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
|
81
81
|
{ return n->parent_; }
|
82
82
|
|
83
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(
|
83
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
|
84
84
|
{ n->parent_ = p; }
|
85
85
|
|
86
86
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
|
@@ -89,7 +89,7 @@ struct default_rbtree_node_traits_impl
|
|
89
89
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
|
90
90
|
{ return n->left_; }
|
91
91
|
|
92
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_left(
|
92
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
|
93
93
|
{ n->left_ = l; }
|
94
94
|
|
95
95
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
|
@@ -98,7 +98,7 @@ struct default_rbtree_node_traits_impl
|
|
98
98
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
|
99
99
|
{ return n->right_; }
|
100
100
|
|
101
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_right(
|
101
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
|
102
102
|
{ n->right_ = r; }
|
103
103
|
|
104
104
|
BOOST_INTRUSIVE_FORCEINLINE static color get_color(const const_node_ptr & n)
|
@@ -136,7 +136,7 @@ struct compact_rbtree_node_traits_impl
|
|
136
136
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
|
137
137
|
{ return ptr_bit::get_pointer(n->parent_); }
|
138
138
|
|
139
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(
|
139
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
|
140
140
|
{ ptr_bit::set_pointer(n->parent_, p); }
|
141
141
|
|
142
142
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
|
@@ -145,7 +145,7 @@ struct compact_rbtree_node_traits_impl
|
|
145
145
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
|
146
146
|
{ return n->left_; }
|
147
147
|
|
148
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_left(
|
148
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
|
149
149
|
{ n->left_ = l; }
|
150
150
|
|
151
151
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
|
@@ -154,7 +154,7 @@ struct compact_rbtree_node_traits_impl
|
|
154
154
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
|
155
155
|
{ return n->right_; }
|
156
156
|
|
157
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_right(
|
157
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
|
158
158
|
{ n->right_ = r; }
|
159
159
|
|
160
160
|
BOOST_INTRUSIVE_FORCEINLINE static color get_color(const const_node_ptr & n)
|
@@ -68,7 +68,7 @@ class slist_iterator
|
|
68
68
|
: members_(other.pointed_node(), other.get_value_traits())
|
69
69
|
{}
|
70
70
|
|
71
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
71
|
+
BOOST_INTRUSIVE_FORCEINLINE node_ptr pointed_node() const
|
72
72
|
{ return members_.nodeptr_; }
|
73
73
|
|
74
74
|
BOOST_INTRUSIVE_FORCEINLINE slist_iterator &operator=(const node_ptr &node)
|
@@ -52,7 +52,7 @@ struct slist_node_traits
|
|
52
52
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_next(const node_ptr & n)
|
53
53
|
{ return n->next_; }
|
54
54
|
|
55
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_next(
|
55
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_next(node_ptr n, node_ptr next)
|
56
56
|
{ n->next_ = next; }
|
57
57
|
};
|
58
58
|
|
@@ -74,7 +74,7 @@ class tree_iterator
|
|
74
74
|
: members_(other.pointed_node(), other.get_value_traits())
|
75
75
|
{}
|
76
76
|
|
77
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
77
|
+
BOOST_INTRUSIVE_FORCEINLINE node_ptr pointed_node() const
|
78
78
|
{ return members_.nodeptr_; }
|
79
79
|
|
80
80
|
BOOST_INTRUSIVE_FORCEINLINE tree_iterator &operator=(const node_ptr &nodeptr)
|
@@ -50,7 +50,7 @@ struct tree_node_traits
|
|
50
50
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_parent(const node_ptr & n)
|
51
51
|
{ return n->parent_; }
|
52
52
|
|
53
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(
|
53
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_parent(node_ptr n, node_ptr p)
|
54
54
|
{ n->parent_ = p; }
|
55
55
|
|
56
56
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const const_node_ptr & n)
|
@@ -59,7 +59,7 @@ struct tree_node_traits
|
|
59
59
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_left(const node_ptr & n)
|
60
60
|
{ return n->left_; }
|
61
61
|
|
62
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_left(
|
62
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_left(node_ptr n, node_ptr l)
|
63
63
|
{ n->left_ = l; }
|
64
64
|
|
65
65
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const const_node_ptr & n)
|
@@ -68,7 +68,7 @@ struct tree_node_traits
|
|
68
68
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_right(const node_ptr & n)
|
69
69
|
{ return n->right_; }
|
70
70
|
|
71
|
-
BOOST_INTRUSIVE_FORCEINLINE static void set_right(
|
71
|
+
BOOST_INTRUSIVE_FORCEINLINE static void set_right(node_ptr n, node_ptr r)
|
72
72
|
{ n->right_ = r; }
|
73
73
|
};
|
74
74
|
|
@@ -45,7 +45,7 @@ struct disable_if_smartref_to
|
|
45
45
|
|
46
46
|
//This function object takes a KeyCompare function object
|
47
47
|
//and compares values that contains keys using KeyOfValue
|
48
|
-
template< class ValuePtr, class KeyCompare, class KeyOfValue
|
48
|
+
template< class ValuePtr, class KeyCompare, class KeyOfValue, class Ret = bool
|
49
49
|
, bool = boost::intrusive::detail::is_same
|
50
50
|
<typename boost::movelib::pointer_element<ValuePtr>::type, typename KeyOfValue::type>::value >
|
51
51
|
struct tree_value_compare
|
@@ -80,41 +80,52 @@ struct tree_value_compare
|
|
80
80
|
BOOST_INTRUSIVE_FORCEINLINE const key_compare &key_comp() const
|
81
81
|
{ return static_cast<const key_compare &>(*this); }
|
82
82
|
|
83
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
83
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key) const
|
84
|
+
{ return this->key_comp()(key); }
|
85
|
+
|
86
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value) const
|
87
|
+
{ return this->key_comp()(KeyOfValue()(value)); }
|
88
|
+
|
89
|
+
template<class U>
|
90
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey
|
91
|
+
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
92
|
+
{ return this->key_comp()(nonkey); }
|
93
|
+
|
94
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const key_type &key2) const
|
84
95
|
{ return this->key_comp()(key1, key2); }
|
85
96
|
|
86
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
97
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value1, const value_type &value2) const
|
87
98
|
{ return this->key_comp()(KeyOfValue()(value1), KeyOfValue()(value2)); }
|
88
99
|
|
89
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
100
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const value_type &value2) const
|
90
101
|
{ return this->key_comp()(key1, KeyOfValue()(value2)); }
|
91
102
|
|
92
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
103
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const value_type &value1, const key_type &key2) const
|
93
104
|
{ return this->key_comp()(KeyOfValue()(value1), key2); }
|
94
105
|
|
95
106
|
template<class U>
|
96
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
107
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const key_type &key1, const U &nonkey2
|
97
108
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
98
109
|
{ return this->key_comp()(key1, nonkey2); }
|
99
110
|
|
100
111
|
template<class U>
|
101
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
112
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey1, const key_type &key2
|
102
113
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
103
114
|
{ return this->key_comp()(nonkey1, key2); }
|
104
115
|
|
105
116
|
template<class U>
|
106
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
117
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const value_type &value1, const U &nonvalue2
|
107
118
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
108
119
|
{ return this->key_comp()(KeyOfValue()(value1), nonvalue2); }
|
109
120
|
|
110
121
|
template<class U>
|
111
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
122
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonvalue1, const value_type &value2
|
112
123
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
113
124
|
{ return this->key_comp()(nonvalue1, KeyOfValue()(value2)); }
|
114
125
|
};
|
115
126
|
|
116
|
-
template<class ValuePtr, class KeyCompare, class KeyOfValue>
|
117
|
-
struct tree_value_compare<ValuePtr, KeyCompare, KeyOfValue, true>
|
127
|
+
template<class ValuePtr, class KeyCompare, class KeyOfValue, class Ret>
|
128
|
+
struct tree_value_compare<ValuePtr, KeyCompare, KeyOfValue, Ret, true>
|
118
129
|
: public boost::intrusive::detail::ebo_functor_holder<KeyCompare>
|
119
130
|
{
|
120
131
|
typedef typename
|
@@ -147,16 +158,24 @@ struct tree_value_compare
|
|
147
158
|
BOOST_INTRUSIVE_FORCEINLINE const key_compare &key_comp() const
|
148
159
|
{ return static_cast<const key_compare &>(*this); }
|
149
160
|
|
150
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
161
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key) const
|
162
|
+
{ return this->key_comp()(key); }
|
163
|
+
|
164
|
+
template<class U>
|
165
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const U &nonkey
|
166
|
+
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
167
|
+
{ return this->key_comp()(nonkey); }
|
168
|
+
|
169
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const key_type &key1, const key_type &key2) const
|
151
170
|
{ return this->key_comp()(key1, key2); }
|
152
171
|
|
153
172
|
template<class U>
|
154
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
173
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()( const key_type &key1, const U &nonkey2
|
155
174
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
156
175
|
{ return this->key_comp()(key1, nonkey2); }
|
157
176
|
|
158
177
|
template<class U>
|
159
|
-
BOOST_INTRUSIVE_FORCEINLINE
|
178
|
+
BOOST_INTRUSIVE_FORCEINLINE Ret operator()(const U &nonkey1, const key_type &key2
|
160
179
|
, typename disable_if_smartref_to<U, ValuePtr>::type* = 0) const
|
161
180
|
{ return this->key_comp()(nonkey1, key2); }
|
162
181
|
};
|
@@ -375,7 +375,7 @@ struct group_functions
|
|
375
375
|
typedef circular_slist_algorithms<node_traits> node_algorithms;
|
376
376
|
|
377
377
|
static slist_node_ptr get_bucket_before_begin
|
378
|
-
(
|
378
|
+
(slist_node_ptr bucket_beg, slist_node_ptr bucket_end, node_ptr p)
|
379
379
|
{
|
380
380
|
//First find the last node of p's group.
|
381
381
|
//This requires checking the first node of the next group or
|
@@ -406,7 +406,7 @@ struct group_functions
|
|
406
406
|
return possible_end;
|
407
407
|
}
|
408
408
|
|
409
|
-
static node_ptr get_prev_to_first_in_group(
|
409
|
+
static node_ptr get_prev_to_first_in_group(slist_node_ptr bucket_node, node_ptr first_in_group)
|
410
410
|
{
|
411
411
|
node_ptr nb = detail::dcast_bucket_ptr<node>(bucket_node);
|
412
412
|
node_ptr n;
|
@@ -416,7 +416,7 @@ struct group_functions
|
|
416
416
|
return nb;
|
417
417
|
}
|
418
418
|
|
419
|
-
static void erase_from_group(
|
419
|
+
static void erase_from_group(slist_node_ptr end_ptr, node_ptr to_erase_ptr, detail::true_)
|
420
420
|
{
|
421
421
|
node_ptr const nxt_ptr(node_traits::get_next(to_erase_ptr));
|
422
422
|
//Check if the next node is in the group (not end node) and reverse linked to
|
@@ -429,7 +429,7 @@ struct group_functions
|
|
429
429
|
BOOST_INTRUSIVE_FORCEINLINE static void erase_from_group(const slist_node_ptr&, const node_ptr&, detail::false_)
|
430
430
|
{}
|
431
431
|
|
432
|
-
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(
|
432
|
+
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr first_in_group, detail::true_)
|
433
433
|
{ return group_traits::get_next(first_in_group); }
|
434
434
|
|
435
435
|
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_last_in_group(node_ptr n, detail::false_)
|
@@ -449,10 +449,10 @@ struct group_functions
|
|
449
449
|
return node_traits::get_next(group_traits::get_next(ptr));
|
450
450
|
}
|
451
451
|
|
452
|
-
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_first_in_group(
|
452
|
+
BOOST_INTRUSIVE_FORCEINLINE static node_ptr get_first_in_group(node_ptr n, detail::false_)
|
453
453
|
{ return n; }
|
454
454
|
|
455
|
-
BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(
|
455
|
+
BOOST_INTRUSIVE_FORCEINLINE static void insert_in_group(node_ptr first_in_group, node_ptr n, true_)
|
456
456
|
{ group_algorithms::link_after(first_in_group, n); }
|
457
457
|
|
458
458
|
static void insert_in_group(const node_ptr&, const node_ptr&, false_)
|
@@ -672,8 +672,8 @@ struct bucket_plus_vtraits
|
|
672
672
|
typedef detail::bucket_impl<slist_impl> bucket_type;
|
673
673
|
typedef detail::group_functions<node_traits> group_functions_t;
|
674
674
|
typedef typename slist_impl::node_algorithms node_algorithms;
|
675
|
-
typedef typename slist_impl::node_ptr
|
676
|
-
typedef typename node_traits::node_ptr
|
675
|
+
typedef typename slist_impl::node_ptr slist_node_ptr;
|
676
|
+
typedef typename node_traits::node_ptr node_ptr;
|
677
677
|
typedef typename node_traits::node node;
|
678
678
|
typedef typename value_traits::value_type value_type;
|
679
679
|
typedef typename value_traits::pointer pointer;
|
@@ -1383,15 +1383,15 @@ struct hashdata_internal
|
|
1383
1383
|
<const_pointer>::reference const_reference;
|
1384
1384
|
typedef typename value_traits::node_traits node_traits;
|
1385
1385
|
typedef typename node_traits::node node;
|
1386
|
-
typedef typename node_traits::node_ptr
|
1387
|
-
typedef typename node_traits::const_node_ptr
|
1386
|
+
typedef typename node_traits::node_ptr node_ptr;
|
1387
|
+
typedef typename node_traits::const_node_ptr const_node_ptr;
|
1388
1388
|
typedef detail::node_functions<node_traits> node_functions_t;
|
1389
1389
|
typedef typename detail::get_slist_impl
|
1390
1390
|
<typename detail::reduced_slist_node_traits
|
1391
1391
|
<typename value_traits::node_traits>::type
|
1392
1392
|
>::type slist_impl;
|
1393
1393
|
typedef typename slist_impl::node_algorithms node_algorithms;
|
1394
|
-
typedef typename slist_impl::node_ptr
|
1394
|
+
typedef typename slist_impl::node_ptr slist_node_ptr;
|
1395
1395
|
|
1396
1396
|
typedef hash_key_types_base
|
1397
1397
|
< typename ValueTraits::value_type
|
@@ -1740,7 +1740,7 @@ class hashtable_impl
|
|
1740
1740
|
//See documentation for more explanations
|
1741
1741
|
BOOST_STATIC_ASSERT((!compare_hash || store_hash));
|
1742
1742
|
|
1743
|
-
typedef typename slist_impl::node_ptr
|
1743
|
+
typedef typename slist_impl::node_ptr slist_node_ptr;
|
1744
1744
|
typedef typename pointer_traits
|
1745
1745
|
<slist_node_ptr>::template rebind_pointer
|
1746
1746
|
< void >::type void_pointer;
|
@@ -184,7 +184,7 @@ class linear_slist_algorithms
|
|
184
184
|
//! <b>Complexity</b>: Constant
|
185
185
|
//!
|
186
186
|
//! <b>Throws</b>: Nothing.
|
187
|
-
static void swap_trailing_nodes(
|
187
|
+
static void swap_trailing_nodes(node_ptr this_node, node_ptr other_node)
|
188
188
|
{
|
189
189
|
node_ptr this_nxt = NodeTraits::get_next(this_node);
|
190
190
|
node_ptr other_nxt = NodeTraits::get_next(other_node);
|
@@ -199,7 +199,7 @@ class linear_slist_algorithms
|
|
199
199
|
//! <b>Throws</b>: Nothing.
|
200
200
|
//!
|
201
201
|
//! <b>Complexity</b>: This function is linear to the contained elements.
|
202
|
-
static node_ptr reverse(
|
202
|
+
static node_ptr reverse(node_ptr p)
|
203
203
|
{
|
204
204
|
if(!p) return node_ptr();
|
205
205
|
node_ptr i = NodeTraits::get_next(p);
|
@@ -222,7 +222,7 @@ class linear_slist_algorithms
|
|
222
222
|
//! <b>Throws</b>: Nothing.
|
223
223
|
//!
|
224
224
|
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
|
225
|
-
static std::pair<node_ptr, node_ptr> move_first_n_backwards(
|
225
|
+
static std::pair<node_ptr, node_ptr> move_first_n_backwards(node_ptr p, std::size_t n)
|
226
226
|
{
|
227
227
|
std::pair<node_ptr, node_ptr> ret;
|
228
228
|
//Null shift, or count() == 0 or 1, nothing to do
|
@@ -277,7 +277,7 @@ class linear_slist_algorithms
|
|
277
277
|
//! <b>Throws</b>: Nothing.
|
278
278
|
//!
|
279
279
|
//! <b>Complexity</b>: Linear to the number of elements plus the number moved positions.
|
280
|
-
static std::pair<node_ptr, node_ptr> move_first_n_forward(
|
280
|
+
static std::pair<node_ptr, node_ptr> move_first_n_forward(node_ptr p, std::size_t n)
|
281
281
|
{
|
282
282
|
std::pair<node_ptr, node_ptr> ret;
|
283
283
|
//Null shift, or count() == 0 or 1, nothing to do
|
@@ -54,7 +54,7 @@ struct rbtree_node_cloner
|
|
54
54
|
: base_t(f)
|
55
55
|
{}
|
56
56
|
|
57
|
-
node_ptr operator()(
|
57
|
+
BOOST_INTRUSIVE_FORCEINLINE node_ptr operator()(node_ptr p)
|
58
58
|
{
|
59
59
|
node_ptr n = base_t::get()(p);
|
60
60
|
NodeTraits::set_color(n, NodeTraits::get_color(p));
|
@@ -200,12 +200,12 @@ class rbtree_algorithms
|
|
200
200
|
static node_ptr end_node(const const_node_ptr & header);
|
201
201
|
|
202
202
|
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
|
203
|
-
static void swap_tree(
|
203
|
+
static void swap_tree(node_ptr header1, node_ptr header2);
|
204
204
|
|
205
205
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
206
206
|
|
207
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
208
|
-
static void swap_nodes(
|
207
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
|
208
|
+
static void swap_nodes(node_ptr node1, node_ptr node2)
|
209
209
|
{
|
210
210
|
if(node1 == node2)
|
211
211
|
return;
|
@@ -214,8 +214,8 @@ class rbtree_algorithms
|
|
214
214
|
swap_nodes(node1, header1, node2, header2);
|
215
215
|
}
|
216
216
|
|
217
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
218
|
-
static void swap_nodes(
|
217
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
|
218
|
+
static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2)
|
219
219
|
{
|
220
220
|
if(node1 == node2) return;
|
221
221
|
|
@@ -226,22 +226,22 @@ class rbtree_algorithms
|
|
226
226
|
NodeTraits::set_color(node2, c);
|
227
227
|
}
|
228
228
|
|
229
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
230
|
-
static void replace_node(
|
229
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
|
230
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node)
|
231
231
|
{
|
232
232
|
if(node_to_be_replaced == new_node)
|
233
233
|
return;
|
234
234
|
replace_node(node_to_be_replaced, bstree_algo::get_header(node_to_be_replaced), new_node);
|
235
235
|
}
|
236
236
|
|
237
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
238
|
-
static void replace_node(
|
237
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
|
238
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node)
|
239
239
|
{
|
240
240
|
bstree_algo::replace_node(node_to_be_replaced, header, new_node);
|
241
241
|
NodeTraits::set_color(new_node, NodeTraits::get_color(node_to_be_replaced));
|
242
242
|
}
|
243
243
|
|
244
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink(
|
244
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
|
245
245
|
static void unlink(const node_ptr& node)
|
246
246
|
{
|
247
247
|
node_ptr x = NodeTraits::get_parent(node);
|
@@ -268,19 +268,19 @@ class rbtree_algorithms
|
|
268
268
|
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
|
269
269
|
static node_ptr prev_node(const node_ptr & node);
|
270
270
|
|
271
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init(
|
271
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
|
272
272
|
static void init(const node_ptr & node);
|
273
273
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
274
274
|
|
275
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(
|
276
|
-
static void init_header(
|
275
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
|
276
|
+
static void init_header(node_ptr header)
|
277
277
|
{
|
278
278
|
bstree_algo::init_header(header);
|
279
279
|
NodeTraits::set_color(header, NodeTraits::red());
|
280
280
|
}
|
281
281
|
|
282
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(
|
283
|
-
static node_ptr erase(
|
282
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
|
283
|
+
static node_ptr erase(node_ptr header, node_ptr z)
|
284
284
|
{
|
285
285
|
typename bstree_algo::data_for_rebalance info;
|
286
286
|
bstree_algo::erase(header, z, info);
|
@@ -291,7 +291,7 @@ class rbtree_algorithms
|
|
291
291
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
|
292
292
|
template<class NodePtrCompare>
|
293
293
|
static bool transfer_unique
|
294
|
-
(
|
294
|
+
(node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
|
295
295
|
{
|
296
296
|
typename bstree_algo::data_for_rebalance info;
|
297
297
|
bool const transferred = bstree_algo::transfer_unique(header1, comp, header2, z, info);
|
@@ -305,7 +305,7 @@ class rbtree_algorithms
|
|
305
305
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
|
306
306
|
template<class NodePtrCompare>
|
307
307
|
static void transfer_equal
|
308
|
-
(
|
308
|
+
(node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
|
309
309
|
{
|
310
310
|
typename bstree_algo::data_for_rebalance info;
|
311
311
|
bstree_algo::transfer_equal(header1, comp, header2, z, info);
|
@@ -313,10 +313,10 @@ class rbtree_algorithms
|
|
313
313
|
rebalance_after_insertion(header1, z);
|
314
314
|
}
|
315
315
|
|
316
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,
|
316
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
|
317
317
|
template <class Cloner, class Disposer>
|
318
318
|
static void clone
|
319
|
-
(
|
319
|
+
(const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer)
|
320
320
|
{
|
321
321
|
rbtree_node_cloner<NodeTraits, Cloner> new_cloner(cloner);
|
322
322
|
bstree_algo::clone(source_header, target_header, new_cloner, disposer);
|
@@ -359,54 +359,54 @@ class rbtree_algorithms
|
|
359
359
|
|
360
360
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
361
361
|
|
362
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(
|
362
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
|
363
363
|
template<class NodePtrCompare>
|
364
364
|
static node_ptr insert_equal_upper_bound
|
365
|
-
(
|
365
|
+
(node_ptr h, node_ptr new_node, NodePtrCompare comp)
|
366
366
|
{
|
367
367
|
bstree_algo::insert_equal_upper_bound(h, new_node, comp);
|
368
368
|
rebalance_after_insertion(h, new_node);
|
369
369
|
return new_node;
|
370
370
|
}
|
371
371
|
|
372
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(
|
372
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
|
373
373
|
template<class NodePtrCompare>
|
374
374
|
static node_ptr insert_equal_lower_bound
|
375
|
-
(
|
375
|
+
(node_ptr h, node_ptr new_node, NodePtrCompare comp)
|
376
376
|
{
|
377
377
|
bstree_algo::insert_equal_lower_bound(h, new_node, comp);
|
378
378
|
rebalance_after_insertion(h, new_node);
|
379
379
|
return new_node;
|
380
380
|
}
|
381
381
|
|
382
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(
|
382
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
|
383
383
|
template<class NodePtrCompare>
|
384
384
|
static node_ptr insert_equal
|
385
|
-
(
|
385
|
+
(node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
|
386
386
|
{
|
387
387
|
bstree_algo::insert_equal(header, hint, new_node, comp);
|
388
388
|
rebalance_after_insertion(header, new_node);
|
389
389
|
return new_node;
|
390
390
|
}
|
391
391
|
|
392
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(
|
392
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
|
393
393
|
static node_ptr insert_before
|
394
|
-
(
|
394
|
+
(node_ptr header, node_ptr pos, node_ptr new_node)
|
395
395
|
{
|
396
396
|
bstree_algo::insert_before(header, pos, new_node);
|
397
397
|
rebalance_after_insertion(header, new_node);
|
398
398
|
return new_node;
|
399
399
|
}
|
400
400
|
|
401
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(
|
402
|
-
static void push_back(
|
401
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
|
402
|
+
static void push_back(node_ptr header, node_ptr new_node)
|
403
403
|
{
|
404
404
|
bstree_algo::push_back(header, new_node);
|
405
405
|
rebalance_after_insertion(header, new_node);
|
406
406
|
}
|
407
407
|
|
408
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(
|
409
|
-
static void push_front(
|
408
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
|
409
|
+
static void push_front(node_ptr header, node_ptr new_node)
|
410
410
|
{
|
411
411
|
bstree_algo::push_front(header, new_node);
|
412
412
|
rebalance_after_insertion(header, new_node);
|
@@ -416,19 +416,19 @@ class rbtree_algorithms
|
|
416
416
|
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
|
417
417
|
template<class KeyType, class KeyNodePtrCompare>
|
418
418
|
static std::pair<node_ptr, bool> insert_unique_check
|
419
|
-
(
|
419
|
+
(const_node_ptr header, const KeyType &key
|
420
420
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data);
|
421
421
|
|
422
422
|
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
|
423
423
|
template<class KeyType, class KeyNodePtrCompare>
|
424
424
|
static std::pair<node_ptr, bool> insert_unique_check
|
425
|
-
(
|
425
|
+
(const_node_ptr header, node_ptr hint, const KeyType &key
|
426
426
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data);
|
427
427
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
428
428
|
|
429
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(
|
429
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
|
430
430
|
static void insert_unique_commit
|
431
|
-
(
|
431
|
+
(node_ptr header, node_ptr new_value, const insert_commit_data &commit_data)
|
432
432
|
{
|
433
433
|
bstree_algo::insert_unique_commit(header, new_value, commit_data);
|
434
434
|
rebalance_after_insertion(header, new_value);
|
@@ -445,7 +445,7 @@ class rbtree_algorithms
|
|
445
445
|
private:
|
446
446
|
|
447
447
|
static void rebalance_after_erasure
|
448
|
-
(
|
448
|
+
( node_ptr header, node_ptr z, const typename bstree_algo::data_for_rebalance &info)
|
449
449
|
{
|
450
450
|
color new_z_color;
|
451
451
|
if(info.y != z){
|
@@ -461,7 +461,7 @@ class rbtree_algorithms
|
|
461
461
|
}
|
462
462
|
}
|
463
463
|
|
464
|
-
static void rebalance_after_erasure_restore_invariants(
|
464
|
+
static void rebalance_after_erasure_restore_invariants(node_ptr header, node_ptr x, node_ptr x_parent)
|
465
465
|
{
|
466
466
|
while(1){
|
467
467
|
if(x_parent == header || (x && NodeTraits::get_color(x) != NodeTraits::black())){
|
@@ -545,7 +545,7 @@ class rbtree_algorithms
|
|
545
545
|
NodeTraits::set_color(x, NodeTraits::black());
|
546
546
|
}
|
547
547
|
|
548
|
-
static void rebalance_after_insertion(
|
548
|
+
static void rebalance_after_insertion(node_ptr header, node_ptr p)
|
549
549
|
{
|
550
550
|
NodeTraits::set_color(p, NodeTraits::red());
|
551
551
|
while(1){
|