passenger 6.1.0 → 6.1.1
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 +32 -2
- data/Rakefile +6 -13
- data/bin/passenger-install-apache2-module +15 -19
- data/bin/passenger-install-nginx-module +42 -44
- data/bin/passenger-status +9 -10
- data/build/common_library.rb +4 -4
- data/build/support/vendor/cxxcodebuilder/lib/cxxcodebuilder/builder.rb +1 -1
- data/build/test_basics.rb +4 -3
- data/dev/copy_boost_headers +54 -40
- data/dev/ruby_server.rb +1 -1
- data/src/agent/Core/Config.h +1 -1
- data/src/agent/Core/Controller/Config.h +1 -1
- data/src/agent/Watchdog/Config.h +1 -1
- data/src/cxx_supportlib/Constants.h +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert/source_location.hpp +8 -1
- data/src/cxx_supportlib/vendor-modified/boost/assert.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic.hpp +94 -110
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/atomic_ref.hpp +14 -14
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/addressof.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_flag_impl.hpp +52 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_impl.hpp +641 -285
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/atomic_ref_impl.hpp +593 -260
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_cast.hpp +37 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/bitwise_fp_cast.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/cas_based_exchange.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/chrono.hpp +93 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/classify.hpp +16 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/config.hpp +25 -34
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch32.hpp +204 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_aarch64.hpp +251 -122
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_alpha.hpp +56 -56
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_arm.hpp +129 -129
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_ppc.hpp +253 -125
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_sparc.hpp +25 -25
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_gcc_x86.hpp +193 -126
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_arm.hpp +57 -57
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_arch_ops_msvc_x86.hpp +96 -97
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_operations_emulated.hpp +24 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_cas_based.hpp +10 -10
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_atomic.hpp +27 -24
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_gcc_sync.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/core_ops_linux_arm.hpp +17 -17
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extending_cas_based_arithmetic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_emulated.hpp +12 -12
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_fp_ops_generic.hpp +21 -21
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_emulated.hpp +30 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch32.hpp +170 -98
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_aarch64.hpp +209 -119
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_arm.hpp +95 -95
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_ppc.hpp +148 -76
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_gcc_x86.hpp +293 -123
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_generic.hpp +87 -71
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/extra_ops_msvc_x86.hpp +88 -88
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch32.hpp +4 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_aarch64.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_alpha.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_arm.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_ppc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_sparc.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_gcc_x86.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_arm.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_arch_ops_msvc_x86.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_operations_emulated.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_atomic.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_gcc_sync.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fence_ops_linux_arm.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_emulated.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/fp_ops_generic.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/futex.hpp +110 -49
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/gcc_atomic_memory_order_utils.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/has_posix_clock_traits.hpp +51 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/int_sizes.hpp +26 -32
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/integral_conversions.hpp +15 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/interlocked.hpp +69 -30
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/intptr.hpp +8 -8
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/lock_pool.hpp +51 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/memory_order_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/once_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_arm_common.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/ops_gcc_ppc_common.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/platform.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/storage_traits.hpp +31 -31
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/alignment_of.hpp +2 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/has_unique_object_representations.hpp +2 -5
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_floating_point.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_iec559.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_integral.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_copyable.hpp +20 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_trivially_default_constructible.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_signed.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/make_unsigned.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_darwin_ulock.hpp +90 -16
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_dragonfly_umtx.hpp +80 -11
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_emulated.hpp +160 -15
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_freebsd_umtx.hpp +327 -38
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_futex.hpp +276 -33
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_ops_generic.hpp +260 -20
- data/src/cxx_supportlib/vendor-modified/boost/atomic/fences.hpp +4 -3
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic.hpp +14 -18
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_flag.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/atomic/ipc_atomic_ref.hpp +13 -13
- data/src/cxx_supportlib/vendor-modified/boost/atomic/posix_clock_traits_fwd.hpp +59 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/thread_pause.hpp +102 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic/wait_result.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/atomic.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/config/stdlib/libcpp.hpp +5 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/allocator_traits.hpp +108 -41
- data/src/cxx_supportlib/vendor-modified/boost/container/deque.hpp +1235 -1009
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/advanced_insert_int.hpp +3 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/algorithm.hpp +56 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_helpers.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/alloc_lib.h +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/compare_functors.hpp +23 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/config_begin.hpp +0 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/copy_move_algo.hpp +88 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/flat_tree.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/node_pool_impl.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/operator_new_helpers.hpp +68 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/pair.hpp +72 -13
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/std_fwd.hpp +13 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/detail/tree.hpp +8 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/devector.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_map.hpp +37 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/flat_set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/list.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/map.hpp +72 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/new_allocator.hpp +3 -10
- data/src/cxx_supportlib/vendor-modified/boost/container/options.hpp +54 -23
- data/src/cxx_supportlib/vendor-modified/boost/container/pmr/devector.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/container/set.hpp +19 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/slist.hpp +32 -5
- data/src/cxx_supportlib/vendor-modified/boost/container/small_vector.hpp +27 -2
- data/src/cxx_supportlib/vendor-modified/boost/container/stable_vector.hpp +22 -0
- data/src/cxx_supportlib/vendor-modified/boost/container/static_vector.hpp +37 -17
- data/src/cxx_supportlib/vendor-modified/boost/container/string.hpp +23 -1
- data/src/cxx_supportlib/vendor-modified/boost/container/vector.hpp +41 -20
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash.hpp +5 -8
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_fwd.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/container_hash/hash_is_avalanching.hpp +57 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/bit.hpp +29 -29
- data/src/cxx_supportlib/vendor-modified/boost/core/cmath.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/core/data.hpp +15 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/default_allocator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/demangle.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/assert.hpp +18 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/sp_thread_sleep.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/static_assert.hpp +42 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/detail/string_view.hpp +16 -10
- data/src/cxx_supportlib/vendor-modified/boost/core/lightweight_test.hpp +35 -27
- data/src/cxx_supportlib/vendor-modified/boost/core/scoped_enum.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/core/size.hpp +14 -0
- data/src/cxx_supportlib/vendor-modified/boost/core/span.hpp +20 -9
- data/src/cxx_supportlib/vendor-modified/boost/cregex.hpp +0 -5
- data/src/cxx_supportlib/vendor-modified/boost/describe/detail/config.hpp +8 -0
- data/src/cxx_supportlib/vendor-modified/boost/describe/modifiers.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/foreach.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/detail/ebo_functor_holder.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/list.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/pointer_rebind.hpp +9 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/rbtree_algorithms.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/intrusive/slist.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/iterator/advance.hpp +43 -64
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_def.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/config_undef.hpp +1 -5
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/eval_if_default.hpp +44 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/facade_iterator_category.hpp +103 -117
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/conjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/disjunction.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/negation.hpp +53 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/type_traits/type_identity.hpp +54 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/distance.hpp +32 -38
- data/src/cxx_supportlib/vendor-modified/boost/iterator/enable_if_convertible.hpp +84 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/interoperable.hpp +22 -34
- data/src/cxx_supportlib/vendor-modified/boost/iterator/is_iterator.hpp +16 -16
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_adaptor.hpp +162 -309
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_categories.hpp +52 -161
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_concepts.hpp +3 -11
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_facade.hpp +804 -977
- data/src/cxx_supportlib/vendor-modified/boost/iterator/iterator_traits.hpp +24 -17
- data/src/cxx_supportlib/vendor-modified/boost/iterator/min_category.hpp +83 -0
- data/src/cxx_supportlib/vendor-modified/boost/iterator/minimum_category.hpp +11 -73
- data/src/cxx_supportlib/vendor-modified/boost/iterator/reverse_iterator.hpp +56 -57
- data/src/cxx_supportlib/vendor-modified/boost/iterator/transform_iterator.hpp +123 -156
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/bad_lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/buffer_view.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical.hpp +36 -33
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp +43 -50
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_numeric.hpp +23 -27
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/inf_nan.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/is_character.hpp +10 -11
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_char_constants.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp +6 -7
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/type_traits.hpp +81 -0
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/widest_char.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/try_lexical_convert.hpp +8 -9
- data/src/cxx_supportlib/vendor-modified/boost/lexical_cast.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/wide_posix_api.cpp +1 -12
- data/src/cxx_supportlib/vendor-modified/boost/memory_order.hpp +8 -26
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/iterator_to_raw_pointer.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/launder.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/std_ns_begin.hpp +6 -0
- data/src/cxx_supportlib/vendor-modified/boost/move/detail/unique_ptr_meta_utils.hpp +2 -2
- data/src/cxx_supportlib/vendor-modified/boost/mp11/algorithm.hpp +11 -44
- data/src/cxx_supportlib/vendor-modified/boost/mp11/detail/mp_map_find.hpp +34 -0
- data/src/cxx_supportlib/vendor-modified/boost/mp11/set.hpp +33 -1
- data/src/cxx_supportlib/vendor-modified/boost/mp11/version.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/and.hpp +4 -8
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/na_assert.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/aux_/ptr_to_ref.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitand.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/bitor.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/mpl/or.hpp +2 -6
- data/src/cxx_supportlib/vendor-modified/boost/pool/pool.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/pool/simple_segregated_storage.hpp +0 -13
- data/src/cxx_supportlib/vendor-modified/boost/preprocessor/tuple/limits/to_seq_256.hpp +190 -190
- data/src/cxx_supportlib/vendor-modified/boost/random/beta_distribution.hpp +12 -2
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/config.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/size.hpp +41 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/detail/xoshiro_base.hpp +472 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/discrete_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/gamma_distribution.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/random/generalized_inverse_gaussian_distribution.hpp +339 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/hyperexponential_distribution.hpp +12 -14
- data/src/cxx_supportlib/vendor-modified/boost/random/inverse_gaussian_distribution.hpp +226 -0
- data/src/cxx_supportlib/vendor-modified/boost/random/mersenne_twister.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/mixmax.hpp +63 -63
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_constant_distribution.hpp +7 -10
- data/src/cxx_supportlib/vendor-modified/boost/random/piecewise_linear_distribution.hpp +8 -11
- data/src/cxx_supportlib/vendor-modified/boost/random/seed_seq.hpp +1 -3
- data/src/cxx_supportlib/vendor-modified/boost/random/splitmix64.hpp +1 -4
- data/src/cxx_supportlib/vendor-modified/boost/random/xoshiro.hpp +488 -0
- data/src/cxx_supportlib/vendor-modified/boost/random.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/concepts.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/has_member_size.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/detail/msvc_has_iterator_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/has_range_iterator.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/range/iterator_range_core.hpp +4 -1
- data/src/cxx_supportlib/vendor-modified/boost/range/size_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/concepts.hpp +35 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/config.hpp +18 -101
- data/src/cxx_supportlib/vendor-modified/boost/regex/pattern_except.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/object_cache.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/unicode_iterator.hpp +0 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/regex_traits.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/user.hpp +4 -10
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex.hpp +63 -17
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_creator.hpp +71 -16
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/basic_regex_parser.hpp +22 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/c_regex_traits.hpp +11 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/char_regex_traits.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cpp_regex_traits.hpp +11 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/cregex.hpp +2 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/error_type.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/icu.hpp +40 -38
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_category.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/iterator_traits.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_flags.hpp +39 -37
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/match_results.hpp +46 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/mem_block_cache.hpp +4 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/object_cache.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/pattern_except.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher.hpp +57 -8
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_common.hpp +21 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/perl_matcher_non_recursive.hpp +18 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regbase.hpp +4 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex.hpp +6 -6
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_format.hpp +23 -18
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_fwd.hpp +9 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_grep.hpp +9 -5
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_iterator.hpp +11 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_match.hpp +10 -7
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_merge.hpp +4 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_raw_buffer.hpp +3 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_replace.hpp +6 -2
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_search.hpp +12 -9
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_split.hpp +6 -3
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_token_iterator.hpp +16 -11
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_traits_defaults.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/regex_workaround.hpp +2 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/states.hpp +7 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/sub_match.hpp +54 -49
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/syntax_type.hpp +64 -62
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_iterator.hpp +16 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/u32regex_token_iterator.hpp +12 -0
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/unicode_iterator.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex/v5/w32_regex_traits.hpp +3 -1
- data/src/cxx_supportlib/vendor-modified/boost/regex.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/regex_fwd.hpp +0 -4
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count.hpp +1 -43
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/deprecated_macros.hpp +7 -7
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/shared_count.hpp +2 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base.hpp +1 -64
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_nt.hpp +3 -3
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -77
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_cxx20_constexpr.hpp +37 -0
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock.hpp +5 -28
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/intrusive_ptr.hpp +41 -40
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_array.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/scoped_ptr.hpp +0 -18
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/shared_ptr.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/thread/future.hpp +1 -1
- data/src/cxx_supportlib/vendor-modified/boost/tuple/detail/tuple_basic.hpp +1 -0
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/integral_constant.hpp +8 -6
- data/src/cxx_supportlib/vendor-modified/boost/type_traits/is_complete.hpp +31 -10
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/fca.hpp +34 -8
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/core.hpp +6 -4
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/foa/table.hpp +9 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/detail/implementation.hpp +5 -5
- data/src/cxx_supportlib/vendor-modified/boost/unordered/{unordered_printers.hpp → detail/unordered_printers.hpp} +34 -36
- data/src/cxx_supportlib/vendor-modified/boost/unordered/hash_traits.hpp +6 -49
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_flat_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_map.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/unordered/unordered_node_set.hpp +6 -1
- data/src/cxx_supportlib/vendor-modified/boost/version.hpp +2 -2
- data/src/nginx_module/ContentHandler.c +2 -0
- data/src/ruby_supportlib/phusion_passenger/config/download_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/download_nginx_engine_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_agent_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/install_standalone_runtime_command.rb +3 -5
- data/src/ruby_supportlib/phusion_passenger/config/installation_utils.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/config/nginx_engine_compiler.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/loader_shared_helpers.rb +5 -3
- data/src/ruby_supportlib/phusion_passenger/platform_info/apache.rb +2 -2
- data/src/ruby_supportlib/phusion_passenger/platform_info/compiler.rb +6 -13
- data/src/ruby_supportlib/phusion_passenger/platform_info/cxx_portability.rb +29 -30
- data/src/ruby_supportlib/phusion_passenger/request_handler/thread_handler.rb +2 -3
- data/src/ruby_supportlib/phusion_passenger/standalone/config_utils.rb +2 -0
- data/src/ruby_supportlib/phusion_passenger/standalone/start_command/builtin_engine.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/json.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/utils/terminal_choice_menu.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger/vendor/crash_watch/gdb_controller.rb +1 -1
- data/src/ruby_supportlib/phusion_passenger.rb +8 -8
- metadata +26 -99
- data/src/cxx_supportlib/vendor-modified/boost/align/aligned_alloc.hpp +0 -47
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_posix.hpp +0 -41
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/aligned_alloc_sunos.hpp +0 -34
- data/src/cxx_supportlib/vendor-modified/boost/align/detail/is_alignment.hpp +0 -28
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/pause.hpp +0 -68
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/conditional.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/integral_constant.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_enum.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_function.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/is_nothrow_default_constructible.hpp +0 -46
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/type_traits/remove_cv.hpp +0 -42
- data/src/cxx_supportlib/vendor-modified/boost/atomic/detail/wait_on_address.hpp +0 -64
- data/src/cxx_supportlib/vendor-modified/boost/cerrno.hpp +0 -15
- data/src/cxx_supportlib/vendor-modified/boost/detail/indirect_traits.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/detail/select_type.hpp +0 -36
- data/src/cxx_supportlib/vendor-modified/boost/iterator/detail/enable_if.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/internals.hpp +0 -35
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex.cpp +0 -120
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/regex_debug.cpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/libs/regex/src/static_mutex.cpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/libs/system/src/error_code.cpp +0 -31
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/borland.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/regex/config/cwchar.hpp +0 -207
- data/src/cxx_supportlib/vendor-modified/boost/regex/pending/static_mutex.hpp +0 -182
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex.hpp +0 -797
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_creator.hpp +0 -1598
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/basic_regex_parser.hpp +0 -3174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/c_regex_traits.hpp +0 -511
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/char_regex_traits.hpp +0 -81
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cpp_regex_traits.hpp +0 -1237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/cregex.hpp +0 -213
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/error_type.hpp +0 -59
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/icu.hpp +0 -1516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/indexed_bit_flag.hpp +0 -54
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_category.hpp +0 -91
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/iterator_traits.hpp +0 -135
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_flags.hpp +0 -161
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/match_results.hpp +0 -716
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/mem_block_cache.hpp +0 -183
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/object_cache.hpp +0 -171
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/pattern_except.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher.hpp +0 -645
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_common.hpp +0 -1030
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_non_recursive.hpp +0 -1947
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/perl_matcher_recursive.hpp +0 -1131
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/primary_transform.hpp +0 -146
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/protected_call.hpp +0 -83
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regbase.hpp +0 -180
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex.hpp +0 -166
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_format.hpp +0 -1158
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_fwd.hpp +0 -73
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_grep.hpp +0 -155
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_iterator.hpp +0 -195
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_match.hpp +0 -382
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_merge.hpp +0 -93
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_raw_buffer.hpp +0 -241
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_replace.hpp +0 -99
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_search.hpp +0 -217
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_split.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_token_iterator.hpp +0 -327
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits.hpp +0 -189
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_traits_defaults.hpp +0 -997
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/regex_workaround.hpp +0 -237
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/states.hpp +0 -321
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/sub_match.hpp +0 -516
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/syntax_type.hpp +0 -105
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_iterator.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/u32regex_token_iterator.hpp +0 -360
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/unicode_iterator.hpp +0 -871
- data/src/cxx_supportlib/vendor-modified/boost/regex/v4/w32_regex_traits.hpp +0 -1229
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -30
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_gcc_arm.hpp +0 -128
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_nt.hpp +0 -96
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_pt.hpp +0 -86
- data/src/cxx_supportlib/vendor-modified/boost/smart_ptr/detail/spinlock_sync.hpp +0 -94
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/converter_lexical_streams.hpp
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -32,13 +32,10 @@
|
|
|
32
32
|
#include <string>
|
|
33
33
|
#include <cstring>
|
|
34
34
|
#include <cstdio>
|
|
35
|
+
#include <type_traits>
|
|
35
36
|
#include <boost/limits.hpp>
|
|
36
|
-
#include <boost/type_traits/conditional.hpp>
|
|
37
|
-
#include <boost/type_traits/is_enum.hpp>
|
|
38
|
-
#include <boost/type_traits/is_signed.hpp>
|
|
39
|
-
#include <boost/type_traits/is_unsigned.hpp>
|
|
40
|
-
#include <boost/type_traits/is_pointer.hpp>
|
|
41
37
|
#include <boost/detail/lcast_precision.hpp>
|
|
38
|
+
#include <boost/lexical_cast/detail/type_traits.hpp>
|
|
42
39
|
#include <boost/config/workaround.hpp>
|
|
43
40
|
#include <boost/core/snprintf.hpp>
|
|
44
41
|
|
|
@@ -71,13 +68,7 @@
|
|
|
71
68
|
|
|
72
69
|
#include <array>
|
|
73
70
|
|
|
74
|
-
#include <boost/type_traits/make_unsigned.hpp>
|
|
75
|
-
#include <boost/type_traits/is_integral.hpp>
|
|
76
|
-
#include <boost/type_traits/is_float.hpp>
|
|
77
|
-
#include <boost/type_traits/is_const.hpp>
|
|
78
|
-
#include <boost/type_traits/is_reference.hpp>
|
|
79
71
|
#include <boost/container/container_fwd.hpp>
|
|
80
|
-
#include <boost/core/enable_if.hpp>
|
|
81
72
|
#ifndef BOOST_NO_CWCHAR
|
|
82
73
|
# include <cwchar>
|
|
83
74
|
#endif
|
|
@@ -97,8 +88,8 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
97
88
|
|
|
98
89
|
template <typename T>
|
|
99
90
|
struct exact {
|
|
100
|
-
static_assert(!
|
|
101
|
-
static_assert(!
|
|
91
|
+
static_assert(!std::is_const<T>::value, "");
|
|
92
|
+
static_assert(!std::is_reference<T>::value, "");
|
|
102
93
|
|
|
103
94
|
const T& payload;
|
|
104
95
|
};
|
|
@@ -185,7 +176,7 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
185
176
|
template <class T>
|
|
186
177
|
inline bool shl_signed(const T n) {
|
|
187
178
|
CharT* tmp_finish = buffer + CharacterBufferSize;
|
|
188
|
-
typedef typename boost::make_unsigned<T>::type utype;
|
|
179
|
+
typedef typename boost::detail::lcast::make_unsigned<T>::type utype;
|
|
189
180
|
CharT* tmp_start = lcast_put_unsigned<Traits, utype, CharT>(lcast_to_unsigned(n), tmp_finish).convert();
|
|
190
181
|
if (n < 0) {
|
|
191
182
|
--tmp_start;
|
|
@@ -197,37 +188,37 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
197
188
|
return true;
|
|
198
189
|
}
|
|
199
190
|
|
|
200
|
-
bool shl_real_type(float val, char* begin) {
|
|
201
|
-
const double val_as_double = val;
|
|
191
|
+
bool shl_real_type(lcast::exact<float> val, char* begin) {
|
|
192
|
+
const double val_as_double = static_cast<double>(val.payload);
|
|
202
193
|
finish = start +
|
|
203
194
|
boost::core::snprintf(begin, CharacterBufferSize,
|
|
204
195
|
"%.*g", static_cast<int>(boost::detail::lcast_precision<float>::value), val_as_double);
|
|
205
196
|
return finish > start;
|
|
206
197
|
}
|
|
207
198
|
|
|
208
|
-
bool shl_real_type(double val, char* begin) {
|
|
199
|
+
bool shl_real_type(lcast::exact<double> val, char* begin) {
|
|
209
200
|
finish = start +
|
|
210
201
|
boost::core::snprintf(begin, CharacterBufferSize,
|
|
211
|
-
"%.*g", static_cast<int>(boost::detail::lcast_precision<double>::value), val);
|
|
202
|
+
"%.*g", static_cast<int>(boost::detail::lcast_precision<double>::value), val.payload);
|
|
212
203
|
return finish > start;
|
|
213
204
|
}
|
|
214
205
|
|
|
215
206
|
#ifndef __MINGW32__
|
|
216
|
-
bool shl_real_type(long double val, char* begin) {
|
|
207
|
+
bool shl_real_type(lcast::exact<long double> val, char* begin) {
|
|
217
208
|
finish = start +
|
|
218
209
|
boost::core::snprintf(begin, CharacterBufferSize,
|
|
219
|
-
"%.*Lg", static_cast<int>(boost::detail::lcast_precision<long double>::value), val );
|
|
210
|
+
"%.*Lg", static_cast<int>(boost::detail::lcast_precision<long double>::value), val.payload );
|
|
220
211
|
return finish > start;
|
|
221
212
|
}
|
|
222
213
|
#else
|
|
223
|
-
bool shl_real_type(long double val, char* begin) {
|
|
224
|
-
return shl_real_type(static_cast<double>(val), begin);
|
|
214
|
+
bool shl_real_type(lcast::exact<long double> val, char* begin) {
|
|
215
|
+
return shl_real_type(lcast::exact<double>{static_cast<double>(val.payload)}, begin);
|
|
225
216
|
}
|
|
226
217
|
#endif
|
|
227
218
|
|
|
228
219
|
#if !defined(BOOST_LCAST_NO_WCHAR_T)
|
|
229
|
-
bool shl_real_type(float val, wchar_t* begin) {
|
|
230
|
-
const double val_as_double = val;
|
|
220
|
+
bool shl_real_type(lcast::exact<float> val, wchar_t* begin) {
|
|
221
|
+
const double val_as_double = static_cast<double>(val.payload);
|
|
231
222
|
finish = start + boost::core::swprintf(
|
|
232
223
|
begin, CharacterBufferSize, L"%.*g",
|
|
233
224
|
static_cast<int>(boost::detail::lcast_precision<float>::value),
|
|
@@ -236,31 +227,31 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
236
227
|
return finish > start;
|
|
237
228
|
}
|
|
238
229
|
|
|
239
|
-
bool shl_real_type(double val, wchar_t* begin) {
|
|
230
|
+
bool shl_real_type(lcast::exact<double> val, wchar_t* begin) {
|
|
240
231
|
finish = start + boost::core::swprintf(
|
|
241
232
|
begin, CharacterBufferSize, L"%.*g",
|
|
242
233
|
static_cast<int>(boost::detail::lcast_precision<double>::value),
|
|
243
|
-
val
|
|
234
|
+
val.payload
|
|
244
235
|
);
|
|
245
236
|
return finish > start;
|
|
246
237
|
}
|
|
247
238
|
|
|
248
|
-
bool shl_real_type(long double val, wchar_t* begin) {
|
|
239
|
+
bool shl_real_type(lcast::exact<long double> val, wchar_t* begin) {
|
|
249
240
|
finish = start + boost::core::swprintf(
|
|
250
241
|
begin, CharacterBufferSize, L"%.*Lg",
|
|
251
242
|
static_cast<int>(boost::detail::lcast_precision<long double>::value),
|
|
252
|
-
val
|
|
243
|
+
val.payload
|
|
253
244
|
);
|
|
254
245
|
return finish > start;
|
|
255
246
|
}
|
|
256
247
|
#endif
|
|
257
248
|
public:
|
|
258
249
|
template <class C>
|
|
259
|
-
using enable_if_compatible_char_t = typename
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
250
|
+
using enable_if_compatible_char_t = typename std::enable_if<
|
|
251
|
+
std::is_same<const C, const CharT>::value || (
|
|
252
|
+
std::is_same<const char, const CharT>::value && (
|
|
253
|
+
std::is_same<const C, const unsigned char>::value ||
|
|
254
|
+
std::is_same<const C, const signed char>::value
|
|
264
255
|
)
|
|
265
256
|
), bool
|
|
266
257
|
>::type;
|
|
@@ -302,32 +293,34 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
302
293
|
bool stream_in(lcast::exact<char> x) { return shl_char(x.payload); }
|
|
303
294
|
bool stream_in(lcast::exact<unsigned char> x) { return shl_char(static_cast<char>(x.payload)); }
|
|
304
295
|
bool stream_in(lcast::exact<signed char> x) { return shl_char(static_cast<char>(x.payload)); }
|
|
305
|
-
|
|
296
|
+
|
|
297
|
+
#if !defined(BOOST_NO_INTRINSIC_WCHAR_T)
|
|
306
298
|
template <class C>
|
|
307
|
-
typename
|
|
299
|
+
typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
|
|
308
300
|
stream_in(lcast::exact<C> x) { return shl_char(x.payload); }
|
|
301
|
+
#endif
|
|
309
302
|
|
|
310
303
|
template <class Type>
|
|
311
304
|
enable_if_compatible_char_t<Type>
|
|
312
305
|
stream_in(lcast::exact<Type*> x) { return shl_char_array(reinterpret_cast<CharT const*>(x.payload)); }
|
|
313
306
|
|
|
314
307
|
template <class Type>
|
|
315
|
-
typename
|
|
308
|
+
typename std::enable_if<!std::is_floating_point<Type>::value && boost::detail::lcast::is_signed<Type>::value && !std::is_enum<Type>::value, bool>::type
|
|
316
309
|
stream_in(lcast::exact<Type> x) { return shl_signed(x.payload); }
|
|
317
310
|
|
|
318
311
|
template <class Type>
|
|
319
|
-
typename
|
|
312
|
+
typename std::enable_if<boost::detail::lcast::is_unsigned<Type>::value && !std::is_enum<Type>::value, bool>::type
|
|
320
313
|
stream_in(lcast::exact<Type> x) { return shl_unsigned(x.payload); }
|
|
321
314
|
|
|
322
315
|
template <class Type>
|
|
323
|
-
auto stream_in(lcast::exact<Type> x) -> decltype(shl_real_type(x
|
|
316
|
+
auto stream_in(lcast::exact<Type> x) -> decltype(shl_real_type(x, buffer)) {
|
|
324
317
|
const CharT* inf_nan = detail::get_inf_nan(x.payload, CharT());
|
|
325
318
|
if (inf_nan) {
|
|
326
319
|
start = inf_nan;
|
|
327
320
|
finish = start + Traits::length(inf_nan);
|
|
328
321
|
return true;
|
|
329
322
|
}
|
|
330
|
-
return shl_real_type(x
|
|
323
|
+
return shl_real_type(x, buffer);
|
|
331
324
|
}
|
|
332
325
|
|
|
333
326
|
template <class C, std::size_t N>
|
|
@@ -398,7 +391,7 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
398
391
|
#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
|
|
399
392
|
// If you have compilation error at this point, than your STL library
|
|
400
393
|
// does not support such conversions. Try updating it.
|
|
401
|
-
static_assert(
|
|
394
|
+
static_assert(std::is_same<char, CharT>::value, "");
|
|
402
395
|
#endif
|
|
403
396
|
|
|
404
397
|
#ifndef BOOST_NO_EXCEPTIONS
|
|
@@ -434,17 +427,17 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
434
427
|
return true;
|
|
435
428
|
}
|
|
436
429
|
|
|
437
|
-
lcast_set_precision(out_stream, &val);
|
|
430
|
+
boost::detail::lcast_set_precision(out_stream, &val);
|
|
438
431
|
return shl_input_streamable(val);
|
|
439
432
|
}
|
|
440
433
|
|
|
441
434
|
public:
|
|
442
435
|
template <class Type>
|
|
443
|
-
typename
|
|
436
|
+
typename std::enable_if<boost::detail::is_character<Type>::value && sizeof(char) == sizeof(Type), bool>::type
|
|
444
437
|
stream_in(lcast::exact<const Type*> x) { return shl_char_array(reinterpret_cast<char const*>(x.payload)); }
|
|
445
438
|
|
|
446
439
|
template <class Type>
|
|
447
|
-
typename
|
|
440
|
+
typename std::enable_if<boost::detail::is_character<Type>::value && sizeof(char) != sizeof(Type), bool>::type
|
|
448
441
|
stream_in(lcast::exact<const Type*> x) { return shl_char_array(x.payload); }
|
|
449
442
|
|
|
450
443
|
bool stream_in(lcast::exact<float> x) { return shl_real(x.payload); }
|
|
@@ -458,14 +451,14 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
458
451
|
}
|
|
459
452
|
|
|
460
453
|
template <class C>
|
|
461
|
-
typename
|
|
454
|
+
typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
|
|
462
455
|
stream_in(lcast::exact<iterator_range<C*>> x) noexcept {
|
|
463
456
|
auto buf = boost::conversion::detail::make_buffer_view(x.payload.begin(), x.payload.end());
|
|
464
457
|
return stream_in(lcast::exact<decltype(buf)>{buf});
|
|
465
458
|
}
|
|
466
459
|
|
|
467
460
|
template <class C>
|
|
468
|
-
typename
|
|
461
|
+
typename std::enable_if<boost::detail::is_character<C>::value, bool>::type
|
|
469
462
|
stream_in(lcast::exact<iterator_range<const C*>> x) noexcept {
|
|
470
463
|
auto buf = boost::conversion::detail::make_buffer_view(x.payload.begin(), x.payload.end());
|
|
471
464
|
return stream_in(lcast::exact<decltype(buf)>{buf});
|
|
@@ -526,7 +519,7 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
526
519
|
if (start == finish) return false;
|
|
527
520
|
CharT const minus = lcast_char_constants<CharT>::minus;
|
|
528
521
|
CharT const plus = lcast_char_constants<CharT>::plus;
|
|
529
|
-
typedef typename make_unsigned<Type>::type utype;
|
|
522
|
+
typedef typename boost::detail::lcast::make_unsigned<Type>::type utype;
|
|
530
523
|
utype out_tmp = 0;
|
|
531
524
|
bool const has_minus = Traits::eq(minus, *start);
|
|
532
525
|
|
|
@@ -552,12 +545,12 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
552
545
|
bool shr_using_base_class(InputStreamable& output)
|
|
553
546
|
{
|
|
554
547
|
static_assert(
|
|
555
|
-
!
|
|
548
|
+
!std::is_pointer<InputStreamable>::value,
|
|
556
549
|
"boost::lexical_cast can not convert to pointers"
|
|
557
550
|
);
|
|
558
551
|
|
|
559
552
|
#if defined(BOOST_NO_STRINGSTREAM) || defined(BOOST_NO_STD_LOCALE)
|
|
560
|
-
static_assert(
|
|
553
|
+
static_assert(std::is_same<char, CharT>::value,
|
|
561
554
|
"boost::lexical_cast can not convert, because your STL library does not "
|
|
562
555
|
"support such conversions. Try updating it."
|
|
563
556
|
);
|
|
@@ -583,7 +576,7 @@ namespace boost { namespace detail { namespace lcast {
|
|
|
583
576
|
try {
|
|
584
577
|
#endif
|
|
585
578
|
stream.unsetf(std::ios::skipws);
|
|
586
|
-
lcast_set_precision(stream, static_cast<InputStreamable*>(0));
|
|
579
|
+
boost::detail::lcast_set_precision(stream, static_cast<InputStreamable*>(0));
|
|
587
580
|
|
|
588
581
|
return (stream >> output)
|
|
589
582
|
&& (stream.get() == Traits::eof());
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -23,15 +23,10 @@
|
|
|
23
23
|
# pragma once
|
|
24
24
|
#endif
|
|
25
25
|
|
|
26
|
+
#include <type_traits>
|
|
26
27
|
#include <boost/core/cmath.hpp>
|
|
27
|
-
#include <boost/core/enable_if.hpp>
|
|
28
28
|
#include <boost/limits.hpp>
|
|
29
|
-
#include <boost/type_traits
|
|
30
|
-
#include <boost/type_traits/conditional.hpp>
|
|
31
|
-
#include <boost/type_traits/make_unsigned.hpp>
|
|
32
|
-
#include <boost/type_traits/is_signed.hpp>
|
|
33
|
-
#include <boost/type_traits/is_arithmetic.hpp>
|
|
34
|
-
#include <boost/type_traits/is_float.hpp>
|
|
29
|
+
#include <boost/lexical_cast/detail/type_traits.hpp>
|
|
35
30
|
|
|
36
31
|
namespace boost { namespace detail {
|
|
37
32
|
|
|
@@ -46,14 +41,15 @@ bool ios_numeric_comparer_float(Source x, Source y) noexcept {
|
|
|
46
41
|
template <class RangeType, class T>
|
|
47
42
|
constexpr bool is_out_of_range_for(T value) noexcept {
|
|
48
43
|
return value > static_cast<T>((std::numeric_limits<RangeType>::max)())
|
|
49
|
-
|| value < static_cast<T>((std::numeric_limits<RangeType>::min)())
|
|
44
|
+
|| value < static_cast<T>((std::numeric_limits<RangeType>::min)())
|
|
45
|
+
|| boost::core::isnan(value);
|
|
50
46
|
}
|
|
51
47
|
|
|
52
48
|
|
|
53
49
|
// integral -> integral
|
|
54
50
|
template <typename Target, typename Source>
|
|
55
|
-
typename
|
|
56
|
-
!
|
|
51
|
+
typename std::enable_if<
|
|
52
|
+
!std::is_floating_point<Source>::value && !std::is_floating_point<Target>::value, bool
|
|
57
53
|
>::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
|
|
58
54
|
const Target target_tmp = static_cast<Target>(arg);
|
|
59
55
|
const Source arg_restored = static_cast<Source>(target_tmp);
|
|
@@ -66,8 +62,8 @@ typename boost::enable_if_c<
|
|
|
66
62
|
|
|
67
63
|
// integral -> floating point
|
|
68
64
|
template <typename Target, typename Source>
|
|
69
|
-
typename
|
|
70
|
-
!
|
|
65
|
+
typename std::enable_if<
|
|
66
|
+
!std::is_floating_point<Source>::value && std::is_floating_point<Target>::value, bool
|
|
71
67
|
>::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
|
|
72
68
|
const Target target_tmp = static_cast<Target>(arg);
|
|
73
69
|
result = target_tmp;
|
|
@@ -77,8 +73,8 @@ typename boost::enable_if_c<
|
|
|
77
73
|
|
|
78
74
|
// floating point -> floating point
|
|
79
75
|
template <typename Target, typename Source>
|
|
80
|
-
typename
|
|
81
|
-
|
|
76
|
+
typename std::enable_if<
|
|
77
|
+
std::is_floating_point<Source>::value && std::is_floating_point<Target>::value, bool
|
|
82
78
|
>::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
|
|
83
79
|
const Target target_tmp = static_cast<Target>(arg);
|
|
84
80
|
const Source arg_restored = static_cast<Source>(target_tmp);
|
|
@@ -92,8 +88,8 @@ typename boost::enable_if_c<
|
|
|
92
88
|
|
|
93
89
|
// floating point -> integral
|
|
94
90
|
template <typename Target, typename Source>
|
|
95
|
-
typename
|
|
96
|
-
|
|
91
|
+
typename std::enable_if<
|
|
92
|
+
std::is_floating_point<Source>::value && !std::is_floating_point<Target>::value, bool
|
|
97
93
|
>::type noexcept_numeric_convert(Source arg, Target& result) noexcept {
|
|
98
94
|
if (detail::is_out_of_range_for<Target>(arg)) {
|
|
99
95
|
return false;
|
|
@@ -101,7 +97,7 @@ typename boost::enable_if_c<
|
|
|
101
97
|
|
|
102
98
|
const Target target_tmp = static_cast<Target>(arg);
|
|
103
99
|
const Source arg_restored = static_cast<Source>(target_tmp);
|
|
104
|
-
if (detail::
|
|
100
|
+
if (arg == arg_restored /* special values are handled in detail::is_out_of_range_for */) {
|
|
105
101
|
result = target_tmp;
|
|
106
102
|
return true;
|
|
107
103
|
}
|
|
@@ -124,10 +120,10 @@ struct lexical_cast_dynamic_num_ignoring_minus
|
|
|
124
120
|
__attribute__((no_sanitize("unsigned-integer-overflow")))
|
|
125
121
|
#endif
|
|
126
122
|
static inline bool try_convert(Source arg, Target& result) noexcept {
|
|
127
|
-
typedef typename
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
boost::make_unsigned<Source>
|
|
123
|
+
typedef typename std::conditional<
|
|
124
|
+
std::is_floating_point<Source>::value,
|
|
125
|
+
std::conditional<true, Source, Source>, // std::type_identity emulation
|
|
126
|
+
boost::detail::lcast::make_unsigned<Source>
|
|
131
127
|
>::type usource_lazy_t;
|
|
132
128
|
typedef typename usource_lazy_t::type usource_t;
|
|
133
129
|
|
|
@@ -165,11 +161,11 @@ template <typename Target, typename Source>
|
|
|
165
161
|
struct dynamic_num_converter_impl
|
|
166
162
|
{
|
|
167
163
|
static inline bool try_convert(Source arg, Target& result) noexcept {
|
|
168
|
-
typedef typename
|
|
169
|
-
boost::is_unsigned<Target>::value &&
|
|
170
|
-
(boost::is_signed<Source>::value ||
|
|
171
|
-
!(
|
|
172
|
-
!(
|
|
164
|
+
typedef typename std::conditional<
|
|
165
|
+
boost::detail::lcast::is_unsigned<Target>::value &&
|
|
166
|
+
(boost::detail::lcast::is_signed<Source>::value || std::is_floating_point<Source>::value) &&
|
|
167
|
+
!(std::is_same<Source, bool>::value) &&
|
|
168
|
+
!(std::is_same<Target, bool>::value),
|
|
173
169
|
lexical_cast_dynamic_num_ignoring_minus,
|
|
174
170
|
lexical_cast_dynamic_num_not_ignoring_minus
|
|
175
171
|
>::type caster_type;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -18,32 +18,31 @@
|
|
|
18
18
|
#ifndef BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
|
|
19
19
|
#define BOOST_LEXICAL_CAST_DETAIL_IS_CHARACTER_HPP
|
|
20
20
|
|
|
21
|
+
#include <type_traits>
|
|
22
|
+
|
|
21
23
|
#include <boost/config.hpp>
|
|
22
24
|
#ifdef BOOST_HAS_PRAGMA_ONCE
|
|
23
25
|
# pragma once
|
|
24
26
|
#endif
|
|
25
27
|
|
|
26
|
-
#include <boost/type_traits/integral_constant.hpp>
|
|
27
|
-
#include <boost/type_traits/is_same.hpp>
|
|
28
|
-
|
|
29
28
|
namespace boost { namespace detail {
|
|
30
29
|
|
|
31
30
|
// returns true, if T is one of the character types
|
|
32
31
|
template < typename T >
|
|
33
|
-
using is_character =
|
|
32
|
+
using is_character = std::integral_constant<
|
|
34
33
|
bool,
|
|
35
|
-
|
|
34
|
+
std::is_same< T, char >::value ||
|
|
36
35
|
#if !defined(BOOST_NO_STRINGSTREAM) && !defined(BOOST_NO_STD_WSTRING)
|
|
37
|
-
|
|
36
|
+
std::is_same< T, wchar_t >::value ||
|
|
38
37
|
#endif
|
|
39
38
|
#ifndef BOOST_NO_CXX11_CHAR16_T
|
|
40
|
-
|
|
39
|
+
std::is_same< T, char16_t >::value ||
|
|
41
40
|
#endif
|
|
42
41
|
#ifndef BOOST_NO_CXX11_CHAR32_T
|
|
43
|
-
|
|
42
|
+
std::is_same< T, char32_t >::value ||
|
|
44
43
|
#endif
|
|
45
|
-
|
|
46
|
-
|
|
44
|
+
std::is_same< T, unsigned char >::value ||
|
|
45
|
+
std::is_same< T, signed char >::value
|
|
47
46
|
>;
|
|
48
47
|
|
|
49
48
|
}}
|
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_basic_unlockedbuf.hpp
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
data/src/cxx_supportlib/vendor-modified/boost/lexical_cast/detail/lcast_unsigned_converters.hpp
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -28,9 +28,10 @@
|
|
|
28
28
|
#include <string>
|
|
29
29
|
#include <cstring>
|
|
30
30
|
#include <cstdio>
|
|
31
|
+
#include <type_traits>
|
|
31
32
|
#include <boost/limits.hpp>
|
|
32
|
-
#include <boost/type_traits/conditional.hpp>
|
|
33
33
|
#include <boost/config/workaround.hpp>
|
|
34
|
+
#include <boost/lexical_cast/detail/type_traits.hpp>
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
#ifndef BOOST_NO_STD_LOCALE
|
|
@@ -47,8 +48,6 @@
|
|
|
47
48
|
#endif
|
|
48
49
|
|
|
49
50
|
#include <boost/lexical_cast/detail/lcast_char_constants.hpp>
|
|
50
|
-
#include <boost/type_traits/make_unsigned.hpp>
|
|
51
|
-
#include <boost/type_traits/is_signed.hpp>
|
|
52
51
|
#include <boost/core/noncopyable.hpp>
|
|
53
52
|
|
|
54
53
|
namespace boost
|
|
@@ -60,8 +59,8 @@ namespace boost
|
|
|
60
59
|
__attribute__((no_sanitize("unsigned-integer-overflow")))
|
|
61
60
|
#endif
|
|
62
61
|
inline
|
|
63
|
-
typename boost::make_unsigned<T>::type lcast_to_unsigned(const T value) noexcept {
|
|
64
|
-
typedef typename boost::make_unsigned<T>::type result_type;
|
|
62
|
+
typename boost::detail::lcast::make_unsigned<T>::type lcast_to_unsigned(const T value) noexcept {
|
|
63
|
+
typedef typename boost::detail::lcast::make_unsigned<T>::type result_type;
|
|
65
64
|
return value < 0
|
|
66
65
|
? static_cast<result_type>(0u - static_cast<result_type>(value))
|
|
67
66
|
: static_cast<result_type>(value);
|
|
@@ -73,7 +72,7 @@ namespace boost
|
|
|
73
72
|
template <class Traits, class T, class CharT>
|
|
74
73
|
class lcast_put_unsigned: boost::noncopyable {
|
|
75
74
|
typedef typename Traits::int_type int_type;
|
|
76
|
-
typename
|
|
75
|
+
typename std::conditional<
|
|
77
76
|
(sizeof(unsigned) > sizeof(T))
|
|
78
77
|
, unsigned
|
|
79
78
|
, T
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
// Copyright Peter Dimov, 2025.
|
|
2
|
+
// Copyright Romain Geissler, 2025.
|
|
3
|
+
//
|
|
4
|
+
// Distributed under the Boost Software License, Version 1.0. (See
|
|
5
|
+
// accompanying file LICENSE_1_0.txt or copy at
|
|
6
|
+
// http://www.boost.org/LICENSE_1_0.txt)
|
|
7
|
+
|
|
8
|
+
#ifndef BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
|
|
9
|
+
#define BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
|
|
10
|
+
|
|
11
|
+
#include <boost/config.hpp>
|
|
12
|
+
#ifdef BOOST_HAS_PRAGMA_ONCE
|
|
13
|
+
# pragma once
|
|
14
|
+
#endif
|
|
15
|
+
|
|
16
|
+
#include <type_traits>
|
|
17
|
+
|
|
18
|
+
namespace boost { namespace detail { namespace lcast {
|
|
19
|
+
|
|
20
|
+
// libstdc++ from gcc <= 15 doesn't provide support for __int128 in the standard traits,
|
|
21
|
+
// so define them explicitly.
|
|
22
|
+
// This was fixed with gcc >= 16, so we may eventually remove this workaround and use
|
|
23
|
+
// directly the standard type_traits.
|
|
24
|
+
|
|
25
|
+
template<class T> struct is_integral: public std::is_integral<T>
|
|
26
|
+
{
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
template<class T> struct is_signed: public std::is_signed<T>
|
|
30
|
+
{
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
template<class T> struct is_unsigned: public std::is_unsigned<T>
|
|
34
|
+
{
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
template<class T> struct make_unsigned: public std::make_unsigned<T>
|
|
38
|
+
{
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
#if defined(__SIZEOF_INT128__)
|
|
42
|
+
|
|
43
|
+
template<> struct is_integral<__int128_t>: public std::true_type
|
|
44
|
+
{
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
template<> struct is_integral<__uint128_t>: public std::true_type
|
|
48
|
+
{
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
template<> struct is_signed<__int128_t>: public std::true_type
|
|
52
|
+
{
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
template<> struct is_signed<__uint128_t>: public std::false_type
|
|
56
|
+
{
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
template<> struct is_unsigned<__int128_t>: public std::false_type
|
|
60
|
+
{
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
template<> struct is_unsigned<__uint128_t>: public std::true_type
|
|
64
|
+
{
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
template<> struct make_unsigned<__int128_t>
|
|
68
|
+
{
|
|
69
|
+
typedef __uint128_t type;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
template<> struct make_unsigned<__uint128_t>
|
|
73
|
+
{
|
|
74
|
+
typedef __uint128_t type;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
#endif
|
|
78
|
+
|
|
79
|
+
}}} // namespace boost::detail::lcast
|
|
80
|
+
|
|
81
|
+
#endif // BOOST_LEXICAL_CAST_DETAIL_TYPE_TRAITS_HPP
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright Kevlin Henney, 2000-2005.
|
|
2
2
|
// Copyright Alexander Nasonov, 2006-2010.
|
|
3
|
-
// Copyright Antony Polukhin, 2011-
|
|
3
|
+
// Copyright Antony Polukhin, 2011-2025.
|
|
4
4
|
//
|
|
5
5
|
// Distributed under the Boost Software License, Version 1.0. (See
|
|
6
6
|
// accompanying file LICENSE_1_0.txt or copy at
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
#ifndef BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP
|
|
19
19
|
#define BOOST_LEXICAL_CAST_DETAIL_WIDEST_CHAR_HPP
|
|
20
20
|
|
|
21
|
+
#include <type_traits>
|
|
22
|
+
|
|
21
23
|
#include <boost/config.hpp>
|
|
22
24
|
#ifdef BOOST_HAS_PRAGMA_ONCE
|
|
23
25
|
# pragma once
|
|
24
26
|
#endif
|
|
25
27
|
|
|
26
28
|
|
|
27
|
-
#include <boost/type_traits/conditional.hpp>
|
|
28
|
-
|
|
29
29
|
namespace boost { namespace detail {
|
|
30
30
|
|
|
31
31
|
template <typename TargetChar, typename SourceChar>
|
|
32
|
-
using widest_char =
|
|
32
|
+
using widest_char = std::conditional<
|
|
33
33
|
(sizeof(TargetChar) > sizeof(SourceChar))
|
|
34
34
|
, TargetChar
|
|
35
35
|
, SourceChar
|