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
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright (C) 2022-2023 Christian Mazakas
|
|
2
|
-
// Copyright (C) 2024-
|
|
2
|
+
// Copyright (C) 2024-2026 Joaquin M Lopez Munoz
|
|
3
|
+
// Copyright (C) 2026 Braden Ganetsky
|
|
3
4
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
4
5
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
5
6
|
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
#include <boost/unordered/concurrent_flat_map_fwd.hpp>
|
|
15
16
|
#include <boost/unordered/detail/foa/flat_map_types.hpp>
|
|
16
17
|
#include <boost/unordered/detail/foa/table.hpp>
|
|
18
|
+
#include <boost/unordered/detail/ranges_support.hpp>
|
|
17
19
|
#include <boost/unordered/detail/serialize_container.hpp>
|
|
18
20
|
#include <boost/unordered/detail/throw_exception.hpp>
|
|
19
21
|
#include <boost/unordered/detail/type_traits.hpp>
|
|
@@ -107,6 +109,19 @@ namespace boost {
|
|
|
107
109
|
{
|
|
108
110
|
}
|
|
109
111
|
|
|
112
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
113
|
+
template<
|
|
114
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
115
|
+
detail::container_compatible_range<value_type> R
|
|
116
|
+
>
|
|
117
|
+
unordered_flat_map(
|
|
118
|
+
FromRangeT&& fr, R&& rg, allocator_type const& a)
|
|
119
|
+
: unordered_flat_map(
|
|
120
|
+
fr, std::forward<R>(rg), size_type(0), hasher(), key_equal(), a)
|
|
121
|
+
{
|
|
122
|
+
}
|
|
123
|
+
#endif
|
|
124
|
+
|
|
110
125
|
explicit unordered_flat_map(allocator_type const& a)
|
|
111
126
|
: unordered_flat_map(0, a)
|
|
112
127
|
{
|
|
@@ -135,6 +150,41 @@ namespace boost {
|
|
|
135
150
|
{
|
|
136
151
|
}
|
|
137
152
|
|
|
153
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
154
|
+
template<
|
|
155
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
156
|
+
detail::container_compatible_range<value_type> R
|
|
157
|
+
>
|
|
158
|
+
unordered_flat_map(FromRangeT&&, R&& rg, size_type n = 0,
|
|
159
|
+
hasher const& h = hasher(), key_equal const& pred = key_equal(),
|
|
160
|
+
allocator_type const& a = allocator_type())
|
|
161
|
+
: unordered_flat_map(n, h, pred, a)
|
|
162
|
+
{
|
|
163
|
+
this->insert_range(std::forward<R>(rg));
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
template<
|
|
167
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
168
|
+
detail::container_compatible_range<value_type> R
|
|
169
|
+
>
|
|
170
|
+
unordered_flat_map(
|
|
171
|
+
FromRangeT&& fr, R&& rg, size_type n, allocator_type const& a)
|
|
172
|
+
: unordered_flat_map(
|
|
173
|
+
fr, std::forward<R>(rg), n, hasher(), key_equal(), a)
|
|
174
|
+
{
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
template<
|
|
178
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
179
|
+
detail::container_compatible_range<value_type> R
|
|
180
|
+
>
|
|
181
|
+
unordered_flat_map(FromRangeT&& fr, R&& rg, size_type n,
|
|
182
|
+
hasher const& h, allocator_type const& a)
|
|
183
|
+
: unordered_flat_map(fr, std::forward<R>(rg), n, h, key_equal(), a)
|
|
184
|
+
{
|
|
185
|
+
}
|
|
186
|
+
#endif
|
|
187
|
+
|
|
138
188
|
unordered_flat_map(unordered_flat_map const& other) : table_(other.table_)
|
|
139
189
|
{
|
|
140
190
|
}
|
|
@@ -182,9 +232,10 @@ namespace boost {
|
|
|
182
232
|
{
|
|
183
233
|
}
|
|
184
234
|
|
|
185
|
-
template <
|
|
235
|
+
template <typename Key2,
|
|
236
|
+
typename std::enable_if<std::is_same<Key, Key2>::value, int>::type = 0>
|
|
186
237
|
unordered_flat_map(
|
|
187
|
-
concurrent_flat_map<
|
|
238
|
+
concurrent_flat_map<Key2, T, Hash, KeyEqual, Allocator>&& other)
|
|
188
239
|
: table_(std::move(other.table_))
|
|
189
240
|
{
|
|
190
241
|
}
|
|
@@ -276,6 +327,16 @@ namespace boost {
|
|
|
276
327
|
}
|
|
277
328
|
}
|
|
278
329
|
|
|
330
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
331
|
+
template<detail::container_compatible_range<value_type> R>
|
|
332
|
+
BOOST_FORCEINLINE void insert_range(R&& rg)
|
|
333
|
+
{
|
|
334
|
+
auto first = std::ranges::begin(rg);
|
|
335
|
+
auto last = std::ranges::end(rg);
|
|
336
|
+
while (first != last) table_.emplace(*first++);
|
|
337
|
+
}
|
|
338
|
+
#endif
|
|
339
|
+
|
|
279
340
|
void insert(std::initializer_list<value_type> ilist)
|
|
280
341
|
{
|
|
281
342
|
this->insert(ilist.begin(), ilist.end());
|
|
@@ -754,6 +815,27 @@ namespace boost {
|
|
|
754
815
|
boost::unordered::detail::iter_val_t<InputIterator>, Hash, Pred,
|
|
755
816
|
Allocator>;
|
|
756
817
|
|
|
818
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
819
|
+
template <
|
|
820
|
+
boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
821
|
+
std::ranges::input_range R,
|
|
822
|
+
class Hash =
|
|
823
|
+
boost::hash<boost::unordered::detail::range_key_t<R> >,
|
|
824
|
+
class Pred =
|
|
825
|
+
std::equal_to<boost::unordered::detail::range_key_t<R> >,
|
|
826
|
+
class Allocator = std::allocator<
|
|
827
|
+
boost::unordered::detail::range_to_alloc_t<R> >,
|
|
828
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
829
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
830
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
831
|
+
unordered_flat_map(FromRangeT&&, R&&,
|
|
832
|
+
std::size_t = boost::unordered::detail::foa::default_bucket_count,
|
|
833
|
+
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
834
|
+
-> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
|
|
835
|
+
boost::unordered::detail::range_mapped_t<R>, Hash, Pred,
|
|
836
|
+
Allocator>;
|
|
837
|
+
#endif
|
|
838
|
+
|
|
757
839
|
template <class Key, class T,
|
|
758
840
|
class Hash = boost::hash<std::remove_const_t<Key> >,
|
|
759
841
|
class Pred = std::equal_to<std::remove_const_t<Key> >,
|
|
@@ -798,6 +880,42 @@ namespace boost {
|
|
|
798
880
|
std::equal_to<boost::unordered::detail::iter_key_t<InputIterator> >,
|
|
799
881
|
Allocator>;
|
|
800
882
|
|
|
883
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
884
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
885
|
+
std::ranges::input_range R,
|
|
886
|
+
class Allocator,
|
|
887
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
888
|
+
unordered_flat_map(FromRangeT&&, R&&, std::size_t, Allocator)
|
|
889
|
+
-> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
|
|
890
|
+
boost::unordered::detail::range_mapped_t<R>,
|
|
891
|
+
boost::hash<boost::unordered::detail::range_key_t<R> >,
|
|
892
|
+
std::equal_to<boost::unordered::detail::range_key_t<R> >,
|
|
893
|
+
Allocator>;
|
|
894
|
+
|
|
895
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
896
|
+
std::ranges::input_range R,
|
|
897
|
+
class Allocator,
|
|
898
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
899
|
+
unordered_flat_map(FromRangeT&&, R&&, Allocator)
|
|
900
|
+
-> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
|
|
901
|
+
boost::unordered::detail::range_mapped_t<R>,
|
|
902
|
+
boost::hash<boost::unordered::detail::range_key_t<R> >,
|
|
903
|
+
std::equal_to<boost::unordered::detail::range_key_t<R> >,
|
|
904
|
+
Allocator>;
|
|
905
|
+
|
|
906
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
907
|
+
std::ranges::input_range R,
|
|
908
|
+
class Hash, class Allocator,
|
|
909
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
910
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
911
|
+
unordered_flat_map(
|
|
912
|
+
FromRangeT&&, R&&, std::size_t, Hash, Allocator)
|
|
913
|
+
-> unordered_flat_map<boost::unordered::detail::range_key_t<R>,
|
|
914
|
+
boost::unordered::detail::range_mapped_t<R>, Hash,
|
|
915
|
+
std::equal_to<boost::unordered::detail::range_key_t<R> >,
|
|
916
|
+
Allocator>;
|
|
917
|
+
#endif
|
|
918
|
+
|
|
801
919
|
template <class Key, class T, class Allocator,
|
|
802
920
|
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
803
921
|
unordered_flat_map(std::initializer_list<std::pair<Key, T> >, std::size_t,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// Copyright (C) 2022-2023 Christian Mazakas
|
|
2
|
-
// Copyright (C) 2024-
|
|
2
|
+
// Copyright (C) 2024-2026 Joaquin M Lopez Munoz
|
|
3
|
+
// Copyright (C) 2026 Braden Ganetsky
|
|
3
4
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
4
5
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
5
6
|
|
|
@@ -14,6 +15,7 @@
|
|
|
14
15
|
#include <boost/unordered/concurrent_flat_set_fwd.hpp>
|
|
15
16
|
#include <boost/unordered/detail/foa/flat_set_types.hpp>
|
|
16
17
|
#include <boost/unordered/detail/foa/table.hpp>
|
|
18
|
+
#include <boost/unordered/detail/ranges_support.hpp>
|
|
17
19
|
#include <boost/unordered/detail/serialize_container.hpp>
|
|
18
20
|
#include <boost/unordered/detail/type_traits.hpp>
|
|
19
21
|
#include <boost/unordered/unordered_flat_set_fwd.hpp>
|
|
@@ -103,6 +105,19 @@ namespace boost {
|
|
|
103
105
|
{
|
|
104
106
|
}
|
|
105
107
|
|
|
108
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
109
|
+
template<
|
|
110
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
111
|
+
detail::container_compatible_range<value_type> R
|
|
112
|
+
>
|
|
113
|
+
unordered_flat_set(
|
|
114
|
+
FromRangeT&& fr, R&& rg, allocator_type const& a)
|
|
115
|
+
: unordered_flat_set(
|
|
116
|
+
fr, std::forward<R>(rg), size_type(0), hasher(), key_equal(), a)
|
|
117
|
+
{
|
|
118
|
+
}
|
|
119
|
+
#endif
|
|
120
|
+
|
|
106
121
|
explicit unordered_flat_set(allocator_type const& a)
|
|
107
122
|
: unordered_flat_set(0, a)
|
|
108
123
|
{
|
|
@@ -131,6 +146,41 @@ namespace boost {
|
|
|
131
146
|
{
|
|
132
147
|
}
|
|
133
148
|
|
|
149
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
150
|
+
template<
|
|
151
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
152
|
+
detail::container_compatible_range<value_type> R
|
|
153
|
+
>
|
|
154
|
+
unordered_flat_set(FromRangeT&&, R&& rg, size_type n = 0,
|
|
155
|
+
hasher const& h = hasher(), key_equal const& pred = key_equal(),
|
|
156
|
+
allocator_type const& a = allocator_type())
|
|
157
|
+
: unordered_flat_set(n, h, pred, a)
|
|
158
|
+
{
|
|
159
|
+
this->insert_range(std::forward<R>(rg));
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
template<
|
|
163
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
164
|
+
detail::container_compatible_range<value_type> R
|
|
165
|
+
>
|
|
166
|
+
unordered_flat_set(
|
|
167
|
+
FromRangeT&& fr, R&& rg, size_type n, allocator_type const& a)
|
|
168
|
+
: unordered_flat_set(
|
|
169
|
+
fr, std::forward<R>(rg), n, hasher(), key_equal(), a)
|
|
170
|
+
{
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
template<
|
|
174
|
+
detail::convertible_to_from_range_t FromRangeT,
|
|
175
|
+
detail::container_compatible_range<value_type> R
|
|
176
|
+
>
|
|
177
|
+
unordered_flat_set(FromRangeT&& fr, R&& rg, size_type n,
|
|
178
|
+
hasher const& h, allocator_type const& a)
|
|
179
|
+
: unordered_flat_set(fr, std::forward<R>(rg), n, h, key_equal(), a)
|
|
180
|
+
{
|
|
181
|
+
}
|
|
182
|
+
#endif
|
|
183
|
+
|
|
134
184
|
unordered_flat_set(unordered_flat_set const& other) : table_(other.table_)
|
|
135
185
|
{
|
|
136
186
|
}
|
|
@@ -178,9 +228,10 @@ namespace boost {
|
|
|
178
228
|
{
|
|
179
229
|
}
|
|
180
230
|
|
|
181
|
-
template <
|
|
231
|
+
template <typename Key2,
|
|
232
|
+
typename std::enable_if<std::is_same<Key, Key2>::value, int>::type = 0>
|
|
182
233
|
unordered_flat_set(
|
|
183
|
-
concurrent_flat_set<
|
|
234
|
+
concurrent_flat_set<Key2, Hash, KeyEqual, Allocator>&& other)
|
|
184
235
|
: table_(std::move(other.table_))
|
|
185
236
|
{
|
|
186
237
|
}
|
|
@@ -287,6 +338,16 @@ namespace boost {
|
|
|
287
338
|
}
|
|
288
339
|
}
|
|
289
340
|
|
|
341
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
342
|
+
template<detail::container_compatible_range<value_type> R>
|
|
343
|
+
void insert_range(R&& rg)
|
|
344
|
+
{
|
|
345
|
+
auto first = std::ranges::begin(rg);
|
|
346
|
+
auto last = std::ranges::end(rg);
|
|
347
|
+
while (first != last) table_.emplace(*first++);
|
|
348
|
+
}
|
|
349
|
+
#endif
|
|
350
|
+
|
|
290
351
|
void insert(std::initializer_list<value_type> ilist)
|
|
291
352
|
{
|
|
292
353
|
this->insert(ilist.begin(), ilist.end());
|
|
@@ -572,6 +633,25 @@ namespace boost {
|
|
|
572
633
|
typename std::iterator_traits<InputIterator>::value_type, Hash, Pred,
|
|
573
634
|
Allocator>;
|
|
574
635
|
|
|
636
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
637
|
+
template <
|
|
638
|
+
boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
639
|
+
std::ranges::input_range R,
|
|
640
|
+
class Hash =
|
|
641
|
+
boost::hash<std::ranges::range_value_t<R> >,
|
|
642
|
+
class Pred =
|
|
643
|
+
std::equal_to<std::ranges::range_value_t<R> >,
|
|
644
|
+
class Allocator = std::allocator<std::ranges::range_value_t<R> >,
|
|
645
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
646
|
+
class = std::enable_if_t<detail::is_pred_v<Pred> >,
|
|
647
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
648
|
+
unordered_flat_set(FromRangeT&&, R&&,
|
|
649
|
+
std::size_t = boost::unordered::detail::foa::default_bucket_count,
|
|
650
|
+
Hash = Hash(), Pred = Pred(), Allocator = Allocator())
|
|
651
|
+
-> unordered_flat_set<std::ranges::range_value_t<R>,
|
|
652
|
+
Hash, Pred, Allocator>;
|
|
653
|
+
#endif
|
|
654
|
+
|
|
575
655
|
template <class T, class Hash = boost::hash<T>,
|
|
576
656
|
class Pred = std::equal_to<T>, class Allocator = std::allocator<T>,
|
|
577
657
|
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
@@ -603,6 +683,29 @@ namespace boost {
|
|
|
603
683
|
std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
|
|
604
684
|
Allocator>;
|
|
605
685
|
|
|
686
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
687
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
688
|
+
std::ranges::input_range R,
|
|
689
|
+
class Allocator,
|
|
690
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
691
|
+
unordered_flat_set(FromRangeT&&, R&&, std::size_t, Allocator)
|
|
692
|
+
-> unordered_flat_set<std::ranges::range_value_t<R>,
|
|
693
|
+
boost::hash<std::ranges::range_value_t<R> >,
|
|
694
|
+
std::equal_to<std::ranges::range_value_t<R> >,
|
|
695
|
+
Allocator>;
|
|
696
|
+
|
|
697
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
698
|
+
std::ranges::input_range R,
|
|
699
|
+
class Hash, class Allocator,
|
|
700
|
+
class = std::enable_if_t<detail::is_hash_v<Hash> >,
|
|
701
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
702
|
+
unordered_flat_set(
|
|
703
|
+
FromRangeT&&, R&&, std::size_t, Hash, Allocator)
|
|
704
|
+
-> unordered_flat_set<std::ranges::range_value_t<R>,
|
|
705
|
+
Hash, std::equal_to<std::ranges::range_value_t<R> >,
|
|
706
|
+
Allocator>;
|
|
707
|
+
#endif
|
|
708
|
+
|
|
606
709
|
template <class T, class Allocator,
|
|
607
710
|
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
608
711
|
unordered_flat_set(std::initializer_list<T>, std::size_t, Allocator)
|
|
@@ -624,6 +727,18 @@ namespace boost {
|
|
|
624
727
|
std::equal_to<typename std::iterator_traits<InputIterator>::value_type>,
|
|
625
728
|
Allocator>;
|
|
626
729
|
|
|
730
|
+
#if !defined(BOOST_UNORDERED_NO_RANGES)
|
|
731
|
+
template <boost::unordered::detail::convertible_to_from_range_t FromRangeT,
|
|
732
|
+
std::ranges::input_range R,
|
|
733
|
+
class Allocator,
|
|
734
|
+
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
735
|
+
unordered_flat_set(FromRangeT&&, R&&, Allocator)
|
|
736
|
+
-> unordered_flat_set<std::ranges::range_value_t<R>,
|
|
737
|
+
boost::hash<std::ranges::range_value_t<R> >,
|
|
738
|
+
std::equal_to<std::ranges::range_value_t<R> >,
|
|
739
|
+
Allocator>;
|
|
740
|
+
#endif
|
|
741
|
+
|
|
627
742
|
template <class T, class Allocator,
|
|
628
743
|
class = std::enable_if_t<detail::is_allocator_v<Allocator> > >
|
|
629
744
|
unordered_flat_set(std::initializer_list<T>, Allocator)
|