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
|
@@ -455,7 +455,11 @@ namespace boost
|
|
|
455
455
|
std::size_t seed = 0;
|
|
456
456
|
|
|
457
457
|
hash_combine( seed, v.index() );
|
|
458
|
-
|
|
458
|
+
|
|
459
|
+
if( !v.valueless_by_exception() )
|
|
460
|
+
{
|
|
461
|
+
std::visit( [&seed](auto&& x) { hash_combine(seed, x); }, v );
|
|
462
|
+
}
|
|
459
463
|
|
|
460
464
|
return seed;
|
|
461
465
|
}
|
|
@@ -156,18 +156,15 @@ inline void no_throw_failed_impl(const char* expr, const char* what, const char*
|
|
|
156
156
|
# pragma GCC diagnostic ignored "-Wsign-conversion"
|
|
157
157
|
#endif
|
|
158
158
|
|
|
159
|
-
// specialize test output for
|
|
160
|
-
|
|
161
|
-
inline const
|
|
162
|
-
|
|
163
|
-
inline const
|
|
164
|
-
inline const
|
|
165
|
-
inline const void* test_output_impl(unsigned char* v) { return v; }
|
|
166
|
-
inline const void* test_output_impl(signed char* v) { return v; }
|
|
167
|
-
template<class T> inline const void* test_output_impl(T volatile* v) { return const_cast<T*>(v); }
|
|
159
|
+
// specialize test output for pointers to avoid printing as cstring
|
|
160
|
+
|
|
161
|
+
template<class T> inline T const& test_output_impl( T const& v ) { return v; }
|
|
162
|
+
|
|
163
|
+
template<class T> inline void const* test_output_impl( T* const& v ) { return v; }
|
|
164
|
+
template<class T> inline void const* test_output_impl( T volatile* const& v ) { return const_cast<T*>(v); }
|
|
168
165
|
|
|
169
166
|
#if !defined( BOOST_NO_CXX11_NULLPTR )
|
|
170
|
-
inline const void* test_output_impl(std::nullptr_t) { return nullptr; }
|
|
167
|
+
inline const void* test_output_impl( std::nullptr_t ) { return nullptr; }
|
|
171
168
|
#endif
|
|
172
169
|
|
|
173
170
|
// print chars as numeric
|
|
@@ -210,6 +207,16 @@ inline std::string test_output_impl( char const& v )
|
|
|
210
207
|
}
|
|
211
208
|
}
|
|
212
209
|
|
|
210
|
+
#if defined(__cpp_char8_t) && __cpp_char8_t >= 201811L
|
|
211
|
+
|
|
212
|
+
inline std::string test_output_impl( char8_t const& v )
|
|
213
|
+
{
|
|
214
|
+
// assume that char is ASCII, compatible with char8_t
|
|
215
|
+
return test_output_impl( static_cast<char>( v ) );
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
#endif
|
|
219
|
+
|
|
213
220
|
// predicates
|
|
214
221
|
|
|
215
222
|
struct lw_test_eq
|
|
@@ -299,9 +299,7 @@ namespace date_time {
|
|
|
299
299
|
inline BOOST_CXX14_CONSTEXPR
|
|
300
300
|
bool period<point_rep,duration_rep>::intersects(const period<point_rep,duration_rep>& other) const
|
|
301
301
|
{
|
|
302
|
-
return (
|
|
303
|
-
other.contains(begin_) ||
|
|
304
|
-
((other.begin_ < begin_) && (other.last_ >= begin_)));
|
|
302
|
+
return !is_null() && !other.is_null() && (begin_ < other.end()) && (other.begin_ < end());
|
|
305
303
|
}
|
|
306
304
|
|
|
307
305
|
//! Returns the period of intersection or invalid range no intersection
|
|
@@ -45,4 +45,20 @@
|
|
|
45
45
|
|
|
46
46
|
#define BOOST_DESCRIBE_INLINE_CONSTEXPR BOOST_DESCRIBE_INLINE_VARIABLE BOOST_DESCRIBE_CONSTEXPR_OR_CONST
|
|
47
47
|
|
|
48
|
+
#if __cplusplus >= 202002L || ( defined(_MSVC_LANG) && _MSVC_LANG >= 202002L )
|
|
49
|
+
|
|
50
|
+
# define BOOST_DESCRIBE_CXX20
|
|
51
|
+
|
|
52
|
+
// Clang 13.0 is needed for unevaluated lambdas
|
|
53
|
+
# if defined(__clang__) && __clang_major__ < 13
|
|
54
|
+
# undef BOOST_DESCRIBE_CXX20
|
|
55
|
+
# endif
|
|
56
|
+
|
|
57
|
+
// Apple Clang 13.1 is Clang 13.0
|
|
58
|
+
# if defined(__clang__) && defined(__apple_build_version__) && __clang_major__ == 13 && __clang_minor__ < 1
|
|
59
|
+
# undef BOOST_DESCRIBE_CXX20
|
|
60
|
+
# endif
|
|
61
|
+
|
|
62
|
+
#endif
|
|
63
|
+
|
|
48
64
|
#endif // #ifndef BOOST_DESCRIBE_DETAIL_CONFIG_HPP_INCLUDED
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
//Copyright (c) 2006-2026 Emil Dotchevski and Reverge Studios, Inc.
|
|
2
|
+
|
|
3
|
+
//Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
4
|
+
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
5
|
+
|
|
6
|
+
#ifndef BOOST_EXCEPTION_DETAIL_ENCODER_HPP_INCLUDED
|
|
7
|
+
#define BOOST_EXCEPTION_DETAIL_ENCODER_HPP_INCLUDED
|
|
8
|
+
|
|
9
|
+
#include <boost/exception/detail/type_info.hpp>
|
|
10
|
+
#include <type_traits>
|
|
11
|
+
#include <utility>
|
|
12
|
+
|
|
13
|
+
namespace
|
|
14
|
+
boost
|
|
15
|
+
{
|
|
16
|
+
template <class Tag, class T> class error_info;
|
|
17
|
+
|
|
18
|
+
namespace
|
|
19
|
+
exception_serialization
|
|
20
|
+
{
|
|
21
|
+
struct encoder_adl {};
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
namespace
|
|
25
|
+
exception_detail
|
|
26
|
+
{
|
|
27
|
+
template <class T>
|
|
28
|
+
struct first_arg;
|
|
29
|
+
|
|
30
|
+
template <class C, class R, class A1, class... A>
|
|
31
|
+
struct
|
|
32
|
+
first_arg<R(C::*)(A1, A...)>
|
|
33
|
+
{
|
|
34
|
+
using type = A1;
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template <class C, class R, class A1, class... A>
|
|
38
|
+
struct
|
|
39
|
+
first_arg<R(C::*)(A1, A...) const>
|
|
40
|
+
{
|
|
41
|
+
using type = A1;
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
class
|
|
45
|
+
encoder:
|
|
46
|
+
exception_serialization::encoder_adl
|
|
47
|
+
{
|
|
48
|
+
encoder(encoder const &) = delete;
|
|
49
|
+
encoder & operator=(encoder const &) = delete;
|
|
50
|
+
|
|
51
|
+
core::typeinfo const * type_;
|
|
52
|
+
void * e_;
|
|
53
|
+
|
|
54
|
+
bool
|
|
55
|
+
dispatch_()
|
|
56
|
+
{
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
template <class F1, class... Fn>
|
|
61
|
+
bool
|
|
62
|
+
dispatch_(F1 && f1, Fn && ... fn)
|
|
63
|
+
{
|
|
64
|
+
using encoder_type = typename std::decay<typename first_arg<decltype(&std::decay<F1>::type::operator())>::type>::type;
|
|
65
|
+
if (encoder_type * e = get<encoder_type>())
|
|
66
|
+
{
|
|
67
|
+
std::forward<F1>(f1)(*e);
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
return dispatch_(std::forward<Fn>(fn)...);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
protected:
|
|
74
|
+
|
|
75
|
+
template <class Encoder>
|
|
76
|
+
explicit
|
|
77
|
+
encoder(Encoder * e) noexcept:
|
|
78
|
+
type_(&BOOST_CORE_TYPEID(Encoder)),
|
|
79
|
+
e_(e)
|
|
80
|
+
{
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public:
|
|
84
|
+
|
|
85
|
+
template <class Encoder>
|
|
86
|
+
Encoder *
|
|
87
|
+
get() noexcept
|
|
88
|
+
{
|
|
89
|
+
return *type_ == BOOST_CORE_TYPEID(Encoder) ? static_cast<Encoder *>(e_) : nullptr;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
template <class... Fn>
|
|
93
|
+
bool
|
|
94
|
+
dispatch(Fn && ... fn)
|
|
95
|
+
{
|
|
96
|
+
return dispatch_(std::forward<Fn>(fn)...);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
|
|
100
|
+
template <class Encoder>
|
|
101
|
+
struct
|
|
102
|
+
encoder_adaptor:
|
|
103
|
+
encoder
|
|
104
|
+
{
|
|
105
|
+
explicit
|
|
106
|
+
encoder_adaptor(Encoder & e) noexcept:
|
|
107
|
+
encoder(&e)
|
|
108
|
+
{
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
#endif
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
#include <utility>
|
|
14
14
|
#include <string>
|
|
15
15
|
|
|
16
|
+
namespace boost { namespace exception_detail { class encoder; } }
|
|
17
|
+
|
|
16
18
|
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
|
|
17
19
|
#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
|
|
18
20
|
#pragma GCC system_header
|
|
@@ -38,6 +40,7 @@ boost
|
|
|
38
40
|
|
|
39
41
|
virtual std::string name_value_string() const = 0;
|
|
40
42
|
virtual error_info_base * clone() const = 0;
|
|
43
|
+
virtual void serialize_to(encoder &) const = 0;
|
|
41
44
|
|
|
42
45
|
virtual
|
|
43
46
|
~error_info_base() BOOST_NOEXCEPT_OR_NOTHROW
|
|
@@ -97,6 +100,7 @@ boost
|
|
|
97
100
|
error_info & operator=( error_info && x );
|
|
98
101
|
#endif
|
|
99
102
|
std::string name_value_string() const;
|
|
103
|
+
void serialize_to(exception_detail::encoder &) const;
|
|
100
104
|
value_type v_;
|
|
101
105
|
};
|
|
102
106
|
}
|
|
@@ -11,7 +11,17 @@
|
|
|
11
11
|
#include <boost/core/demangle.hpp>
|
|
12
12
|
#include <boost/current_function.hpp>
|
|
13
13
|
#include <string>
|
|
14
|
-
#include <
|
|
14
|
+
#include <ostream>
|
|
15
|
+
#include <cstring>
|
|
16
|
+
#include <cstddef>
|
|
17
|
+
|
|
18
|
+
#ifndef BOOST_EXCEPTION_PRETTY_FUNCTION
|
|
19
|
+
# if defined(_MSC_VER) && !defined(__clang__) && !defined(__GNUC__)
|
|
20
|
+
# define BOOST_EXCEPTION_PRETTY_FUNCTION __FUNCSIG__
|
|
21
|
+
# else
|
|
22
|
+
# define BOOST_EXCEPTION_PRETTY_FUNCTION __PRETTY_FUNCTION__
|
|
23
|
+
# endif
|
|
24
|
+
#endif
|
|
15
25
|
|
|
16
26
|
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
|
|
17
27
|
#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
|
|
@@ -73,6 +83,206 @@ boost
|
|
|
73
83
|
return a.type_!=b.type_ && strcmp(a.type_->name(), b.type_->name()) < 0;
|
|
74
84
|
}
|
|
75
85
|
};
|
|
86
|
+
|
|
87
|
+
template <int S1, int S2, int I, bool = (S1 >= S2)>
|
|
88
|
+
struct
|
|
89
|
+
cpp11_prefix
|
|
90
|
+
{
|
|
91
|
+
BOOST_FORCEINLINE static constexpr
|
|
92
|
+
bool
|
|
93
|
+
check(char const (&)[S1], char const (&)[S2]) noexcept
|
|
94
|
+
{
|
|
95
|
+
return false;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
template <int S1, int S2, int I>
|
|
100
|
+
struct
|
|
101
|
+
cpp11_prefix<S1, S2, I, true>
|
|
102
|
+
{
|
|
103
|
+
BOOST_FORCEINLINE static constexpr
|
|
104
|
+
bool
|
|
105
|
+
check(char const (&str)[S1], char const (&prefix)[S2]) noexcept
|
|
106
|
+
{
|
|
107
|
+
return str[I] == prefix[I] && cpp11_prefix<S1, S2, I - 1>::check(str, prefix);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
template <int S1, int S2>
|
|
112
|
+
struct
|
|
113
|
+
cpp11_prefix<S1, S2, 0, true>
|
|
114
|
+
{
|
|
115
|
+
BOOST_FORCEINLINE static constexpr
|
|
116
|
+
bool
|
|
117
|
+
check(char const (&str)[S1], char const (&prefix)[S2]) noexcept
|
|
118
|
+
{
|
|
119
|
+
return str[0] == prefix[0];
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
|
|
123
|
+
template <int S1, int S2>
|
|
124
|
+
BOOST_FORCEINLINE constexpr
|
|
125
|
+
int
|
|
126
|
+
check_prefix(char const (&str)[S1], char const (&prefix)[S2]) noexcept
|
|
127
|
+
{
|
|
128
|
+
return cpp11_prefix<S1, S2, S2 - 2>::check(str, prefix) ? S2 - 1 : 0;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
template <int S1, int S2, int I1, int I2, bool = (S1 >= S2)>
|
|
132
|
+
struct
|
|
133
|
+
cpp11_suffix
|
|
134
|
+
{
|
|
135
|
+
BOOST_FORCEINLINE static constexpr
|
|
136
|
+
bool
|
|
137
|
+
check(char const (&)[S1], char const (&)[S2]) noexcept
|
|
138
|
+
{
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
|
|
143
|
+
template <int S1, int S2, int I1, int I2>
|
|
144
|
+
struct
|
|
145
|
+
cpp11_suffix<S1, S2, I1, I2, true>
|
|
146
|
+
{
|
|
147
|
+
BOOST_FORCEINLINE static constexpr
|
|
148
|
+
bool
|
|
149
|
+
check(char const (&str)[S1], char const (&suffix)[S2]) noexcept
|
|
150
|
+
{
|
|
151
|
+
return str[I1] == suffix[I2] && cpp11_suffix<S1, S2, I1 - 1, I2 - 1>::check(str, suffix);
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
template <int S1, int S2, int I1>
|
|
156
|
+
struct
|
|
157
|
+
cpp11_suffix<S1, S2, I1, 0, true>
|
|
158
|
+
{
|
|
159
|
+
BOOST_FORCEINLINE static constexpr
|
|
160
|
+
bool
|
|
161
|
+
check(char const (&str)[S1], char const (&suffix)[S2]) noexcept
|
|
162
|
+
{
|
|
163
|
+
return str[I1] == suffix[0];
|
|
164
|
+
}
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
template <int S1, int S2>
|
|
168
|
+
BOOST_FORCEINLINE constexpr
|
|
169
|
+
int
|
|
170
|
+
check_suffix(char const (&str)[S1], char const (&suffix)[S2]) noexcept
|
|
171
|
+
{
|
|
172
|
+
return cpp11_suffix<S1, S2, S1 - 2, S2 - 2>::check(str, suffix) ? S1 - S2 : 0;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
namespace
|
|
178
|
+
n
|
|
179
|
+
{
|
|
180
|
+
struct
|
|
181
|
+
r
|
|
182
|
+
{
|
|
183
|
+
char const * name_not_zero_terminated_at_length;
|
|
184
|
+
std::size_t length;
|
|
185
|
+
};
|
|
186
|
+
|
|
187
|
+
#ifdef _MSC_VER
|
|
188
|
+
# define BOOST_EXCEPTION_CDECL __cdecl
|
|
189
|
+
#else
|
|
190
|
+
# define BOOST_EXCEPTION_CDECL
|
|
191
|
+
#endif
|
|
192
|
+
|
|
193
|
+
template <class T>
|
|
194
|
+
BOOST_FORCEINLINE
|
|
195
|
+
r
|
|
196
|
+
BOOST_EXCEPTION_CDECL
|
|
197
|
+
p()
|
|
198
|
+
{
|
|
199
|
+
#define BOOST_EXCEPTION_P(P) (sizeof(char[1 + exception_detail::check_prefix(BOOST_EXCEPTION_PRETTY_FUNCTION, P)]) - 1)
|
|
200
|
+
// clang style:
|
|
201
|
+
std::size_t const p01 = BOOST_EXCEPTION_P("r boost::n::p() [T = ");
|
|
202
|
+
std::size_t const p02 = BOOST_EXCEPTION_P("r __cdecl boost::n::p(void) [T = ");
|
|
203
|
+
// old clang style:
|
|
204
|
+
std::size_t const p03 = BOOST_EXCEPTION_P("boost::n::r boost::n::p() [T = ");
|
|
205
|
+
std::size_t const p04 = BOOST_EXCEPTION_P("boost::n::r __cdecl boost::n::p(void) [T = ");
|
|
206
|
+
// gcc style:
|
|
207
|
+
std::size_t const p05 = BOOST_EXCEPTION_P("boost::n::r boost::n::p() [with T = ");
|
|
208
|
+
std::size_t const p06 = BOOST_EXCEPTION_P("boost::n::r __cdecl boost::n::p() [with T = ");
|
|
209
|
+
// msvc style, struct:
|
|
210
|
+
std::size_t const p07 = BOOST_EXCEPTION_P("struct boost::n::r __cdecl boost::n::p<struct ");
|
|
211
|
+
// msvc style, class:
|
|
212
|
+
std::size_t const p08 = BOOST_EXCEPTION_P("struct boost::n::r __cdecl boost::n::p<class ");
|
|
213
|
+
// msvc style, enum:
|
|
214
|
+
std::size_t const p09 = BOOST_EXCEPTION_P("struct boost::n::r __cdecl boost::n::p<enum ");
|
|
215
|
+
// msvc style, built-in type:
|
|
216
|
+
std::size_t const p10 = BOOST_EXCEPTION_P("struct boost::n::r __cdecl boost::n::p<");
|
|
217
|
+
#undef BOOST_EXCEPTION_P
|
|
218
|
+
|
|
219
|
+
#define BOOST_EXCEPTION_S(S) (sizeof(char[1 + exception_detail::check_suffix(BOOST_EXCEPTION_PRETTY_FUNCTION, S)]) - 1)
|
|
220
|
+
// clang/gcc style:
|
|
221
|
+
std::size_t const s01 = BOOST_EXCEPTION_S("]");
|
|
222
|
+
// msvc style:
|
|
223
|
+
std::size_t const s02 = BOOST_EXCEPTION_S(">(void)");
|
|
224
|
+
#undef BOOST_EXCEPTION_S
|
|
225
|
+
|
|
226
|
+
char static_assert_unrecognized_pretty_function_format_please_file_github_issue[sizeof(
|
|
227
|
+
char[
|
|
228
|
+
(s01 && (1 == (!!p01 + !!p02 + !!p03 + !!p04 + !!p05 + !!p06)))
|
|
229
|
+
||
|
|
230
|
+
(s02 && (1 == (!!p07 + !!p08 + !!p09)))
|
|
231
|
+
||
|
|
232
|
+
(s02 && !!p10)
|
|
233
|
+
]
|
|
234
|
+
) * 2 - 1];
|
|
235
|
+
(void) static_assert_unrecognized_pretty_function_format_please_file_github_issue;
|
|
236
|
+
|
|
237
|
+
if( std::size_t const p = sizeof(char[1 + !!s01 * (p01 + p02 + p03 + p04 + p05 + p06)]) - 1 )
|
|
238
|
+
return { &BOOST_EXCEPTION_PRETTY_FUNCTION[p], s01 - p };
|
|
239
|
+
|
|
240
|
+
if( std::size_t const p = sizeof(char[1 + !!s02 * (p07 + p08 + p09)]) - 1 )
|
|
241
|
+
return { &BOOST_EXCEPTION_PRETTY_FUNCTION[p], s02 - p };
|
|
242
|
+
|
|
243
|
+
std::size_t const p = sizeof(char[1 + !!s02 * p10]) - 1;
|
|
244
|
+
return { &BOOST_EXCEPTION_PRETTY_FUNCTION[p], s02 - p };
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
#undef BOOST_EXCEPTION_CDECL
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
namespace
|
|
251
|
+
exception_detail
|
|
252
|
+
{
|
|
253
|
+
struct
|
|
254
|
+
pretty_type_name
|
|
255
|
+
{
|
|
256
|
+
char const * name_not_zero_terminated_at_length;
|
|
257
|
+
std::size_t length;
|
|
258
|
+
|
|
259
|
+
template <class CharT, class Traits>
|
|
260
|
+
friend
|
|
261
|
+
std::basic_ostream<CharT, Traits> &
|
|
262
|
+
operator<<(std::basic_ostream<CharT, Traits> & os, pretty_type_name const & x)
|
|
263
|
+
{
|
|
264
|
+
return os.write(x.name_not_zero_terminated_at_length, x.length);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
template <std::size_t S>
|
|
268
|
+
friend
|
|
269
|
+
char *
|
|
270
|
+
to_zstr(char (&zstr)[S], pretty_type_name const & x) noexcept
|
|
271
|
+
{
|
|
272
|
+
std::size_t n = x.length < S - 1 ? x.length : S - 1;
|
|
273
|
+
std::memcpy(zstr, x.name_not_zero_terminated_at_length, n);
|
|
274
|
+
zstr[n] = 0;
|
|
275
|
+
return zstr;
|
|
276
|
+
}
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
template <class T>
|
|
280
|
+
pretty_type_name
|
|
281
|
+
get_pretty_tag_type_name()
|
|
282
|
+
{
|
|
283
|
+
n::r parsed = n::p<T>();
|
|
284
|
+
return { parsed.name_not_zero_terminated_at_length, parsed.length };
|
|
285
|
+
}
|
|
76
286
|
}
|
|
77
287
|
}
|
|
78
288
|
|
|
@@ -205,6 +205,65 @@ boost
|
|
|
205
205
|
#endif
|
|
206
206
|
return w;
|
|
207
207
|
}
|
|
208
|
+
|
|
209
|
+
namespace
|
|
210
|
+
exception_detail
|
|
211
|
+
{
|
|
212
|
+
template <class Encoder>
|
|
213
|
+
void
|
|
214
|
+
serialize_diagnostic_information_to_impl_( boost::exception const * be, std::exception const * se, Encoder & e )
|
|
215
|
+
{
|
|
216
|
+
if( !be && !se )
|
|
217
|
+
return;
|
|
218
|
+
#ifndef BOOST_NO_RTTI
|
|
219
|
+
if( !be )
|
|
220
|
+
be=dynamic_cast<boost::exception const *>(se);
|
|
221
|
+
if( !se )
|
|
222
|
+
se=dynamic_cast<std::exception const *>(be);
|
|
223
|
+
#endif
|
|
224
|
+
if( be )
|
|
225
|
+
{
|
|
226
|
+
if( char const * const * f=get_error_info<throw_file>(*be) )
|
|
227
|
+
output_at(e, *f, "throw_file");
|
|
228
|
+
if( int const * l=get_error_info<throw_line>(*be) )
|
|
229
|
+
output_at(e, *l, "throw_line");
|
|
230
|
+
if( char const * const * fn=get_error_info<throw_function>(*be) )
|
|
231
|
+
output_at(e, *fn, "throw_function");
|
|
232
|
+
}
|
|
233
|
+
#ifndef BOOST_NO_RTTI
|
|
234
|
+
if( be || se )
|
|
235
|
+
output_at(e, core::demangle((be?(BOOST_EXCEPTION_DYNAMIC_TYPEID(*be)):(BOOST_EXCEPTION_DYNAMIC_TYPEID(*se))).type_->name()).c_str(), "dynamic_exception_type");
|
|
236
|
+
#endif
|
|
237
|
+
if( se )
|
|
238
|
+
if( char const * wh = se->what() )
|
|
239
|
+
output_at(e, wh, "std::exception::what");
|
|
240
|
+
if( be )
|
|
241
|
+
if( error_info_container * c = be->data_.get() )
|
|
242
|
+
{
|
|
243
|
+
encoder_adaptor<Encoder> ea(e);
|
|
244
|
+
c->serialize_to(ea);
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
template <class T, class Encoder>
|
|
250
|
+
void
|
|
251
|
+
serialize_diagnostic_information_to( T const & e, Encoder & enc )
|
|
252
|
+
{
|
|
253
|
+
exception_detail::serialize_diagnostic_information_to_impl_(exception_detail::get_boost_exception(&e),exception_detail::get_std_exception(&e),enc);
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
#ifndef BOOST_NO_EXCEPTIONS
|
|
257
|
+
template <class Encoder>
|
|
258
|
+
void
|
|
259
|
+
serialize_current_exception_diagnostic_information_to( Encoder & e )
|
|
260
|
+
{
|
|
261
|
+
boost::exception const * be=current_exception_cast<boost::exception const>();
|
|
262
|
+
std::exception const * se=current_exception_cast<std::exception const>();
|
|
263
|
+
if( be || se )
|
|
264
|
+
exception_detail::serialize_diagnostic_information_to_impl_(be,se,e);
|
|
265
|
+
}
|
|
266
|
+
#endif
|
|
208
267
|
}
|
|
209
268
|
|
|
210
269
|
#if defined(_MSC_VER) && !defined(BOOST_EXCEPTION_ENABLE_WARNINGS)
|
|
@@ -175,6 +175,7 @@ boost
|
|
|
175
175
|
{
|
|
176
176
|
class error_info_base;
|
|
177
177
|
struct type_info_;
|
|
178
|
+
class encoder;
|
|
178
179
|
|
|
179
180
|
struct
|
|
180
181
|
error_info_container
|
|
@@ -185,6 +186,7 @@ boost
|
|
|
185
186
|
virtual void add_ref() const = 0;
|
|
186
187
|
virtual bool release() const = 0;
|
|
187
188
|
virtual refcount_ptr<exception_detail::error_info_container> clone() const = 0;
|
|
189
|
+
virtual void serialize_to( encoder & ) const { }
|
|
188
190
|
|
|
189
191
|
protected:
|
|
190
192
|
|
|
@@ -227,6 +229,9 @@ boost
|
|
|
227
229
|
|
|
228
230
|
void copy_boost_exception( exception *, exception const * );
|
|
229
231
|
|
|
232
|
+
template <class Encoder>
|
|
233
|
+
void serialize_diagnostic_information_to_impl_( exception const *, std::exception const *, Encoder & );
|
|
234
|
+
|
|
230
235
|
template <class E,class Tag,class T>
|
|
231
236
|
E const & set_info( E const &, error_info<Tag,T> const & );
|
|
232
237
|
|
|
@@ -321,6 +326,7 @@ boost
|
|
|
321
326
|
friend struct exception_detail::set_info_rv<throw_line>;
|
|
322
327
|
friend struct exception_detail::set_info_rv<throw_column>;
|
|
323
328
|
friend void exception_detail::copy_boost_exception( exception *, exception const * );
|
|
329
|
+
template <class Encoder> friend void exception_detail::serialize_diagnostic_information_to_impl_( exception const *, std::exception const *, Encoder & );
|
|
324
330
|
#endif
|
|
325
331
|
mutable exception_detail::refcount_ptr<exception_detail::error_info_container> data_;
|
|
326
332
|
mutable char const * throw_function_;
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
#include <boost/exception/to_string_stub.hpp>
|
|
12
12
|
#include <boost/exception/detail/error_info_impl.hpp>
|
|
13
13
|
#include <boost/exception/detail/shared_ptr.hpp>
|
|
14
|
+
#include <boost/exception/detail/encoder.hpp>
|
|
14
15
|
#include <map>
|
|
16
|
+
#include <type_traits>
|
|
15
17
|
|
|
16
18
|
#ifndef BOOST_EXCEPTION_ENABLE_WARNINGS
|
|
17
19
|
#if defined(__GNUC__) && __GNUC__*100+__GNUC_MINOR__>301
|
|
@@ -28,6 +30,17 @@
|
|
|
28
30
|
namespace
|
|
29
31
|
boost
|
|
30
32
|
{
|
|
33
|
+
namespace
|
|
34
|
+
exception_serialization
|
|
35
|
+
{
|
|
36
|
+
// Stub
|
|
37
|
+
template <class Encoder, class T, class... Deprioritize>
|
|
38
|
+
typename std::enable_if<std::is_base_of<exception_detail::encoder, Encoder>::value>::type
|
|
39
|
+
serialize(Encoder &, T const &, char const *, Deprioritize...)
|
|
40
|
+
{
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
31
44
|
template <class Tag,class T>
|
|
32
45
|
inline
|
|
33
46
|
std::string
|
|
@@ -53,6 +66,17 @@ boost
|
|
|
53
66
|
return to_string_stub(*this);
|
|
54
67
|
}
|
|
55
68
|
|
|
69
|
+
template <class Tag,class T>
|
|
70
|
+
inline
|
|
71
|
+
void
|
|
72
|
+
error_info<Tag,T>::
|
|
73
|
+
serialize_to(exception_detail::encoder & e) const
|
|
74
|
+
{
|
|
75
|
+
char buf[256];
|
|
76
|
+
using namespace exception_serialization;
|
|
77
|
+
serialize(e, value(), to_zstr(buf, exception_detail::get_pretty_tag_type_name<Tag>()));
|
|
78
|
+
}
|
|
79
|
+
|
|
56
80
|
namespace
|
|
57
81
|
exception_detail
|
|
58
82
|
{
|
|
@@ -108,6 +132,16 @@ boost
|
|
|
108
132
|
return diagnostic_info_str_.c_str();
|
|
109
133
|
}
|
|
110
134
|
|
|
135
|
+
void
|
|
136
|
+
serialize_to( encoder & e ) const
|
|
137
|
+
{
|
|
138
|
+
for( error_info_map::const_iterator i=info_.begin(),end=info_.end(); i!=end; ++i )
|
|
139
|
+
{
|
|
140
|
+
error_info_base const & x = *i->second;
|
|
141
|
+
x.serialize_to(e);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
111
145
|
private:
|
|
112
146
|
|
|
113
147
|
friend class boost::exception;
|
|
@@ -22,7 +22,6 @@
|
|
|
22
22
|
#include <boost/intrusive/detail/avltree_node.hpp>
|
|
23
23
|
#include <boost/intrusive/bstree.hpp>
|
|
24
24
|
#include <boost/intrusive/detail/tree_node.hpp>
|
|
25
|
-
#include <boost/intrusive/detail/ebo_functor_holder.hpp>
|
|
26
25
|
#include <boost/intrusive/detail/mpl.hpp>
|
|
27
26
|
#include <boost/intrusive/pointer_traits.hpp>
|
|
28
27
|
#include <boost/intrusive/detail/get_value_traits.hpp>
|
|
@@ -585,8 +585,11 @@ struct bstbase
|
|
|
585
585
|
//Detach all inserted nodes. This will add exception safety to bstree_impl
|
|
586
586
|
//constructors inserting elements.
|
|
587
587
|
~bstbase()
|
|
588
|
+
#if defined(BOOST_INTRUSIVE_CONCEPTS_BASED_OVERLOADING)
|
|
589
|
+
requires (ValueTraits::link_mode != normal_link)
|
|
590
|
+
#endif
|
|
588
591
|
{
|
|
589
|
-
|
|
592
|
+
BOOST_IF_CONSTEXPR(is_safe_autounlink<value_traits::link_mode>::value){
|
|
590
593
|
node_algorithms::clear_and_dispose
|
|
591
594
|
( this->header_ptr()
|
|
592
595
|
, detail::node_disposer<detail::null_disposer, value_traits, AlgoType>
|
|
@@ -594,6 +597,11 @@ struct bstbase
|
|
|
594
597
|
node_algorithms::init(this->header_ptr());
|
|
595
598
|
}
|
|
596
599
|
}
|
|
600
|
+
|
|
601
|
+
#if !defined(BOOST_INTRUSIVE_DOXYGEN_INVOKED) && defined(BOOST_INTRUSIVE_CONCEPTS_BASED_OVERLOADING)
|
|
602
|
+
//Default destructor for normal links (allows conditional triviality)
|
|
603
|
+
~bstbase() requires (ValueTraits::link_mode == normal_link) = default;
|
|
604
|
+
#endif
|
|
597
605
|
};
|
|
598
606
|
|
|
599
607
|
|
|
@@ -947,7 +955,7 @@ class bstree_impl
|
|
|
947
955
|
//! <b>Throws</b>: Nothing.
|
|
948
956
|
bool empty() const BOOST_NOEXCEPT
|
|
949
957
|
{
|
|
950
|
-
|
|
958
|
+
BOOST_IF_CONSTEXPR(constant_time_size){
|
|
951
959
|
return !this->data_type::sz_traits().get_size();
|
|
952
960
|
}
|
|
953
961
|
else{
|
|
@@ -2073,7 +2081,8 @@ class bstree_impl
|
|
|
2073
2081
|
|
|
2074
2082
|
friend bool operator==(const bstree_impl &x, const bstree_impl &y)
|
|
2075
2083
|
{
|
|
2076
|
-
|
|
2084
|
+
BOOST_IF_CONSTEXPR(constant_time_size)
|
|
2085
|
+
if(x.size() != y.size()){
|
|
2077
2086
|
return false;
|
|
2078
2087
|
}
|
|
2079
2088
|
return boost::intrusive::algo_equal(x.cbegin(), x.cend(), y.cbegin(), y.cend());
|
|
@@ -56,7 +56,7 @@ struct derivation_value_traits
|
|
|
56
56
|
{ return node_ptr(&value); }
|
|
57
57
|
|
|
58
58
|
BOOST_INTRUSIVE_FORCEINLINE static const_node_ptr to_node_ptr(const_reference value) BOOST_NOEXCEPT
|
|
59
|
-
{ return
|
|
59
|
+
{ return const_node_ptr(&value); }
|
|
60
60
|
|
|
61
61
|
BOOST_INTRUSIVE_FORCEINLINE static pointer to_value_ptr(node_ptr n) BOOST_NOEXCEPT
|
|
62
62
|
{
|