passenger 6.0.2 → 6.0.7
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 +152 -19
- data/CONTRIBUTING.md +1 -1
- data/CONTRIBUTORS +5 -0
- data/bin/passenger-install-nginx-module +1 -1
- data/bin/passenger-memory-stats +65 -12
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +56 -3
- data/dev/copy_boost_headers +1 -0
- data/package.json +1 -1
- data/passenger.gemspec +9 -1
- data/resources/templates/error_renderer/with_details/dist/bundle.js +1 -1
- data/resources/templates/error_renderer/with_details/src/GetHelpView.jsx +1 -1
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.css +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/bootstrap.js +0 -0
- data/resources/templates/error_renderer/with_details/src/bootstrap/config.json +0 -0
- data/resources/templates/standalone/http.erb +1 -0
- data/resources/templates/standalone/rails_asset_pipeline.erb +1 -1
- data/resources/templates/standalone/server.erb +1 -0
- data/src/agent/Core/ApplicationPool/Group/ProcessListManagement.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Group/StateInspection.cpp +2 -0
- data/src/agent/Core/ApplicationPool/Implementation.cpp +0 -1
- data/src/agent/Core/ApplicationPool/Options.h +19 -0
- data/src/agent/Core/ApplicationPool/Pool/GarbageCollection.cpp +1 -1
- data/src/agent/Core/ApplicationPool/Pool/StateInspection.cpp +1 -1
- data/src/agent/Core/Config.h +15 -1
- data/src/agent/Core/Controller.h +1 -0
- data/src/agent/Core/Controller/Config.h +9 -1
- data/src/agent/Core/Controller/ForwardResponse.cpp +13 -0
- data/src/agent/Core/Controller/InitRequest.cpp +5 -0
- data/src/agent/Core/Controller/InitializationAndShutdown.cpp +1 -0
- data/src/agent/Core/CoreMain.cpp +1 -0
- data/src/agent/Core/OptionParser.h +3 -0
- data/src/agent/Core/SpawningKit/Config.h +11 -0
- data/src/agent/Core/SpawningKit/Config/AutoGeneratedCode.h +13 -0
- data/src/agent/Core/SpawningKit/Context.h +1 -0
- data/src/agent/Core/SpawningKit/Handshake/Prepare.h +1 -1
- data/src/agent/Core/SpawningKit/Handshake/WorkDir.h +5 -2
- data/src/agent/Core/SpawningKit/Spawner.h +1 -0
- data/src/agent/TempDirToucher/TempDirToucherMain.cpp +2 -0
- data/src/agent/Watchdog/Config.h +16 -1
- data/src/agent/Watchdog/WatchdogMain.cpp +7 -0
- data/src/apache2_module/Config.cpp +1 -1
- data/src/apache2_module/ConfigGeneral/AutoGeneratedDefinitions.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.cpp +15 -0
- data/src/apache2_module/ConfigGeneral/AutoGeneratedSetterFuncs.cpp +40 -0
- data/src/apache2_module/DirConfig/AutoGeneratedCreateFunction.cpp +10 -0
- data/src/apache2_module/DirConfig/AutoGeneratedHeaderSerialization.cpp +6 -0
- data/src/apache2_module/DirConfig/AutoGeneratedManifestGeneration.cpp +26 -0
- data/src/apache2_module/DirConfig/AutoGeneratedMergeFunction.cpp +14 -0
- data/src/apache2_module/DirConfig/AutoGeneratedStruct.h +34 -0
- data/src/apache2_module/Hooks.cpp +5 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedManifestGeneration.cpp +11 -0
- data/src/apache2_module/ServerConfig/AutoGeneratedStruct.h +13 -0
- data/src/cxx_supportlib/Constants.h +4 -2
- data/src/cxx_supportlib/Hooks.h +1 -0
- data/src/cxx_supportlib/LoggingKit/Config.h +1 -0
- data/src/cxx_supportlib/ServerKit/HttpChunkedBodyParser.h +1 -1
- data/src/cxx_supportlib/SystemTools/ContainerHelpers.h +2 -2
- data/src/cxx_supportlib/WebSocketCommandReverseServer.h +11 -7
- data/src/cxx_supportlib/oxt/system_calls.cpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/finder.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/buffer.hpp +46 -37
- data/src/cxx_supportlib/vendor-modified/boost/asio/connect.hpp +16 -15
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/config.hpp +45 -26
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/future.hpp +33 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/impl/socket_ops.ipp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/is_buffer_sequence.hpp +38 -14
- data/src/cxx_supportlib/vendor-modified/boost/asio/detail/timer_queue.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/io_context.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/read_until.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/impl/use_future.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/bad_address_cast.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/ip/basic_resolver_results.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/packaged_task.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/read.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_at.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/asio/read_until.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/context_base.hpp +17 -0
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/impl/context.ipp +50 -5
- data/src/cxx_supportlib/vendor-modified/boost/asio/ssl/stream.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/thread_pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/use_future.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/asio/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/asio/write.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/asio/write_at.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_x86_dcas.hpp +13 -12
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/chrono.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/process_cpu_clocks.hpp +34 -34
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/mac/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/chrono.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/process_cpu_clocks.hpp +27 -27
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/inlined/posix/thread_clock.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/detail/system.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/chrono/io/time_point_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/allocators.hpp +89 -0
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/base.hpp +83 -74
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/details.hpp +21 -33
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/space_optimized.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/concept/assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/general.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/detail/has_constraints.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/concept/usage.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/concept_check.hpp +19 -19
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/borland.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/codegear.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/comeau.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/common_edg.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/cray.hpp +368 -52
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/digitalmars.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/gcc_xml.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/greenhills.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/hp_acc.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/intel.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/kai.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/metrowerks.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/mpw.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/nvcc.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/pathscale.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/sunpro_cc.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/vacpp.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +9 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/xlcpp_zos.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/select_compiler_config.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/suffix.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/dinkumware.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libstdcpp3.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +262 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +22 -19
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +833 -459
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +24 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/allocator_version_traits.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +61 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +33 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +132 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +58 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/multiallocation_chain.hpp +28 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_alloc_holder.hpp +167 -115
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/thread_mutex.hpp +181 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +167 -29
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/type_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/variadic_templates_tools.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +389 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +262 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +52 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +364 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/synchronized_pool_resource.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +286 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +56 -8
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +43 -6
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +100 -31
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +126 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +75 -51
- data/src/cxx_supportlib/vendor-modified/boost/core/empty_value.hpp +136 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/exchange.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/explicit_operator_bool.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +101 -130
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test_trait.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/noncopyable.hpp +16 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/quick_exit.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/ref.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/swap.hpp +9 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/typeinfo.hpp +26 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/compiler_config.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/date_time/posix_time/posix_time_duration.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/date_time/time_duration.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/basic_pointerbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +38 -47
- data/src/cxx_supportlib/vendor-modified/boost/detail/lcast_precision.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/detail/reference_content.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +62 -58
- data/src/cxx_supportlib/vendor-modified/boost/function.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/function/function_base.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/function/function_template.hpp +38 -40
- data/src/cxx_supportlib/vendor-modified/boost/integer/common_factor_rt.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree_algorithms.hpp +44 -44
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_list_algorithms.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/circular_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/any_node_and_algorithms.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/avltree_node.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/common_slist_algorithms.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/list_node.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/node_cloner_disposer.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/rbtree_node.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/simple_disposers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/slist_node.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_node.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/tree_value_compare.hpp +33 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/linear_slist_algorithms.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_plus_bits.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/sgtree_algorithms.hpp +61 -61
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/splaytree_algorithms.hpp +66 -66
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/treap_algorithms.hpp +54 -54
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set_hook.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +65 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +23 -23
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +18 -13
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/cregex.cpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +16 -5
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/future.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/tss_null.cpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/detail/fp_traits.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/math/special_functions/math_fwd.hpp +27 -0
- data/src/cxx_supportlib/vendor-modified/boost/math/tools/config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_merge.hpp +29 -6
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/adaptive_sort.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/detail/adaptive_sort_merge.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algo/move.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/algorithm.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/core.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/mpl/assert.hpp +23 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/experimental_traits.hpp +9 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/old_optional_implementation.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +20 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +211 -101
- data/src/cxx_supportlib/vendor-modified/boost/parameter/python.hpp +5 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/detail/mutex.hpp +119 -25
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/arm.h +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/architecture/ptx.h +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/compaq.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/compiler/nvcc.h +73 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/detail/endian_compat.h +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/language.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/language/cuda.h +52 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/make.h +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/predef/os/cygwin.h +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/predef/other/endian.h +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/predef/version.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/config/config.hpp +17 -8
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/stringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/wstringize.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/gray_coded_qrng.hpp +166 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/niederreiter_base2_table.hpp +513 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/qrng_base.hpp +291 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/sobol_table.hpp +4106 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/faure.hpp +367 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/niederreiter_base2.hpp +360 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/sobol.hpp +237 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/as_literal.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/begin.hpp +13 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/common.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/implementation_help.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/range/distance.hpp +11 -5
- data/src/cxx_supportlib/vendor-modified/boost/range/end.hpp +14 -6
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/ratio/config.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +55 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +7 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +5 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/fileiter.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/instances.hpp +15 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +7 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +7 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +12 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +7 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +1 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +2 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/allocate_shared_array.hpp +60 -115
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/local_counted_base.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_clang.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_solaris.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/yield_k.hpp +14 -8
- data/src/cxx_supportlib/vendor-modified/boost/system/config.hpp +4 -24
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/generic_category.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/std_interoperability.hpp +141 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/system_category_posix.hpp +132 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/error_code.hpp +775 -588
- data/src/cxx_supportlib/vendor-modified/boost/system/system_error.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/config.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/move.hpp +13 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/nullary_function.hpp +8 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread_safety.hpp +160 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/tss_hooks.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/exceptions.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/executors/basic_thread_pool.hpp +24 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/lock_guard.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/lockable_traits.hpp +31 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/condition_variable_fwd.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/mutex.hpp +8 -53
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_mutex_scoped_lock.hpp +73 -4
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/recursive_mutex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/thread_data.hpp +14 -9
- data/src/cxx_supportlib/vendor-modified/boost/thread/xtime.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/throw_exception.hpp +9 -8
- data/src/cxx_supportlib/vendor-modified/boost/token_functions.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_index/stl_type_index.hpp +21 -19
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/common_arithmetic_type.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/config.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/detector.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_postfix_operator.hpp +55 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/has_prefix_operator.hpp +72 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_03.hpp +108 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_cxx_11.hpp +501 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_function_msvc10_fix.hpp +30 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_likely_lambda.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_03.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_member_function_pointer_cxx_11.hpp +557 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detail/is_rvalue_reference_msvc10_fix.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/detected_or.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/enable_if.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_dereference.hpp +344 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_minus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_plus_assign.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_post_increment.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_decrement.hpp +21 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_pre_increment.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_assign.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/has_trivial_move_constructor.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +5 -15
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/intrinsics.hpp +16 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_assignable.hpp +3 -4
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_copy_constructible.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_convertible.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_detected_exact.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_final.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_function.hpp +4 -79
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_member_function_pointer.hpp +3 -97
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_noncopyable.hpp +39 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_assignable.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_nothrow_move_constructible.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_rvalue_reference.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_virtual_base_of.hpp +104 -63
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/make_void.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/nonesuch.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/constant.hpp +26 -0
- data/src/cxx_supportlib/vendor-modified/boost/typeof/dmc/typeof_impl.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode.hpp +0 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/encode_decode_params.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/int_encoding.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/modifiers.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/msvc/typeof_impl.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/typeof/native.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/typeof/pointers_data_members.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_functions_iterate.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/typeof/register_mem_functions.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_encoding.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/typeof/template_template_param.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/type_encoding.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/typeof/typeof_impl.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector100.hpp +201 -201
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector150.hpp +301 -301
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector200.hpp +401 -401
- data/src/cxx_supportlib/vendor-modified/boost/typeof/vector50.hpp +101 -101
- data/src/cxx_supportlib/vendor-modified/boost/utility/detail/minstd_rand.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_ref.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/utility/string_view.hpp +26 -6
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/modp_b64_data.h +0 -4
- data/src/cxx_supportlib/vendor-modified/modp_b64_strict_aliasing.cpp +5 -1
- data/src/helper-scripts/node-loader.js +1 -1
- data/src/helper-scripts/prespawn +1 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedDefinitions.c +40 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedManifestDefaultsInitialization.c +27 -0
- data/src/nginx_module/ConfigGeneral/AutoGeneratedSetterFuncs.c +48 -0
- data/src/nginx_module/Configuration.c +14 -1
- data/src/nginx_module/ContentHandler.c +5 -1
- data/src/nginx_module/LocationConfig/AutoGeneratedCreateFunction.c +21 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedHeaderSerialization.c +30 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedManifestGeneration.c +42 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedMergeFunction.c +9 -0
- data/src/nginx_module/LocationConfig/AutoGeneratedStruct.h +15 -0
- data/src/nginx_module/MainConfig/AutoGeneratedCreateFunction.c +6 -0
- data/src/nginx_module/MainConfig/AutoGeneratedManifestGeneration.c +12 -0
- data/src/nginx_module/MainConfig/AutoGeneratedStruct.h +4 -0
- data/src/nginx_module/ngx_http_passenger_module.c +3 -2
- data/src/nodejs_supportlib/vendor-copy/winston/lib/winston/logger.js +0 -0
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- data/src/ruby_supportlib/phusion_passenger/admin_tools/memory_stats.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/apache2/config_options.rb +22 -0
- data/src/ruby_supportlib/phusion_passenger/constants.rb +3 -1
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/nginx/config_options.rb +35 -0
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/rack/thread_handler_extension.rb +10 -0
- data/src/ruby_supportlib/phusion_passenger/request_handler.rb +7 -6
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +5 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/config_options_list.rb +13 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +4 -2
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/nginx_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/unseekable_socket.rb +15 -11
- metadata +42 -8
- data/src/cxx_supportlib/vendor-modified/boost/call_traits.hpp +0 -20
- data/src/cxx_supportlib/vendor-modified/boost/detail/call_traits.hpp +0 -172
- data/src/cxx_supportlib/vendor-modified/boost/detail/no_exceptions_support.hpp +0 -17
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_code.ipp +0 -496
@@ -65,8 +65,8 @@ class sgtree_algorithms
|
|
65
65
|
public:
|
66
66
|
typedef typename NodeTraits::node node;
|
67
67
|
typedef NodeTraits node_traits;
|
68
|
-
typedef typename NodeTraits::node_ptr
|
69
|
-
typedef typename NodeTraits::const_node_ptr
|
68
|
+
typedef typename NodeTraits::node_ptr node_ptr;
|
69
|
+
typedef typename NodeTraits::const_node_ptr const_node_ptr;
|
70
70
|
|
71
71
|
/// @cond
|
72
72
|
private:
|
@@ -86,57 +86,57 @@ class sgtree_algorithms
|
|
86
86
|
|
87
87
|
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
88
88
|
//! @copydoc ::boost::intrusive::bstree_algorithms::get_header(const const_node_ptr&)
|
89
|
-
static node_ptr get_header(
|
89
|
+
static node_ptr get_header(const_node_ptr n);
|
90
90
|
|
91
91
|
//! @copydoc ::boost::intrusive::bstree_algorithms::begin_node
|
92
|
-
static node_ptr begin_node(
|
92
|
+
static node_ptr begin_node(const_node_ptr header);
|
93
93
|
|
94
94
|
//! @copydoc ::boost::intrusive::bstree_algorithms::end_node
|
95
|
-
static node_ptr end_node(
|
95
|
+
static node_ptr end_node(const_node_ptr header);
|
96
96
|
|
97
97
|
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
|
98
|
-
static void swap_tree(
|
98
|
+
static void swap_tree(node_ptr header1, node_ptr header2);
|
99
99
|
|
100
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
101
|
-
static void swap_nodes(
|
100
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
|
101
|
+
static void swap_nodes(node_ptr node1, node_ptr node2);
|
102
102
|
|
103
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
104
|
-
static void swap_nodes(
|
103
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
|
104
|
+
static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
|
105
105
|
|
106
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
107
|
-
static void replace_node(
|
106
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
|
107
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
|
108
108
|
|
109
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
110
|
-
static void replace_node(
|
109
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
|
110
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
|
111
111
|
|
112
112
|
//Unlink is not possible since tree metadata is needed to update the tree
|
113
|
-
//!static void unlink(
|
113
|
+
//!static void unlink(node_ptr node);
|
114
114
|
|
115
115
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
|
116
|
-
static node_ptr unlink_leftmost_without_rebalance(
|
116
|
+
static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
|
117
117
|
|
118
118
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
|
119
|
-
static bool unique(
|
119
|
+
static bool unique(const_node_ptr node);
|
120
120
|
|
121
121
|
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
|
122
|
-
static std::size_t size(
|
122
|
+
static std::size_t size(const_node_ptr header);
|
123
123
|
|
124
124
|
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
|
125
|
-
static node_ptr next_node(
|
125
|
+
static node_ptr next_node(node_ptr node);
|
126
126
|
|
127
127
|
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
|
128
|
-
static node_ptr prev_node(
|
128
|
+
static node_ptr prev_node(node_ptr node);
|
129
129
|
|
130
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init(
|
131
|
-
static void init(
|
130
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
|
131
|
+
static void init(node_ptr node);
|
132
132
|
|
133
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(
|
134
|
-
static void init_header(
|
133
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
|
134
|
+
static void init_header(node_ptr header);
|
135
135
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
136
136
|
|
137
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(
|
137
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
|
138
138
|
template<class AlphaByMaxSize>
|
139
|
-
static node_ptr erase(
|
139
|
+
static node_ptr erase(node_ptr header, node_ptr z, std::size_t tree_size, std::size_t &max_tree_size, AlphaByMaxSize alpha_by_maxsize)
|
140
140
|
{
|
141
141
|
bstree_algo::erase(header, z);
|
142
142
|
--tree_size;
|
@@ -149,51 +149,51 @@ class sgtree_algorithms
|
|
149
149
|
}
|
150
150
|
|
151
151
|
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
152
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,
|
152
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
|
153
153
|
template <class Cloner, class Disposer>
|
154
154
|
static void clone
|
155
|
-
(
|
155
|
+
(const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
|
156
156
|
|
157
157
|
//! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
|
158
158
|
template<class Disposer>
|
159
|
-
static void clear_and_dispose(
|
159
|
+
static void clear_and_dispose(node_ptr header, Disposer disposer);
|
160
160
|
|
161
161
|
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
162
162
|
template<class KeyType, class KeyNodePtrCompare>
|
163
163
|
static node_ptr lower_bound
|
164
|
-
(
|
164
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
|
165
165
|
|
166
166
|
//! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
167
167
|
template<class KeyType, class KeyNodePtrCompare>
|
168
168
|
static node_ptr upper_bound
|
169
|
-
(
|
169
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
|
170
170
|
|
171
171
|
//! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
|
172
172
|
template<class KeyType, class KeyNodePtrCompare>
|
173
173
|
static node_ptr find
|
174
|
-
(
|
174
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
|
175
175
|
|
176
176
|
//! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
177
177
|
template<class KeyType, class KeyNodePtrCompare>
|
178
178
|
static std::pair<node_ptr, node_ptr> equal_range
|
179
|
-
(
|
179
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
|
180
180
|
|
181
181
|
//! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
|
182
182
|
template<class KeyType, class KeyNodePtrCompare>
|
183
183
|
static std::pair<node_ptr, node_ptr> bounded_range
|
184
|
-
(
|
184
|
+
(const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
|
185
185
|
, bool left_closed, bool right_closed);
|
186
186
|
|
187
187
|
//! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
188
188
|
template<class KeyType, class KeyNodePtrCompare>
|
189
|
-
static std::size_t count(
|
189
|
+
static std::size_t count(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp);
|
190
190
|
|
191
191
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
192
192
|
|
193
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(
|
193
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
|
194
194
|
template<class NodePtrCompare, class H_Alpha>
|
195
195
|
static node_ptr insert_equal_upper_bound
|
196
|
-
(
|
196
|
+
(node_ptr h, node_ptr new_node, NodePtrCompare comp
|
197
197
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
198
198
|
{
|
199
199
|
std::size_t depth;
|
@@ -202,10 +202,10 @@ class sgtree_algorithms
|
|
202
202
|
return new_node;
|
203
203
|
}
|
204
204
|
|
205
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(
|
205
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
|
206
206
|
template<class NodePtrCompare, class H_Alpha>
|
207
207
|
static node_ptr insert_equal_lower_bound
|
208
|
-
(
|
208
|
+
(node_ptr h, node_ptr new_node, NodePtrCompare comp
|
209
209
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
210
210
|
{
|
211
211
|
std::size_t depth;
|
@@ -214,10 +214,10 @@ class sgtree_algorithms
|
|
214
214
|
return new_node;
|
215
215
|
}
|
216
216
|
|
217
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(
|
217
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
|
218
218
|
template<class NodePtrCompare, class H_Alpha>
|
219
219
|
static node_ptr insert_equal
|
220
|
-
(
|
220
|
+
(node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp
|
221
221
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
222
222
|
{
|
223
223
|
std::size_t depth;
|
@@ -226,10 +226,10 @@ class sgtree_algorithms
|
|
226
226
|
return new_node;
|
227
227
|
}
|
228
228
|
|
229
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(
|
229
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
|
230
230
|
template<class H_Alpha>
|
231
231
|
static node_ptr insert_before
|
232
|
-
(
|
232
|
+
(node_ptr header, node_ptr pos, node_ptr new_node
|
233
233
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
234
234
|
{
|
235
235
|
std::size_t depth;
|
@@ -238,9 +238,9 @@ class sgtree_algorithms
|
|
238
238
|
return new_node;
|
239
239
|
}
|
240
240
|
|
241
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(
|
241
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
|
242
242
|
template<class H_Alpha>
|
243
|
-
static void push_back(
|
243
|
+
static void push_back(node_ptr header, node_ptr new_node
|
244
244
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
245
245
|
{
|
246
246
|
std::size_t depth;
|
@@ -248,9 +248,9 @@ class sgtree_algorithms
|
|
248
248
|
rebalance_after_insertion(new_node, depth, tree_size+1, h_alpha, max_tree_size);
|
249
249
|
}
|
250
250
|
|
251
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(
|
251
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
|
252
252
|
template<class H_Alpha>
|
253
|
-
static void push_front(
|
253
|
+
static void push_front(node_ptr header, node_ptr new_node
|
254
254
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
255
255
|
{
|
256
256
|
std::size_t depth;
|
@@ -261,7 +261,7 @@ class sgtree_algorithms
|
|
261
261
|
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
|
262
262
|
template<class KeyType, class KeyNodePtrCompare>
|
263
263
|
static std::pair<node_ptr, bool> insert_unique_check
|
264
|
-
(
|
264
|
+
(const_node_ptr header, const KeyType &key
|
265
265
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
|
266
266
|
{
|
267
267
|
std::size_t depth;
|
@@ -274,7 +274,7 @@ class sgtree_algorithms
|
|
274
274
|
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_check(const const_node_ptr&,const node_ptr&,const KeyType&,KeyNodePtrCompare,insert_commit_data&)
|
275
275
|
template<class KeyType, class KeyNodePtrCompare>
|
276
276
|
static std::pair<node_ptr, bool> insert_unique_check
|
277
|
-
(
|
277
|
+
(const_node_ptr header, node_ptr hint, const KeyType &key
|
278
278
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
|
279
279
|
{
|
280
280
|
std::size_t depth;
|
@@ -285,18 +285,18 @@ class sgtree_algorithms
|
|
285
285
|
return ret;
|
286
286
|
}
|
287
287
|
|
288
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(
|
288
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
|
289
289
|
template<class H_Alpha>
|
290
290
|
BOOST_INTRUSIVE_FORCEINLINE static void insert_unique_commit
|
291
|
-
(
|
291
|
+
(node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
|
292
292
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
293
293
|
{ return insert_commit(header, new_value, commit_data, tree_size, h_alpha, max_tree_size); }
|
294
294
|
|
295
295
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
|
296
296
|
template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
|
297
297
|
static bool transfer_unique
|
298
|
-
(
|
299
|
-
,
|
298
|
+
( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
|
299
|
+
, node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
|
300
300
|
,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
|
301
301
|
{
|
302
302
|
insert_commit_data commit_data;
|
@@ -311,8 +311,8 @@ class sgtree_algorithms
|
|
311
311
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
|
312
312
|
template<class NodePtrCompare, class H_Alpha, class AlphaByMaxSize>
|
313
313
|
static void transfer_equal
|
314
|
-
(
|
315
|
-
,
|
314
|
+
( node_ptr header1, NodePtrCompare comp, std::size_t tree1_size, std::size_t &max_tree1_size
|
315
|
+
, node_ptr header2, node_ptr z, std::size_t tree2_size, std::size_t &max_tree2_size
|
316
316
|
,H_Alpha h_alpha, AlphaByMaxSize alpha_by_maxsize)
|
317
317
|
{
|
318
318
|
insert_commit_data commit_data;
|
@@ -323,13 +323,13 @@ class sgtree_algorithms
|
|
323
323
|
|
324
324
|
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
325
325
|
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
|
326
|
-
static bool is_header(
|
326
|
+
static bool is_header(const_node_ptr p);
|
327
327
|
|
328
328
|
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
|
329
|
-
static void rebalance(
|
329
|
+
static void rebalance(node_ptr header);
|
330
330
|
|
331
331
|
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
|
332
|
-
static node_ptr rebalance_subtree(
|
332
|
+
static node_ptr rebalance_subtree(node_ptr old_root)
|
333
333
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
334
334
|
|
335
335
|
/// @cond
|
@@ -337,7 +337,7 @@ class sgtree_algorithms
|
|
337
337
|
|
338
338
|
template<class KeyType, class KeyNodePtrCompare>
|
339
339
|
static void insert_equal_upper_bound_check
|
340
|
-
(
|
340
|
+
(node_ptr header, const KeyType &key
|
341
341
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
|
342
342
|
{
|
343
343
|
std::size_t depth;
|
@@ -347,7 +347,7 @@ class sgtree_algorithms
|
|
347
347
|
|
348
348
|
template<class H_Alpha>
|
349
349
|
static void insert_commit
|
350
|
-
(
|
350
|
+
(node_ptr header, node_ptr new_value, const insert_commit_data &commit_data
|
351
351
|
,std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
352
352
|
{
|
353
353
|
bstree_algo::insert_unique_commit(header, new_value, commit_data);
|
@@ -356,7 +356,7 @@ class sgtree_algorithms
|
|
356
356
|
|
357
357
|
template<class H_Alpha>
|
358
358
|
static void rebalance_after_insertion
|
359
|
-
(
|
359
|
+
(node_ptr x, std::size_t depth
|
360
360
|
, std::size_t tree_size, H_Alpha h_alpha, std::size_t &max_tree_size)
|
361
361
|
{
|
362
362
|
if(tree_size > max_tree_size)
|
@@ -1995,7 +1995,7 @@ class slist_impl
|
|
1995
1995
|
{ x.swap(y); }
|
1996
1996
|
|
1997
1997
|
private:
|
1998
|
-
void priv_splice_after(
|
1998
|
+
void priv_splice_after(node_ptr prev_pos_n, slist_impl &x, node_ptr before_f_n, node_ptr before_l_n)
|
1999
1999
|
{
|
2000
2000
|
if (cache_last && (before_f_n != before_l_n)){
|
2001
2001
|
if(prev_pos_n == this->get_last_node()){
|
@@ -2008,7 +2008,7 @@ class slist_impl
|
|
2008
2008
|
node_algorithms::transfer_after(prev_pos_n, before_f_n, before_l_n);
|
2009
2009
|
}
|
2010
2010
|
|
2011
|
-
void priv_incorporate_after(
|
2011
|
+
void priv_incorporate_after(node_ptr prev_pos_n, node_ptr first_n, node_ptr before_l_n)
|
2012
2012
|
{
|
2013
2013
|
if(cache_last){
|
2014
2014
|
if(prev_pos_n == this->get_last_node()){
|
@@ -2108,11 +2108,11 @@ class slist_impl
|
|
2108
2108
|
}
|
2109
2109
|
|
2110
2110
|
//circular version
|
2111
|
-
static void priv_swap_lists(
|
2111
|
+
static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<false>)
|
2112
2112
|
{ node_algorithms::swap_nodes(this_node, other_node); }
|
2113
2113
|
|
2114
2114
|
//linear version
|
2115
|
-
static void priv_swap_lists(
|
2115
|
+
static void priv_swap_lists(node_ptr this_node, node_ptr other_node, detail::bool_<true>)
|
2116
2116
|
{ node_algorithms::swap_trailing_nodes(this_node, other_node); }
|
2117
2117
|
|
2118
2118
|
static slist_impl &priv_container_from_end_iterator(const const_iterator &end_iterator)
|
@@ -54,7 +54,7 @@ struct splaydown_assemble_and_fix_header
|
|
54
54
|
{
|
55
55
|
typedef typename NodeTraits::node_ptr node_ptr;
|
56
56
|
|
57
|
-
splaydown_assemble_and_fix_header(
|
57
|
+
splaydown_assemble_and_fix_header(node_ptr t, node_ptr header, node_ptr leftmost, node_ptr rightmost)
|
58
58
|
: t_(t)
|
59
59
|
, null_node_(header)
|
60
60
|
, l_(null_node_)
|
@@ -187,47 +187,47 @@ class splaytree_algorithms
|
|
187
187
|
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_tree
|
188
188
|
static void swap_tree(const node_ptr & header1, const node_ptr & header2);
|
189
189
|
|
190
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
191
|
-
static void swap_nodes(
|
190
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr)
|
191
|
+
static void swap_nodes(node_ptr node1, node_ptr node2);
|
192
192
|
|
193
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(
|
194
|
-
static void swap_nodes(
|
193
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::swap_nodes(node_ptr,node_ptr,node_ptr,node_ptr)
|
194
|
+
static void swap_nodes(node_ptr node1, node_ptr header1, node_ptr node2, node_ptr header2);
|
195
195
|
|
196
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
197
|
-
static void replace_node(
|
196
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr)
|
197
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr new_node);
|
198
198
|
|
199
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(
|
200
|
-
static void replace_node(
|
199
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::replace_node(node_ptr,node_ptr,node_ptr)
|
200
|
+
static void replace_node(node_ptr node_to_be_replaced, node_ptr header, node_ptr new_node);
|
201
201
|
|
202
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink(
|
203
|
-
static void unlink(
|
202
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink(node_ptr)
|
203
|
+
static void unlink(node_ptr node);
|
204
204
|
|
205
205
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unlink_leftmost_without_rebalance
|
206
|
-
static node_ptr unlink_leftmost_without_rebalance(
|
206
|
+
static node_ptr unlink_leftmost_without_rebalance(node_ptr header);
|
207
207
|
|
208
208
|
//! @copydoc ::boost::intrusive::bstree_algorithms::unique(const const_node_ptr&)
|
209
|
-
static bool unique(
|
209
|
+
static bool unique(const_node_ptr node);
|
210
210
|
|
211
211
|
//! @copydoc ::boost::intrusive::bstree_algorithms::size(const const_node_ptr&)
|
212
|
-
static std::size_t size(
|
212
|
+
static std::size_t size(const_node_ptr header);
|
213
213
|
|
214
214
|
//! @copydoc ::boost::intrusive::bstree_algorithms::next_node(const node_ptr&)
|
215
|
-
static node_ptr next_node(
|
215
|
+
static node_ptr next_node(node_ptr node);
|
216
216
|
|
217
217
|
//! @copydoc ::boost::intrusive::bstree_algorithms::prev_node(const node_ptr&)
|
218
|
-
static node_ptr prev_node(
|
218
|
+
static node_ptr prev_node(node_ptr node);
|
219
219
|
|
220
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init(
|
221
|
-
static void init(
|
220
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init(node_ptr)
|
221
|
+
static void init(node_ptr node);
|
222
222
|
|
223
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(
|
224
|
-
static void init_header(
|
223
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::init_header(node_ptr)
|
224
|
+
static void init_header(node_ptr header);
|
225
225
|
|
226
226
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
227
227
|
|
228
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(
|
228
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::erase(node_ptr,node_ptr)
|
229
229
|
//! Additional notes: the previous node of z is splayed to speed up range deletions.
|
230
|
-
static void erase(
|
230
|
+
static void erase(node_ptr header, node_ptr z)
|
231
231
|
{
|
232
232
|
//posibility 1
|
233
233
|
if(NodeTraits::get_left(z)){
|
@@ -254,7 +254,7 @@ class splaytree_algorithms
|
|
254
254
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_unique
|
255
255
|
template<class NodePtrCompare>
|
256
256
|
static bool transfer_unique
|
257
|
-
(
|
257
|
+
(node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
|
258
258
|
{
|
259
259
|
typename bstree_algo::insert_commit_data commit_data;
|
260
260
|
bool const transferable = bstree_algo::insert_unique_check(header1, z, comp, commit_data).second;
|
@@ -269,7 +269,7 @@ class splaytree_algorithms
|
|
269
269
|
//! @copydoc ::boost::intrusive::bstree_algorithms::transfer_equal
|
270
270
|
template<class NodePtrCompare>
|
271
271
|
static void transfer_equal
|
272
|
-
(
|
272
|
+
(node_ptr header1, NodePtrCompare comp, node_ptr header2, node_ptr z)
|
273
273
|
{
|
274
274
|
insert_commit_data commit_data;
|
275
275
|
splay_down(header1, z, comp);
|
@@ -279,21 +279,21 @@ class splaytree_algorithms
|
|
279
279
|
}
|
280
280
|
|
281
281
|
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
282
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,
|
282
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::clone(const const_node_ptr&,node_ptr,Cloner,Disposer)
|
283
283
|
template <class Cloner, class Disposer>
|
284
284
|
static void clone
|
285
|
-
(
|
285
|
+
(const_node_ptr source_header, node_ptr target_header, Cloner cloner, Disposer disposer);
|
286
286
|
|
287
287
|
//! @copydoc ::boost::intrusive::bstree_algorithms::clear_and_dispose(const node_ptr&,Disposer)
|
288
288
|
template<class Disposer>
|
289
|
-
static void clear_and_dispose(
|
289
|
+
static void clear_and_dispose(node_ptr header, Disposer disposer);
|
290
290
|
|
291
291
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
292
292
|
//! @copydoc ::boost::intrusive::bstree_algorithms::count(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
293
293
|
//! Additional notes: an element with key `key` is splayed.
|
294
294
|
template<class KeyType, class KeyNodePtrCompare>
|
295
295
|
static std::size_t count
|
296
|
-
(
|
296
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
297
297
|
{
|
298
298
|
std::pair<node_ptr, node_ptr> ret = equal_range(header, key, comp);
|
299
299
|
std::size_t n = 0;
|
@@ -308,14 +308,14 @@ class splaytree_algorithms
|
|
308
308
|
//! Additional note: no splaying is performed
|
309
309
|
template<class KeyType, class KeyNodePtrCompare>
|
310
310
|
static std::size_t count
|
311
|
-
(
|
311
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
312
312
|
{ return bstree_algo::count(header, key, comp); }
|
313
313
|
|
314
314
|
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
315
315
|
//! Additional notes: the first node of the range is splayed.
|
316
316
|
template<class KeyType, class KeyNodePtrCompare>
|
317
317
|
static node_ptr lower_bound
|
318
|
-
(
|
318
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
319
319
|
{
|
320
320
|
splay_down(detail::uncast(header), key, comp);
|
321
321
|
node_ptr y = bstree_algo::lower_bound(header, key, comp);
|
@@ -327,14 +327,14 @@ class splaytree_algorithms
|
|
327
327
|
//! Additional note: no splaying is performed
|
328
328
|
template<class KeyType, class KeyNodePtrCompare>
|
329
329
|
static node_ptr lower_bound
|
330
|
-
(
|
330
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
331
331
|
{ return bstree_algo::lower_bound(header, key, comp); }
|
332
332
|
|
333
333
|
//! @copydoc ::boost::intrusive::bstree_algorithms::upper_bound(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
334
334
|
//! Additional notes: the first node of the range is splayed.
|
335
335
|
template<class KeyType, class KeyNodePtrCompare>
|
336
336
|
static node_ptr upper_bound
|
337
|
-
(
|
337
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
338
338
|
{
|
339
339
|
splay_down(detail::uncast(header), key, comp);
|
340
340
|
node_ptr y = bstree_algo::upper_bound(header, key, comp);
|
@@ -346,14 +346,14 @@ class splaytree_algorithms
|
|
346
346
|
//! Additional note: no splaying is performed
|
347
347
|
template<class KeyType, class KeyNodePtrCompare>
|
348
348
|
static node_ptr upper_bound
|
349
|
-
(
|
349
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
350
350
|
{ return bstree_algo::upper_bound(header, key, comp); }
|
351
351
|
|
352
352
|
//! @copydoc ::boost::intrusive::bstree_algorithms::find(const const_node_ptr&, const KeyType&,KeyNodePtrCompare)
|
353
353
|
//! Additional notes: the found node of the lower bound is splayed.
|
354
354
|
template<class KeyType, class KeyNodePtrCompare>
|
355
355
|
static node_ptr find
|
356
|
-
(
|
356
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
357
357
|
{
|
358
358
|
splay_down(detail::uncast(header), key, comp);
|
359
359
|
return bstree_algo::find(header, key, comp);
|
@@ -363,14 +363,14 @@ class splaytree_algorithms
|
|
363
363
|
//! Additional note: no splaying is performed
|
364
364
|
template<class KeyType, class KeyNodePtrCompare>
|
365
365
|
static node_ptr find
|
366
|
-
(
|
366
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
367
367
|
{ return bstree_algo::find(header, key, comp); }
|
368
368
|
|
369
369
|
//! @copydoc ::boost::intrusive::bstree_algorithms::equal_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
370
370
|
//! Additional notes: the first node of the range is splayed.
|
371
371
|
template<class KeyType, class KeyNodePtrCompare>
|
372
372
|
static std::pair<node_ptr, node_ptr> equal_range
|
373
|
-
(
|
373
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
374
374
|
{
|
375
375
|
splay_down(detail::uncast(header), key, comp);
|
376
376
|
std::pair<node_ptr, node_ptr> ret = bstree_algo::equal_range(header, key, comp);
|
@@ -382,14 +382,14 @@ class splaytree_algorithms
|
|
382
382
|
//! Additional note: no splaying is performed
|
383
383
|
template<class KeyType, class KeyNodePtrCompare>
|
384
384
|
static std::pair<node_ptr, node_ptr> equal_range
|
385
|
-
(
|
385
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
386
386
|
{ return bstree_algo::equal_range(header, key, comp); }
|
387
387
|
|
388
388
|
//! @copydoc ::boost::intrusive::bstree_algorithms::lower_bound_range(const const_node_ptr&,const KeyType&,KeyNodePtrCompare)
|
389
389
|
//! Additional notes: the first node of the range is splayed.
|
390
390
|
template<class KeyType, class KeyNodePtrCompare>
|
391
391
|
static std::pair<node_ptr, node_ptr> lower_bound_range
|
392
|
-
(
|
392
|
+
(node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
393
393
|
{
|
394
394
|
splay_down(detail::uncast(header), key, comp);
|
395
395
|
std::pair<node_ptr, node_ptr> ret = bstree_algo::lower_bound_range(header, key, comp);
|
@@ -401,14 +401,14 @@ class splaytree_algorithms
|
|
401
401
|
//! Additional note: no splaying is performed
|
402
402
|
template<class KeyType, class KeyNodePtrCompare>
|
403
403
|
static std::pair<node_ptr, node_ptr> lower_bound_range
|
404
|
-
(
|
404
|
+
(const_node_ptr header, const KeyType &key, KeyNodePtrCompare comp)
|
405
405
|
{ return bstree_algo::lower_bound_range(header, key, comp); }
|
406
406
|
|
407
407
|
//! @copydoc ::boost::intrusive::bstree_algorithms::bounded_range(const const_node_ptr&,const KeyType&,const KeyType&,KeyNodePtrCompare,bool,bool)
|
408
408
|
//! Additional notes: the first node of the range is splayed.
|
409
409
|
template<class KeyType, class KeyNodePtrCompare>
|
410
410
|
static std::pair<node_ptr, node_ptr> bounded_range
|
411
|
-
(
|
411
|
+
(node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
|
412
412
|
, bool left_closed, bool right_closed)
|
413
413
|
{
|
414
414
|
splay_down(detail::uncast(header), lower_key, comp);
|
@@ -422,61 +422,61 @@ class splaytree_algorithms
|
|
422
422
|
//! Additional note: no splaying is performed
|
423
423
|
template<class KeyType, class KeyNodePtrCompare>
|
424
424
|
static std::pair<node_ptr, node_ptr> bounded_range
|
425
|
-
(
|
425
|
+
(const_node_ptr header, const KeyType &lower_key, const KeyType &upper_key, KeyNodePtrCompare comp
|
426
426
|
, bool left_closed, bool right_closed)
|
427
427
|
{ return bstree_algo::bounded_range(header, lower_key, upper_key, comp, left_closed, right_closed); }
|
428
428
|
|
429
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(
|
429
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_upper_bound(node_ptr,node_ptr,NodePtrCompare)
|
430
430
|
//! Additional note: the inserted node is splayed
|
431
431
|
template<class NodePtrCompare>
|
432
432
|
static node_ptr insert_equal_upper_bound
|
433
|
-
(
|
433
|
+
(node_ptr header, node_ptr new_node, NodePtrCompare comp)
|
434
434
|
{
|
435
435
|
splay_down(header, new_node, comp);
|
436
436
|
return bstree_algo::insert_equal_upper_bound(header, new_node, comp);
|
437
437
|
}
|
438
438
|
|
439
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(
|
439
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal_lower_bound(node_ptr,node_ptr,NodePtrCompare)
|
440
440
|
//! Additional note: the inserted node is splayed
|
441
441
|
template<class NodePtrCompare>
|
442
442
|
static node_ptr insert_equal_lower_bound
|
443
|
-
(
|
443
|
+
(node_ptr header, node_ptr new_node, NodePtrCompare comp)
|
444
444
|
{
|
445
445
|
splay_down(header, new_node, comp);
|
446
446
|
return bstree_algo::insert_equal_lower_bound(header, new_node, comp);
|
447
|
-
}
|
447
|
+
}
|
448
448
|
|
449
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(
|
449
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_equal(node_ptr,node_ptr,node_ptr,NodePtrCompare)
|
450
450
|
//! Additional note: the inserted node is splayed
|
451
451
|
template<class NodePtrCompare>
|
452
452
|
static node_ptr insert_equal
|
453
|
-
(
|
453
|
+
(node_ptr header, node_ptr hint, node_ptr new_node, NodePtrCompare comp)
|
454
454
|
{
|
455
455
|
splay_down(header, new_node, comp);
|
456
456
|
return bstree_algo::insert_equal(header, hint, new_node, comp);
|
457
457
|
}
|
458
458
|
|
459
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(
|
459
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_before(node_ptr,node_ptr,node_ptr)
|
460
460
|
//! Additional note: the inserted node is splayed
|
461
461
|
static node_ptr insert_before
|
462
|
-
(
|
462
|
+
(node_ptr header, node_ptr pos, node_ptr new_node)
|
463
463
|
{
|
464
464
|
bstree_algo::insert_before(header, pos, new_node);
|
465
465
|
splay_up(new_node, header);
|
466
466
|
return new_node;
|
467
467
|
}
|
468
468
|
|
469
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(
|
469
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_back(node_ptr,node_ptr)
|
470
470
|
//! Additional note: the inserted node is splayed
|
471
|
-
static void push_back(
|
471
|
+
static void push_back(node_ptr header, node_ptr new_node)
|
472
472
|
{
|
473
473
|
bstree_algo::push_back(header, new_node);
|
474
474
|
splay_up(new_node, header);
|
475
475
|
}
|
476
476
|
|
477
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(
|
477
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::push_front(node_ptr,node_ptr)
|
478
478
|
//! Additional note: the inserted node is splayed
|
479
|
-
static void push_front(
|
479
|
+
static void push_front(node_ptr header, node_ptr new_node)
|
480
480
|
{
|
481
481
|
bstree_algo::push_front(header, new_node);
|
482
482
|
splay_up(new_node, header);
|
@@ -486,7 +486,7 @@ class splaytree_algorithms
|
|
486
486
|
//! Additional note: nodes with the given key are splayed
|
487
487
|
template<class KeyType, class KeyNodePtrCompare>
|
488
488
|
static std::pair<node_ptr, bool> insert_unique_check
|
489
|
-
(
|
489
|
+
(node_ptr header, const KeyType &key
|
490
490
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
|
491
491
|
{
|
492
492
|
splay_down(header, key, comp);
|
@@ -497,7 +497,7 @@ class splaytree_algorithms
|
|
497
497
|
//! Additional note: nodes with the given key are splayed
|
498
498
|
template<class KeyType, class KeyNodePtrCompare>
|
499
499
|
static std::pair<node_ptr, bool> insert_unique_check
|
500
|
-
(
|
500
|
+
(node_ptr header, node_ptr hint, const KeyType &key
|
501
501
|
,KeyNodePtrCompare comp, insert_commit_data &commit_data)
|
502
502
|
{
|
503
503
|
splay_down(header, key, comp);
|
@@ -505,28 +505,28 @@ class splaytree_algorithms
|
|
505
505
|
}
|
506
506
|
|
507
507
|
#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
508
|
-
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(
|
508
|
+
//! @copydoc ::boost::intrusive::bstree_algorithms::insert_unique_commit(node_ptr,node_ptr,const insert_commit_data&)
|
509
509
|
static void insert_unique_commit
|
510
|
-
(
|
510
|
+
(node_ptr header, node_ptr new_value, const insert_commit_data &commit_data);
|
511
511
|
|
512
512
|
//! @copydoc ::boost::intrusive::bstree_algorithms::is_header
|
513
|
-
static bool is_header(
|
513
|
+
static bool is_header(const_node_ptr p);
|
514
514
|
|
515
515
|
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance
|
516
|
-
static void rebalance(
|
516
|
+
static void rebalance(node_ptr header);
|
517
517
|
|
518
518
|
//! @copydoc ::boost::intrusive::bstree_algorithms::rebalance_subtree
|
519
|
-
static node_ptr rebalance_subtree(
|
519
|
+
static node_ptr rebalance_subtree(node_ptr old_root);
|
520
520
|
|
521
521
|
#endif //#ifdef BOOST_INTRUSIVE_DOXYGEN_INVOKED
|
522
522
|
|
523
523
|
// bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
|
524
|
-
static void splay_up(
|
524
|
+
static void splay_up(node_ptr node, node_ptr header)
|
525
525
|
{ priv_splay_up<true>(node, header); }
|
526
526
|
|
527
527
|
// top-down splay | complexity : logarithmic | exception : strong, note A
|
528
528
|
template<class KeyType, class KeyNodePtrCompare>
|
529
|
-
static node_ptr splay_down(
|
529
|
+
static node_ptr splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
|
530
530
|
{ return priv_splay_down<true>(header, key, comp, pfound); }
|
531
531
|
|
532
532
|
private:
|
@@ -535,7 +535,7 @@ class splaytree_algorithms
|
|
535
535
|
|
536
536
|
// bottom-up splay, use data_ as parent for n | complexity : logarithmic | exception : nothrow
|
537
537
|
template<bool SimpleSplay>
|
538
|
-
static void priv_splay_up(
|
538
|
+
static void priv_splay_up(node_ptr node, node_ptr header)
|
539
539
|
{
|
540
540
|
// If (node == header) do a splay for the right most node instead
|
541
541
|
// this is to boost performance of equal_range/count on equivalent containers in the case
|
@@ -572,7 +572,7 @@ class splaytree_algorithms
|
|
572
572
|
}
|
573
573
|
|
574
574
|
template<bool SimpleSplay, class KeyType, class KeyNodePtrCompare>
|
575
|
-
static node_ptr priv_splay_down(
|
575
|
+
static node_ptr priv_splay_down(node_ptr header, const KeyType &key, KeyNodePtrCompare comp, bool *pfound = 0)
|
576
576
|
{
|
577
577
|
//Most splay tree implementations use a dummy/null node to implement.
|
578
578
|
//this function. This has some problems for a generic library like Intrusive:
|
@@ -684,7 +684,7 @@ class splaytree_algorithms
|
|
684
684
|
}
|
685
685
|
|
686
686
|
// rotate n with its parent | complexity : constant | exception : nothrow
|
687
|
-
static void rotate(
|
687
|
+
static void rotate(node_ptr n)
|
688
688
|
{
|
689
689
|
//procedure rotate_left;
|
690
690
|
// t, right(t), left(right(t)) := right(t), left(right(t)), t
|