passenger 6.2.1 → 6.2.2
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 +37 -15
- data/build/cxx_tests.rb +2 -0
- data/build/support/cxx_dependency_map.rb +3 -63
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Shared/ApiServerUtils.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/apache2_module/Hooks.cpp +13 -0
- data/src/apache2_module/Utils.h +14 -0
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/FileTools/FileManip.cpp +27 -3
- data/src/cxx_supportlib/InstanceDirectory.h +30 -3
- data/src/cxx_supportlib/ServerKit/Errors.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParser.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpHeaderParserState.h +1 -1
- data/src/cxx_supportlib/ServerKit/HttpRequest.h +1 -1
- data/src/cxx_supportlib/ServerKit/llerrors.h +3 -3
- data/src/cxx_supportlib/ServerKit/llversion.h +1 -1
- data/src/cxx_supportlib/{ServerKit/llhttp_api.c → vendor-copy/llhttp/api.c} +30 -23
- data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.c +1756 -1645
- data/src/cxx_supportlib/{ServerKit → vendor-copy/llhttp}/llhttp.h +35 -13
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/classification.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/formatter.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/algorithm/string/trim_all.hpp +0 -2
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/bind/mem_fn.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/circular_buffer/debug.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx03.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx14.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx17.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx20.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/assert_cxx23.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/auto_link.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/clang_version.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/compiler/visualc.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/config/detail/cxx_composite.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/workaround.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/adaptive_pool.hpp +57 -53
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +34 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/container_fwd.hpp +14 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +176 -2287
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool.hpp +13 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/adaptive_node_pool_impl.hpp +186 -70
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/aligned_allocation.hpp +149 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +35 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/bit_utilities.hpp +133 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_end.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/container_rebind.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +20 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/deque_impl.hpp +2744 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dispatch_uses_allocator.hpp +202 -104
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/dlmalloc.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +161 -85
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/is_constructible.hpp +180 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/iterators.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/math_functions.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mpl.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/mutex.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/next_capacity.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool.hpp +18 -14
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +256 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +75 -24
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +1 -56
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/placement_new.hpp +16 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pool_common_alloc.hpp +1 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/range_utils.hpp +196 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +124 -69
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/workaround.hpp +109 -7
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +168 -162
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/nest.hpp +2978 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/pmr/nest.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_all_of.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_any_of.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy.hpp +229 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_if.hpp +270 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_copy_n.hpp +308 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_count_if.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_equal.hpp +268 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill.hpp +101 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_fill_n.hpp +171 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if.hpp +110 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_if_not.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if.hpp +179 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_find_last_if_not.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_for_each.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_generate_n.hpp +162 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_partitioned.hpp +46 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted.hpp +49 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_is_sorted_until.hpp +169 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_iterator_traits.hpp +382 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_merge.hpp +428 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_mismatch.hpp +350 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_none_of.hpp +98 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition.hpp +296 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_copy.hpp +105 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_partition_point.hpp +116 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy.hpp +207 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_copy_if.hpp +223 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_remove_if.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_replace_if.hpp +90 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse.hpp +245 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_reverse_copy.hpp +229 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search.hpp +211 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_search_n.hpp +476 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_difference.hpp +300 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_intersection.hpp +287 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_symmetric_difference.hpp +306 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_set_union.hpp +294 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_stable_partition.hpp +153 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_swap_ranges.hpp +92 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/segmented_transform.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/experimental/wrapped_iterator.hpp +142 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +642 -417
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +141 -30
- data/src/cxx_supportlib/vendor-modified/boost/container/hub.hpp +2426 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +65 -57
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +247 -68
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/node_allocator.hpp +39 -33
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +156 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/global_resource.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/hub.hpp +43 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/memory_resource.hpp +5 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/monotonic_buffer_resource.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/polymorphic_allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/resource_adaptor.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/segtor.hpp +45 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/scoped_allocator.hpp +5 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/segtor.hpp +905 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +148 -35
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +59 -52
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +632 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +66 -60
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +46 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +612 -317
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator.hpp +54 -111
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_construction.hpp +100 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/uses_allocator_fwd.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +233 -116
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +17 -10
- data/src/cxx_supportlib/vendor-modified/boost/date_time/period.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/encoder.hpp +114 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/error_info_impl.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/requires_cxx11.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/detail/type_info.hpp +211 -1
- data/src/cxx_supportlib/vendor-modified/boost/exception/diagnostic_information.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/exception.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/exception/info.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/avltree.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/bstree.hpp +12 -3
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/derivation_value_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +29 -174
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/generic_hook.hpp +18 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/key_nodeptr_comp.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/workaround.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/hashtable.hpp +20 -11
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +42 -14
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +58 -22
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/unordered_set.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +8 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/config.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +15 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +23 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +11 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +10 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/{detail → lexical_cast/detail}/lcast_precision.hpp +13 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +10 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +15 -2
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +11 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/once_atomic.cpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/thread/src/pthread/thread.cpp +48 -46
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/meta_utils.hpp +23 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/move_helpers.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/nsec_clock.hpp +12 -4
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/type_traits.hpp +76 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/workaround.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/traits.hpp +11 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +58 -37
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_copy_if.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +17 -9
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_remove_if.hpp +1 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/integer_sequence.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/none_t.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_common_defs.hpp +188 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_factory_support.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_hash.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_nonmember_interface.hpp +117 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_reference_spec.hpp +108 -83
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_relops.hpp +39 -39
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_select_implementation.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_swap.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_trivially_copyable_base.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/union_optional.hpp +724 -0
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional.hpp +93 -220
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_fwd.hpp +14 -4
- data/src/cxx_supportlib/vendor-modified/boost/optional/optional_io.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/binomial_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/uniform_int_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/rational.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/static_assert.hpp +4 -6
- data/src/cxx_supportlib/vendor-modified/boost/system/api_config.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/config.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/system/detail/error_category_impl.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_deque_base.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/concurrent_queues/detail/sync_queue_base.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/thread/detail/thread.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/experimental/parallel/v2/task_region.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +30 -28
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/once_atomic.hpp +5 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/pthread_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/thread/pthread/shared_mutex.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/thread/v2/shared_mutex.hpp +26 -26
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_map.hpp +196 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_flat_set.hpp +191 -6
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_map.hpp +196 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/concurrent_node_set.hpp +192 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/concurrent_table.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +52 -16
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/ranges_support.hpp +104 -0
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/type_traits.hpp +1 -14
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/unordered_printers.hpp +10 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +121 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +118 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_map.hpp +338 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +121 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +118 -3
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_set.hpp +333 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json-forwards.h +276 -143
- data/src/cxx_supportlib/vendor-modified/jsoncpp/json.h +1262 -771
- data/src/cxx_supportlib/vendor-modified/jsoncpp/jsoncpp.cpp +1704 -1586
- data/src/nginx_module/ContentHandler.c +35 -0
- data/src/ruby_supportlib/phusion_passenger/common_library.rb +6 -6
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +25 -2
- data/src/ruby_supportlib/phusion_passenger/vendor/daemon_controller.rb +12 -1
- data/src/ruby_supportlib/phusion_passenger.rb +1 -1
- metadata +73 -8
- data/src/cxx_supportlib/vendor-modified/boost/optional/detail/optional_utility.hpp +0 -41
- /data/src/cxx_supportlib/{ServerKit/llhttp_http.c → vendor-copy/llhttp/http.c} +0 -0
|
@@ -139,13 +139,14 @@ struct intrusive_slist_type
|
|
|
139
139
|
//! for the default allocator
|
|
140
140
|
#ifdef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
141
141
|
template <class T, class Allocator = void >
|
|
142
|
+
class slist
|
|
142
143
|
#else
|
|
143
144
|
template <class T, class Allocator>
|
|
144
|
-
#endif
|
|
145
145
|
class slist
|
|
146
146
|
: protected dtl::node_alloc_holder
|
|
147
147
|
< typename real_allocator<T, Allocator>::type
|
|
148
148
|
, typename dtl::intrusive_slist_type<typename real_allocator<T, Allocator>::type>::type>
|
|
149
|
+
#endif
|
|
149
150
|
{
|
|
150
151
|
#ifndef BOOST_CONTAINER_DOXYGEN_INVOKED
|
|
151
152
|
typedef typename real_allocator<T, Allocator>::type ValueAllocator;
|
|
@@ -176,12 +177,12 @@ class slist
|
|
|
176
177
|
//////////////////////////////////////////////
|
|
177
178
|
|
|
178
179
|
typedef T value_type;
|
|
179
|
-
typedef typename
|
|
180
|
-
typedef typename
|
|
181
|
-
typedef typename
|
|
182
|
-
typedef typename
|
|
183
|
-
typedef typename
|
|
184
|
-
typedef typename
|
|
180
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::pointer pointer;
|
|
181
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::const_pointer const_pointer;
|
|
182
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::reference reference;
|
|
183
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::const_reference const_reference;
|
|
184
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::size_type size_type;
|
|
185
|
+
typedef typename boost::container::allocator_traits<ValueAllocator>::difference_type difference_type;
|
|
185
186
|
typedef ValueAllocator allocator_type;
|
|
186
187
|
typedef BOOST_CONTAINER_IMPDEF(NodeAlloc) stored_allocator_type;
|
|
187
188
|
typedef BOOST_CONTAINER_IMPDEF(iterator_impl) iterator;
|
|
@@ -298,7 +299,7 @@ class slist
|
|
|
298
299
|
//! <b>Throws</b>: If allocator_type's default constructor
|
|
299
300
|
//!
|
|
300
301
|
//! <b>Complexity</b>: Linear to the elements x contains.
|
|
301
|
-
slist(const slist& x, const allocator_type &a)
|
|
302
|
+
slist(const slist& x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
302
303
|
: AllocHolder(a)
|
|
303
304
|
{ this->insert_after(this->cbefore_begin(), x.begin(), x.end()); }
|
|
304
305
|
|
|
@@ -308,7 +309,7 @@ class slist
|
|
|
308
309
|
//! <b>Throws</b>: If allocation or value_type's copy constructor throws.
|
|
309
310
|
//!
|
|
310
311
|
//! <b>Complexity</b>: Constant if a == x.get_allocator(), linear otherwise.
|
|
311
|
-
slist(BOOST_RV_REF(slist) x, const allocator_type &a)
|
|
312
|
+
slist(BOOST_RV_REF(slist) x, const BOOST_CONTAINER_DOC1ST(allocator_type, typename dtl::type_identity<allocator_type>::type) &a)
|
|
312
313
|
: AllocHolder(a)
|
|
313
314
|
{
|
|
314
315
|
slist & sr = x;
|
|
@@ -452,7 +453,7 @@ class slist
|
|
|
452
453
|
//! <b>Throws</b>: If allocator's copy constructor throws.
|
|
453
454
|
//!
|
|
454
455
|
//! <b>Complexity</b>: Constant.
|
|
455
|
-
|
|
456
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
456
457
|
allocator_type get_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
457
458
|
{ return allocator_type(this->node_alloc()); }
|
|
458
459
|
|
|
@@ -463,7 +464,7 @@ class slist
|
|
|
463
464
|
//! <b>Complexity</b>: Constant.
|
|
464
465
|
//!
|
|
465
466
|
//! <b>Note</b>: Non-standard extension.
|
|
466
|
-
|
|
467
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
467
468
|
stored_allocator_type &get_stored_allocator() BOOST_NOEXCEPT_OR_NOTHROW
|
|
468
469
|
{ return this->node_alloc(); }
|
|
469
470
|
|
|
@@ -474,7 +475,7 @@ class slist
|
|
|
474
475
|
//! <b>Complexity</b>: Constant.
|
|
475
476
|
//!
|
|
476
477
|
//! <b>Note</b>: Non-standard extension.
|
|
477
|
-
|
|
478
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
478
479
|
const stored_allocator_type &get_stored_allocator() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
479
480
|
{ return this->node_alloc(); }
|
|
480
481
|
|
|
@@ -491,7 +492,7 @@ class slist
|
|
|
491
492
|
//! <b>Throws</b>: Nothing.
|
|
492
493
|
//!
|
|
493
494
|
//! <b>Complexity</b>: Constant.
|
|
494
|
-
|
|
495
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
495
496
|
iterator before_begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
496
497
|
{ return iterator(end()); }
|
|
497
498
|
|
|
@@ -502,7 +503,7 @@ class slist
|
|
|
502
503
|
//! <b>Throws</b>: Nothing.
|
|
503
504
|
//!
|
|
504
505
|
//! <b>Complexity</b>: Constant.
|
|
505
|
-
|
|
506
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
506
507
|
const_iterator before_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
507
508
|
{ return this->cbefore_begin(); }
|
|
508
509
|
|
|
@@ -511,7 +512,7 @@ class slist
|
|
|
511
512
|
//! <b>Throws</b>: Nothing.
|
|
512
513
|
//!
|
|
513
514
|
//! <b>Complexity</b>: Constant.
|
|
514
|
-
|
|
515
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
515
516
|
iterator begin() BOOST_NOEXCEPT_OR_NOTHROW
|
|
516
517
|
{ return iterator(this->icont().begin()); }
|
|
517
518
|
|
|
@@ -520,7 +521,7 @@ class slist
|
|
|
520
521
|
//! <b>Throws</b>: Nothing.
|
|
521
522
|
//!
|
|
522
523
|
//! <b>Complexity</b>: Constant.
|
|
523
|
-
|
|
524
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
524
525
|
const_iterator begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
525
526
|
{ return this->cbegin(); }
|
|
526
527
|
|
|
@@ -529,7 +530,7 @@ class slist
|
|
|
529
530
|
//! <b>Throws</b>: Nothing.
|
|
530
531
|
//!
|
|
531
532
|
//! <b>Complexity</b>: Constant.
|
|
532
|
-
|
|
533
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
533
534
|
iterator end() BOOST_NOEXCEPT_OR_NOTHROW
|
|
534
535
|
{ return iterator(this->icont().end()); }
|
|
535
536
|
|
|
@@ -538,7 +539,7 @@ class slist
|
|
|
538
539
|
//! <b>Throws</b>: Nothing.
|
|
539
540
|
//!
|
|
540
541
|
//! <b>Complexity</b>: Constant.
|
|
541
|
-
|
|
542
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
542
543
|
const_iterator end() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
543
544
|
{ return this->cend(); }
|
|
544
545
|
|
|
@@ -549,7 +550,7 @@ class slist
|
|
|
549
550
|
//! <b>Throws</b>: Nothing.
|
|
550
551
|
//!
|
|
551
552
|
//! <b>Complexity</b>: Constant.
|
|
552
|
-
|
|
553
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
553
554
|
const_iterator cbefore_begin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
554
555
|
{ return const_iterator(end()); }
|
|
555
556
|
|
|
@@ -558,7 +559,7 @@ class slist
|
|
|
558
559
|
//! <b>Throws</b>: Nothing.
|
|
559
560
|
//!
|
|
560
561
|
//! <b>Complexity</b>: Constant.
|
|
561
|
-
|
|
562
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
562
563
|
const_iterator cbegin() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
563
564
|
{ return const_iterator(this->non_const_icont().begin()); }
|
|
564
565
|
|
|
@@ -567,7 +568,7 @@ class slist
|
|
|
567
568
|
//! <b>Throws</b>: Nothing.
|
|
568
569
|
//!
|
|
569
570
|
//! <b>Complexity</b>: Constant.
|
|
570
|
-
|
|
571
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
571
572
|
const_iterator cend() const BOOST_NOEXCEPT_OR_NOTHROW
|
|
572
573
|
{ return const_iterator(this->non_const_icont().end()); }
|
|
573
574
|
|
|
@@ -580,7 +581,7 @@ class slist
|
|
|
580
581
|
//! <b>Complexity</b>: Linear to the number of elements before i.
|
|
581
582
|
//!
|
|
582
583
|
//! <b>Note</b>: Non-standard extension.
|
|
583
|
-
|
|
584
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
584
585
|
iterator previous(iterator p) BOOST_NOEXCEPT_OR_NOTHROW
|
|
585
586
|
{ return iterator(this->icont().previous(p.get())); }
|
|
586
587
|
|
|
@@ -593,7 +594,7 @@ class slist
|
|
|
593
594
|
//! <b>Complexity</b>: Linear to the number of elements before i.
|
|
594
595
|
//!
|
|
595
596
|
//! <b>Note</b>: Non-standard extension.
|
|
596
|
-
|
|
597
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
597
598
|
const_iterator previous(const_iterator p)
|
|
598
599
|
{ return const_iterator(this->icont().previous(p.get())); }
|
|
599
600
|
|
|
@@ -608,7 +609,7 @@ class slist
|
|
|
608
609
|
//! <b>Throws</b>: Nothing.
|
|
609
610
|
//!
|
|
610
611
|
//! <b>Complexity</b>: Constant.
|
|
611
|
-
|
|
612
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
612
613
|
bool empty() const
|
|
613
614
|
{ return !this->size(); }
|
|
614
615
|
|
|
@@ -617,7 +618,7 @@ class slist
|
|
|
617
618
|
//! <b>Throws</b>: Nothing.
|
|
618
619
|
//!
|
|
619
620
|
//! <b>Complexity</b>: Constant.
|
|
620
|
-
|
|
621
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
621
622
|
size_type size() const
|
|
622
623
|
{ return this->icont().size(); }
|
|
623
624
|
|
|
@@ -626,7 +627,7 @@ class slist
|
|
|
626
627
|
//! <b>Throws</b>: Nothing.
|
|
627
628
|
//!
|
|
628
629
|
//! <b>Complexity</b>: Constant.
|
|
629
|
-
|
|
630
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
630
631
|
size_type max_size() const
|
|
631
632
|
{ return AllocHolder::max_size(); }
|
|
632
633
|
|
|
@@ -673,7 +674,7 @@ class slist
|
|
|
673
674
|
//! <b>Throws</b>: Nothing.
|
|
674
675
|
//!
|
|
675
676
|
//! <b>Complexity</b>: Constant.
|
|
676
|
-
|
|
677
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
677
678
|
reference front()
|
|
678
679
|
{
|
|
679
680
|
BOOST_ASSERT(!this->empty());
|
|
@@ -688,7 +689,7 @@ class slist
|
|
|
688
689
|
//! <b>Throws</b>: Nothing.
|
|
689
690
|
//!
|
|
690
691
|
//! <b>Complexity</b>: Constant.
|
|
691
|
-
|
|
692
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
692
693
|
const_reference front() const
|
|
693
694
|
{
|
|
694
695
|
BOOST_ASSERT(!this->empty());
|
|
@@ -1126,10 +1127,12 @@ class slist
|
|
|
1126
1127
|
//!
|
|
1127
1128
|
//! <b>Complexity</b>: Linear time. It performs exactly size() comparisons for equality.
|
|
1128
1129
|
//!
|
|
1130
|
+
//! <b>Returns</b>: The number of removed elements.
|
|
1131
|
+
//!
|
|
1129
1132
|
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
|
1130
1133
|
//! and iterators to elements that are not removed remain valid.
|
|
1131
|
-
|
|
1132
|
-
{ this->remove_if(equal_to_value_type(value)); }
|
|
1134
|
+
size_type remove(const T& value)
|
|
1135
|
+
{ return this->remove_if(equal_to_value_type(value)); }
|
|
1133
1136
|
|
|
1134
1137
|
//! <b>Effects</b>: Removes all the elements for which a specified
|
|
1135
1138
|
//! predicate is satisfied.
|
|
@@ -1138,30 +1141,36 @@ class slist
|
|
|
1138
1141
|
//!
|
|
1139
1142
|
//! <b>Complexity</b>: Linear time. It performs exactly size() calls to the predicate.
|
|
1140
1143
|
//!
|
|
1144
|
+
//! <b>Returns</b>: The number of removed elements.
|
|
1145
|
+
//!
|
|
1141
1146
|
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
|
1142
1147
|
//! and iterators to elements that are not removed remain valid.
|
|
1143
1148
|
template <class Pred>
|
|
1144
|
-
|
|
1149
|
+
size_type remove_if(Pred pred)
|
|
1145
1150
|
{
|
|
1146
1151
|
typedef value_to_node_compare<Node, Pred> value_to_node_compare_type;
|
|
1147
|
-
this->icont().remove_and_dispose_if(value_to_node_compare_type(pred), Destroyer(this->node_alloc()));
|
|
1152
|
+
return this->icont().remove_and_dispose_if(value_to_node_compare_type(pred), Destroyer(this->node_alloc()));
|
|
1148
1153
|
}
|
|
1149
1154
|
|
|
1150
1155
|
//! <b>Effects</b>: Removes adjacent duplicate elements or adjacent
|
|
1151
1156
|
//! elements that are equal from the list.
|
|
1152
1157
|
//!
|
|
1158
|
+
//! <b>Returns</b>: The number of removed elements.
|
|
1159
|
+
//!
|
|
1153
1160
|
//! <b>Throws</b>: If comparison throws.
|
|
1154
1161
|
//!
|
|
1155
1162
|
//! <b>Complexity</b>: Linear time (size()-1 comparisons equality comparisons).
|
|
1156
1163
|
//!
|
|
1157
1164
|
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
|
1158
1165
|
//! and iterators to elements that are not removed remain valid.
|
|
1159
|
-
|
|
1160
|
-
{ this->unique(value_equal_t()); }
|
|
1166
|
+
size_type unique()
|
|
1167
|
+
{ return this->unique(value_equal_t()); }
|
|
1161
1168
|
|
|
1162
1169
|
//! <b>Effects</b>: Removes adjacent duplicate elements or adjacent
|
|
1163
1170
|
//! elements that satisfy some binary predicate from the list.
|
|
1164
1171
|
//!
|
|
1172
|
+
//! <b>Returns</b>: The number of removed elements.
|
|
1173
|
+
//!
|
|
1165
1174
|
//! <b>Throws</b>: If pred throws.
|
|
1166
1175
|
//!
|
|
1167
1176
|
//! <b>Complexity</b>: Linear time (size()-1 comparisons calls to pred()).
|
|
@@ -1169,10 +1178,10 @@ class slist
|
|
|
1169
1178
|
//! <b>Note</b>: The relative order of elements that are not removed is unchanged,
|
|
1170
1179
|
//! and iterators to elements that are not removed remain valid.
|
|
1171
1180
|
template <class Pred>
|
|
1172
|
-
|
|
1181
|
+
size_type unique(Pred pred)
|
|
1173
1182
|
{
|
|
1174
1183
|
typedef value_to_node_compare<Node, Pred> value_to_node_compare_type;
|
|
1175
|
-
this->icont().unique_and_dispose(value_to_node_compare_type(pred), Destroyer(this->node_alloc()));
|
|
1184
|
+
return this->icont().unique_and_dispose(value_to_node_compare_type(pred), Destroyer(this->node_alloc()));
|
|
1176
1185
|
}
|
|
1177
1186
|
|
|
1178
1187
|
//! <b>Requires</b>: The lists x and *this must be distinct.
|
|
@@ -1524,35 +1533,35 @@ class slist
|
|
|
1524
1533
|
//! <b>Effects</b>: Returns true if x and y are unequal
|
|
1525
1534
|
//!
|
|
1526
1535
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1527
|
-
|
|
1536
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1528
1537
|
friend bool operator!=(const slist& x, const slist& y)
|
|
1529
1538
|
{ return !(x == y); }
|
|
1530
1539
|
|
|
1531
1540
|
//! <b>Effects</b>: Returns true if x is less than y
|
|
1532
1541
|
//!
|
|
1533
1542
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1534
|
-
|
|
1543
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1535
1544
|
friend bool operator<(const slist& x, const slist& y)
|
|
1536
1545
|
{ return ::boost::container::algo_lexicographical_compare(x.begin(), x.end(), y.begin(), y.end()); }
|
|
1537
1546
|
|
|
1538
1547
|
//! <b>Effects</b>: Returns true if x is greater than y
|
|
1539
1548
|
//!
|
|
1540
1549
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1541
|
-
|
|
1550
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1542
1551
|
friend bool operator>(const slist& x, const slist& y)
|
|
1543
1552
|
{ return y < x; }
|
|
1544
1553
|
|
|
1545
1554
|
//! <b>Effects</b>: Returns true if x is equal or less than y
|
|
1546
1555
|
//!
|
|
1547
1556
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1548
|
-
|
|
1557
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1549
1558
|
friend bool operator<=(const slist& x, const slist& y)
|
|
1550
1559
|
{ return !(y < x); }
|
|
1551
1560
|
|
|
1552
1561
|
//! <b>Effects</b>: Returns true if x is equal or greater than y
|
|
1553
1562
|
//!
|
|
1554
1563
|
//! <b>Complexity</b>: Linear to the number of elements in the container.
|
|
1555
|
-
|
|
1564
|
+
BOOST_CONTAINER_NODISCARD inline
|
|
1556
1565
|
friend bool operator>=(const slist& x, const slist& y)
|
|
1557
1566
|
{ return !(x < y); }
|
|
1558
1567
|
|
|
@@ -1663,29 +1672,27 @@ class slist
|
|
|
1663
1672
|
//! <b>Complexity</b>: Linear.
|
|
1664
1673
|
template <class T, class A, class U>
|
|
1665
1674
|
inline typename slist<T, A>::size_type erase(slist<T, A>& c, const U& v)
|
|
1666
|
-
{
|
|
1667
|
-
typename slist<T, A>::size_type old_size = c.size();
|
|
1668
|
-
c.remove_if(equal_to_value<U>(v));
|
|
1669
|
-
return old_size - c.size();
|
|
1670
|
-
}
|
|
1675
|
+
{ return c.remove_if(equal_to_value<U>(v)); }
|
|
1671
1676
|
|
|
1672
1677
|
//! <b>Effects</b>: Erases all elements that satisfy the predicate pred from the container c.
|
|
1673
1678
|
//!
|
|
1674
1679
|
//! <b>Complexity</b>: Linear.
|
|
1675
1680
|
template <class T, class A, class Pred>
|
|
1676
1681
|
inline typename slist<T, A>::size_type erase_if(slist<T, A>& c, Pred pred)
|
|
1677
|
-
{
|
|
1678
|
-
typename slist<T, A>::size_type old_size = c.size();
|
|
1679
|
-
c.remove_if(pred);
|
|
1680
|
-
return old_size - c.size();
|
|
1681
|
-
}
|
|
1682
|
+
{ return c.remove_if(pred); }
|
|
1682
1683
|
|
|
1683
1684
|
#ifndef BOOST_CONTAINER_NO_CXX17_CTAD
|
|
1684
1685
|
|
|
1686
|
+
//! <b>Deduction guide</b>: allows an `slist` to be constructed from the iterator
|
|
1687
|
+
//! range <code>[first, last)</code>, deducing the element type from the value type
|
|
1688
|
+
//! of `InpIt` and using the default allocator.
|
|
1685
1689
|
template <typename InpIt>
|
|
1686
1690
|
slist(InpIt, InpIt) ->
|
|
1687
1691
|
slist<typename iterator_traits<InpIt>::value_type>;
|
|
1688
1692
|
|
|
1693
|
+
//! <b>Deduction guide</b>: allows an `slist` to be constructed from the iterator
|
|
1694
|
+
//! range <code>[first, last)</code>, deducing the element type from the value type
|
|
1695
|
+
//! of `InpIt` and taking the allocator type from the supplied allocator.
|
|
1689
1696
|
template <typename InpIt, typename Allocator>
|
|
1690
1697
|
slist(InpIt, InpIt, Allocator const&) ->
|
|
1691
1698
|
slist<typename iterator_traits<InpIt>::value_type, Allocator>;
|
|
@@ -1704,7 +1711,7 @@ template <class T, class Allocator>
|
|
|
1704
1711
|
struct has_trivial_destructor_after_move<boost::container::slist<T, Allocator> >
|
|
1705
1712
|
{
|
|
1706
1713
|
typedef typename boost::container::slist<T, Allocator>::allocator_type allocator_type;
|
|
1707
|
-
typedef typename
|
|
1714
|
+
typedef typename boost::container::allocator_traits<allocator_type>::pointer pointer;
|
|
1708
1715
|
BOOST_STATIC_CONSTEXPR bool value = ::boost::has_trivial_destructor_after_move<allocator_type>::value &&
|
|
1709
1716
|
::boost::has_trivial_destructor_after_move<pointer>::value;
|
|
1710
1717
|
};
|