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
|
@@ -272,7 +272,7 @@ struct insert_nonmovable_emplace_proxy
|
|
|
272
272
|
{}
|
|
273
273
|
|
|
274
274
|
template<class Iterator>
|
|
275
|
-
|
|
275
|
+
BOOST_CONTAINER_FORCEINLINE void uninitialized_copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
|
|
276
276
|
{ this->priv_uninitialized_copy_some_and_update(a, index_tuple_t(), p, n); }
|
|
277
277
|
|
|
278
278
|
private:
|
|
@@ -303,7 +303,7 @@ struct insert_emplace_proxy
|
|
|
303
303
|
{}
|
|
304
304
|
|
|
305
305
|
template<class Iterator>
|
|
306
|
-
|
|
306
|
+
BOOST_CONTAINER_FORCEINLINE void copy_n_and_update(Allocator &a, Iterator p, std::size_t n)
|
|
307
307
|
{ this->priv_copy_some_and_update(a, index_tuple_t(), p, n); }
|
|
308
308
|
|
|
309
309
|
private:
|
|
@@ -327,6 +327,7 @@ struct insert_emplace_proxy
|
|
|
327
327
|
}
|
|
328
328
|
};
|
|
329
329
|
|
|
330
|
+
|
|
330
331
|
//Specializations to avoid an unneeded temporary when emplacing from a single argument o type value_type
|
|
331
332
|
template<class Allocator>
|
|
332
333
|
struct insert_emplace_proxy<Allocator, typename boost::container::allocator_traits<Allocator>::value_type>
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
#endif
|
|
23
23
|
|
|
24
24
|
#include <boost/intrusive/detail/algorithm.hpp>
|
|
25
|
+
#include <boost/move/utility_core.hpp>
|
|
25
26
|
|
|
26
27
|
namespace boost {
|
|
27
28
|
namespace container {
|
|
@@ -179,6 +180,61 @@ ForwardIt1 search(ForwardIt1 first1, ForwardIt1 last1,
|
|
|
179
180
|
}
|
|
180
181
|
}
|
|
181
182
|
|
|
183
|
+
template<class InpIt, class U>
|
|
184
|
+
InpIt find(InpIt first, InpIt last, const U& value)
|
|
185
|
+
{
|
|
186
|
+
for (; first != last; ++first)
|
|
187
|
+
if (*first == value)
|
|
188
|
+
return first;
|
|
189
|
+
|
|
190
|
+
return last;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
template<class FwdIt, class U>
|
|
195
|
+
FwdIt remove(FwdIt first, FwdIt last, const U& value)
|
|
196
|
+
{
|
|
197
|
+
first = find(first, last, value);
|
|
198
|
+
if (first != last)
|
|
199
|
+
for (FwdIt i = first; ++i != last;)
|
|
200
|
+
if (!(*i == value))
|
|
201
|
+
*first++ = boost::move(*i);
|
|
202
|
+
return first;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
template<class FwdIt, class Pred>
|
|
206
|
+
FwdIt remove_if(FwdIt first, FwdIt last, Pred p)
|
|
207
|
+
{
|
|
208
|
+
first = find_if(first, last, p);
|
|
209
|
+
if (first != last)
|
|
210
|
+
for (FwdIt i = first; ++i != last;)
|
|
211
|
+
if (!p(*i))
|
|
212
|
+
*first++ = boost::move(*i);
|
|
213
|
+
return first;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
template <class Cont, class Pred>
|
|
217
|
+
typename Cont::size_type container_erase_if(Cont& c, Pred p)
|
|
218
|
+
{
|
|
219
|
+
typedef typename Cont::size_type size_type;
|
|
220
|
+
typedef typename Cont::iterator it_t;
|
|
221
|
+
|
|
222
|
+
size_type prev_size = c.size();
|
|
223
|
+
it_t it = c.begin();
|
|
224
|
+
|
|
225
|
+
//end() must be called each loop for non-node containers
|
|
226
|
+
while ( it != c.end() ) {
|
|
227
|
+
if (p(*it)) {
|
|
228
|
+
it = c.erase(it);
|
|
229
|
+
}
|
|
230
|
+
else {
|
|
231
|
+
++it;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
return prev_size - c.size();
|
|
236
|
+
}
|
|
237
|
+
|
|
182
238
|
} //namespace container {
|
|
183
239
|
} //namespace boost {
|
|
184
240
|
|
|
@@ -254,17 +254,17 @@ int boost_cont_multialloc_arrays
|
|
|
254
254
|
|
|
255
255
|
void boost_cont_multidealloc(boost_cont_memchain *pchain);
|
|
256
256
|
|
|
257
|
-
size_t boost_cont_footprint();
|
|
257
|
+
size_t boost_cont_footprint(void);
|
|
258
258
|
|
|
259
|
-
size_t boost_cont_allocated_memory();
|
|
259
|
+
size_t boost_cont_allocated_memory(void);
|
|
260
260
|
|
|
261
261
|
size_t boost_cont_chunksize(const void *p);
|
|
262
262
|
|
|
263
|
-
int boost_cont_all_deallocated();
|
|
263
|
+
int boost_cont_all_deallocated(void);
|
|
264
264
|
|
|
265
|
-
boost_cont_malloc_stats_t boost_cont_malloc_stats();
|
|
265
|
+
boost_cont_malloc_stats_t boost_cont_malloc_stats(void);
|
|
266
266
|
|
|
267
|
-
size_t boost_cont_in_use_memory();
|
|
267
|
+
size_t boost_cont_in_use_memory(void);
|
|
268
268
|
|
|
269
269
|
int boost_cont_trim(size_t pad);
|
|
270
270
|
|
|
@@ -279,7 +279,7 @@ int boost_cont_shrink
|
|
|
279
279
|
void* boost_cont_alloc
|
|
280
280
|
(size_t minbytes, size_t preferred_bytes, size_t *received_bytes);
|
|
281
281
|
|
|
282
|
-
int boost_cont_malloc_check();
|
|
282
|
+
int boost_cont_malloc_check(void);
|
|
283
283
|
|
|
284
284
|
boost_cont_command_ret_t boost_cont_allocation_command
|
|
285
285
|
( allocation_type command
|
|
@@ -290,7 +290,7 @@ boost_cont_command_ret_t boost_cont_allocation_command
|
|
|
290
290
|
, void *reuse_ptr
|
|
291
291
|
);
|
|
292
292
|
|
|
293
|
-
void *boost_cont_sync_create();
|
|
293
|
+
void *boost_cont_sync_create(void);
|
|
294
294
|
|
|
295
295
|
void boost_cont_sync_destroy(void *sync);
|
|
296
296
|
|
|
@@ -298,9 +298,9 @@ int boost_cont_sync_lock(void *sync);
|
|
|
298
298
|
|
|
299
299
|
void boost_cont_sync_unlock(void *sync);
|
|
300
300
|
|
|
301
|
-
int boost_cont_global_sync_lock();
|
|
301
|
+
int boost_cont_global_sync_lock(void);
|
|
302
302
|
|
|
303
|
-
void boost_cont_global_sync_unlock();
|
|
303
|
+
void boost_cont_global_sync_unlock(void);
|
|
304
304
|
|
|
305
305
|
#ifdef __cplusplus
|
|
306
306
|
} //extern "C" {
|
|
@@ -36,8 +36,29 @@ class equal_to_value
|
|
|
36
36
|
: t_(t)
|
|
37
37
|
{}
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
39
|
+
template <class U>
|
|
40
|
+
inline bool operator()(const U &t)const
|
|
41
|
+
{
|
|
42
|
+
return t_ == t;
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
template<class ValueType>
|
|
47
|
+
class equal_to_value_first
|
|
48
|
+
{
|
|
49
|
+
typedef ValueType value_type;
|
|
50
|
+
const value_type &t_;
|
|
51
|
+
|
|
52
|
+
public:
|
|
53
|
+
inline explicit equal_to_value_first(const value_type &t)
|
|
54
|
+
: t_(t)
|
|
55
|
+
{}
|
|
56
|
+
|
|
57
|
+
template <class U>
|
|
58
|
+
inline bool operator()(const U &t)const
|
|
59
|
+
{
|
|
60
|
+
return t_ == t.first;
|
|
61
|
+
}
|
|
41
62
|
};
|
|
42
63
|
|
|
43
64
|
template<class Node, class Pred, class Ret = bool>
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
#pragma warning (push)
|
|
20
20
|
#pragma warning (disable : 4619) // there is no warning number 'XXXX'
|
|
21
21
|
#pragma warning (disable : 4127) // conditional expression is constant
|
|
22
|
-
#pragma warning (disable : 4146) // unary minus operator applied to unsigned type, result still unsigned
|
|
23
22
|
#pragma warning (disable : 4197) // top-level volatile in cast is ignored
|
|
24
23
|
#pragma warning (disable : 4251) // "identifier" : class "type" needs to have dll-interface to be used by clients of class "type2"
|
|
25
24
|
#pragma warning (disable : 4275) // non DLL-interface classkey "identifier" used as base for DLL-interface classkey "identifier"
|
|
@@ -228,7 +228,7 @@ inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
|
228
228
|
const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l);
|
|
229
229
|
if(BOOST_LIKELY(beg_raw != end_raw && dest_raw && beg_raw)){
|
|
230
230
|
const std::size_t n = std::size_t(end_raw - beg_raw) ;
|
|
231
|
-
std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
|
|
231
|
+
std::memmove(reinterpret_cast<void *>(dest_raw), beg_raw, sizeof(value_type)*n);
|
|
232
232
|
r += static_cast<r_difference_type>(n);
|
|
233
233
|
}
|
|
234
234
|
return r;
|
|
@@ -800,10 +800,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
800
800
|
|
|
801
801
|
template
|
|
802
802
|
<typename I, // I models InputIterator
|
|
803
|
-
typename U, // U models unsigned integral constant
|
|
804
803
|
typename F> // F models ForwardIterator
|
|
805
804
|
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
806
|
-
copy_n(I f,
|
|
805
|
+
copy_n(I f, std::size_t n, F r)
|
|
807
806
|
{
|
|
808
807
|
while (n) {
|
|
809
808
|
--n;
|
|
@@ -815,10 +814,9 @@ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
815
814
|
|
|
816
815
|
template
|
|
817
816
|
<typename I, // I models InputIterator
|
|
818
|
-
typename U, // U models unsigned integral constant
|
|
819
817
|
typename F> // F models ForwardIterator
|
|
820
818
|
inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
821
|
-
copy_n(I f,
|
|
819
|
+
copy_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
822
820
|
{ return dtl::memmove_n(f, n, r); }
|
|
823
821
|
|
|
824
822
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -829,10 +827,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
829
827
|
|
|
830
828
|
template
|
|
831
829
|
<typename I, // I models InputIterator
|
|
832
|
-
typename U, // U models unsigned integral constant
|
|
833
830
|
typename F> // F models ForwardIterator
|
|
834
831
|
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
835
|
-
copy_n_source(I f,
|
|
832
|
+
copy_n_source(I f, std::size_t n, F r)
|
|
836
833
|
{
|
|
837
834
|
while (n) {
|
|
838
835
|
--n;
|
|
@@ -910,10 +907,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
910
907
|
|
|
911
908
|
template
|
|
912
909
|
<typename I, // I models InputIterator
|
|
913
|
-
typename U, // U models unsigned integral constant
|
|
914
910
|
typename F> // F models ForwardIterator
|
|
915
911
|
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
916
|
-
move_n(I f,
|
|
912
|
+
move_n(I f, std::size_t n, F r)
|
|
917
913
|
{
|
|
918
914
|
while (n) {
|
|
919
915
|
--n;
|
|
@@ -925,13 +921,11 @@ inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
925
921
|
|
|
926
922
|
template
|
|
927
923
|
<typename I, // I models InputIterator
|
|
928
|
-
typename U, // U models unsigned integral constant
|
|
929
924
|
typename F> // F models ForwardIterator
|
|
930
925
|
inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
931
|
-
move_n(I f,
|
|
926
|
+
move_n(I f, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
932
927
|
{ return dtl::memmove_n(f, n, r); }
|
|
933
928
|
|
|
934
|
-
|
|
935
929
|
//////////////////////////////////////////////////////////////////////////////
|
|
936
930
|
//
|
|
937
931
|
// move_backward
|
|
@@ -961,11 +955,86 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
961
955
|
const std::size_t n = boost::container::iterator_udistance(f, l);
|
|
962
956
|
if (BOOST_LIKELY(n != 0)){
|
|
963
957
|
r -= n;
|
|
964
|
-
std::memmove((boost::movelib::iterator_to_raw_pointer)(r), (boost::movelib::iterator_to_raw_pointer)(f), sizeof(value_type)*n);
|
|
958
|
+
std::memmove(reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r)), (boost::movelib::iterator_to_raw_pointer)(f), sizeof(value_type)*n);
|
|
959
|
+
}
|
|
960
|
+
return r;
|
|
961
|
+
}
|
|
962
|
+
|
|
963
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
964
|
+
//
|
|
965
|
+
// move_backward_n
|
|
966
|
+
//
|
|
967
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
968
|
+
|
|
969
|
+
template
|
|
970
|
+
<typename I, // I models BidirectionalIterator
|
|
971
|
+
typename F> // F models ForwardIterator
|
|
972
|
+
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
973
|
+
move_backward_n(I l, std::size_t n, F r)
|
|
974
|
+
{
|
|
975
|
+
while (n) {
|
|
976
|
+
--n;
|
|
977
|
+
--l; --r;
|
|
978
|
+
*r = ::boost::move(*l);
|
|
979
|
+
}
|
|
980
|
+
return r;
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
template
|
|
984
|
+
<typename I, // I models InputIterator
|
|
985
|
+
typename F> // F models ForwardIterator
|
|
986
|
+
inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
987
|
+
move_backward_n(I l, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
988
|
+
{
|
|
989
|
+
typedef typename boost::container::iter_value<I>::type value_type;
|
|
990
|
+
if (BOOST_LIKELY(n != 0)){
|
|
991
|
+
r -= n;
|
|
992
|
+
std::memmove (reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r))
|
|
993
|
+
, reinterpret_cast<const void *>((boost::movelib::iterator_to_raw_pointer)(l) - n)
|
|
994
|
+
, sizeof(value_type)*n);
|
|
965
995
|
}
|
|
966
996
|
return r;
|
|
967
997
|
}
|
|
968
998
|
|
|
999
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
1000
|
+
//
|
|
1001
|
+
// move_backward_n_source
|
|
1002
|
+
//
|
|
1003
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
1004
|
+
|
|
1005
|
+
template
|
|
1006
|
+
<typename I, // I models BidirectionalIterator
|
|
1007
|
+
typename F> // F models ForwardIterator
|
|
1008
|
+
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
1009
|
+
move_backward_n_source(I l, std::size_t n, F r)
|
|
1010
|
+
{
|
|
1011
|
+
while (n) {
|
|
1012
|
+
--n;
|
|
1013
|
+
--l; --r;
|
|
1014
|
+
*r = ::boost::move(*l);
|
|
1015
|
+
}
|
|
1016
|
+
return l;
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
template
|
|
1020
|
+
<typename I, // I models InputIterator
|
|
1021
|
+
typename F> // F models ForwardIterator
|
|
1022
|
+
inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
1023
|
+
move_backward_n_source(I l, std::size_t n, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|
1024
|
+
{
|
|
1025
|
+
typedef typename boost::container::iter_value<I>::type value_type;
|
|
1026
|
+
|
|
1027
|
+
if (BOOST_LIKELY(n != 0)){
|
|
1028
|
+
r -= n;
|
|
1029
|
+
l -= n;
|
|
1030
|
+
std::memmove( reinterpret_cast<void *>((boost::movelib::iterator_to_raw_pointer)(r))
|
|
1031
|
+
, l
|
|
1032
|
+
, sizeof(value_type)*n);
|
|
1033
|
+
}
|
|
1034
|
+
return l;
|
|
1035
|
+
}
|
|
1036
|
+
|
|
1037
|
+
|
|
969
1038
|
//////////////////////////////////////////////////////////////////////////////
|
|
970
1039
|
//
|
|
971
1040
|
// move_n_source_dest
|
|
@@ -974,10 +1043,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, F>::type
|
|
|
974
1043
|
|
|
975
1044
|
template
|
|
976
1045
|
<typename I // I models InputIterator
|
|
977
|
-
,typename U // U models unsigned integral constant
|
|
978
1046
|
,typename F> // F models ForwardIterator
|
|
979
1047
|
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
980
|
-
move_n_source_dest(I f,
|
|
1048
|
+
move_n_source_dest(I f, std::size_t n, F &r)
|
|
981
1049
|
{
|
|
982
1050
|
while (n) {
|
|
983
1051
|
--n;
|
|
@@ -1002,10 +1070,9 @@ inline typename dtl::enable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
|
1002
1070
|
|
|
1003
1071
|
template
|
|
1004
1072
|
<typename I // I models InputIterator
|
|
1005
|
-
,typename U // U models unsigned integral constant
|
|
1006
1073
|
,typename F> // F models ForwardIterator
|
|
1007
1074
|
inline typename dtl::disable_if_memtransfer_copy_assignable<I, F, I>::type
|
|
1008
|
-
move_n_source(I f,
|
|
1075
|
+
move_n_source(I f, std::size_t n, F r)
|
|
1009
1076
|
{
|
|
1010
1077
|
while (n) {
|
|
1011
1078
|
--n;
|
|
@@ -1043,10 +1110,9 @@ inline B move_backward_overlapping(B f, B l, B rl)
|
|
|
1043
1110
|
|
|
1044
1111
|
template
|
|
1045
1112
|
<typename Allocator
|
|
1046
|
-
,typename I
|
|
1047
|
-
,typename U> // U models unsigned integral constant
|
|
1113
|
+
,typename I> // I models InputIterator
|
|
1048
1114
|
inline typename dtl::disable_if_trivially_destructible<I, void>::type
|
|
1049
|
-
destroy_alloc_n(Allocator &a, I f,
|
|
1115
|
+
destroy_alloc_n(Allocator &a, I f, std::size_t n)
|
|
1050
1116
|
{
|
|
1051
1117
|
while(n){
|
|
1052
1118
|
--n;
|
|
@@ -1057,10 +1123,9 @@ inline typename dtl::disable_if_trivially_destructible<I, void>::type
|
|
|
1057
1123
|
|
|
1058
1124
|
template
|
|
1059
1125
|
<typename Allocator
|
|
1060
|
-
,typename I // I models InputIterator
|
|
1061
|
-
,typename U> // U models unsigned integral constant
|
|
1126
|
+
,typename I> // I models InputIterator
|
|
1062
1127
|
inline typename dtl::enable_if_trivially_destructible<I, void>::type
|
|
1063
|
-
destroy_alloc_n(Allocator &, I,
|
|
1128
|
+
destroy_alloc_n(Allocator &, I, std::size_t)
|
|
1064
1129
|
{}
|
|
1065
1130
|
|
|
1066
1131
|
//////////////////////////////////////////////////////////////////////////////
|
|
@@ -1175,8 +1175,9 @@ class flat_tree
|
|
|
1175
1175
|
!dtl::is_convertible<K, iterator>::value && //not convertible to iterator
|
|
1176
1176
|
!dtl::is_convertible<K, const_iterator>::value //not convertible to const_iterator
|
|
1177
1177
|
, size_type>::type
|
|
1178
|
-
erase(
|
|
1178
|
+
erase(BOOST_FWD_REF(K) key)
|
|
1179
1179
|
{
|
|
1180
|
+
const typename remove_cvref<K>::type & k = key; //Support emulated rvalue references
|
|
1180
1181
|
std::pair<iterator, iterator > itp = this->equal_range(k);
|
|
1181
1182
|
size_type ret = static_cast<size_type>(itp.second - itp.first);
|
|
1182
1183
|
if (ret) {
|
|
@@ -173,7 +173,7 @@ class private_node_pool_impl
|
|
|
173
173
|
//Unlink the nodes
|
|
174
174
|
free_nodes.clear();
|
|
175
175
|
it = m_blocklist.erase_after(bit);
|
|
176
|
-
mp_segment_mngr_base->deallocate((
|
|
176
|
+
mp_segment_mngr_base->deallocate(const_cast<void*>(addr));
|
|
177
177
|
}
|
|
178
178
|
//Otherwise, insert them in the backup list, since the
|
|
179
179
|
//next "remove_if" does not need to check them again.
|
|
@@ -221,7 +221,7 @@ class private_node_pool_impl
|
|
|
221
221
|
while(!m_blocklist.empty()){
|
|
222
222
|
void *addr = get_block_from_hook(&m_blocklist.front(), blocksize);
|
|
223
223
|
m_blocklist.pop_front();
|
|
224
|
-
mp_segment_mngr_base->deallocate((
|
|
224
|
+
mp_segment_mngr_base->deallocate(const_cast<void*>(addr));
|
|
225
225
|
}
|
|
226
226
|
//Just clear free node list
|
|
227
227
|
m_freelist.clear();
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
2
|
+
//
|
|
3
|
+
// (C) Copyright Ion Gaztanaga 2025-2025. Distributed under the Boost
|
|
4
|
+
// Software License, Version 1.0. (See accompanying file
|
|
5
|
+
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
6
|
+
//
|
|
7
|
+
// See http://www.boost.org/libs/container for documentation.
|
|
8
|
+
//
|
|
9
|
+
//////////////////////////////////////////////////////////////////////////////
|
|
10
|
+
#ifndef BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
|
|
11
|
+
#define BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
|
|
12
|
+
|
|
13
|
+
#ifndef BOOST_CONFIG_HPP
|
|
14
|
+
# include <boost/config.hpp>
|
|
15
|
+
#endif
|
|
16
|
+
|
|
17
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
18
|
+
# pragma once
|
|
19
|
+
#endif
|
|
20
|
+
|
|
21
|
+
#include <boost/container/detail/std_fwd.hpp>
|
|
22
|
+
#include <boost/container/throw_exception.hpp>
|
|
23
|
+
|
|
24
|
+
namespace boost {
|
|
25
|
+
namespace container {
|
|
26
|
+
namespace dtl {
|
|
27
|
+
|
|
28
|
+
template <class T>
|
|
29
|
+
T* operator_new_allocate(std::size_t count)
|
|
30
|
+
{
|
|
31
|
+
const std::size_t max_count = std::size_t(-1)/(2*sizeof(T));
|
|
32
|
+
if(BOOST_UNLIKELY(count > max_count))
|
|
33
|
+
throw_bad_alloc();
|
|
34
|
+
#if defined(__cpp_aligned_new)
|
|
35
|
+
BOOST_IF_CONSTEXPR(__STDCPP_DEFAULT_NEW_ALIGNMENT__ < alignof(T)) {
|
|
36
|
+
return static_cast<T*>(::operator new(count*sizeof(T), std::align_val_t(alignof(T))));
|
|
37
|
+
}
|
|
38
|
+
#endif
|
|
39
|
+
return static_cast<T*>(::operator new(count*sizeof(T)));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
template <class T>
|
|
43
|
+
void operator_delete_deallocate(T* ptr, std::size_t n) BOOST_NOEXCEPT_OR_NOTHROW
|
|
44
|
+
{
|
|
45
|
+
(void)n;
|
|
46
|
+
#ifdef __cpp_aligned_new
|
|
47
|
+
BOOST_IF_CONSTEXPR(__STDCPP_DEFAULT_NEW_ALIGNMENT__ < alignof(T)) {
|
|
48
|
+
# if defined(__cpp_sized_deallocation)
|
|
49
|
+
::operator delete((void*)ptr, n * sizeof(T), std::align_val_t(alignof(T)));
|
|
50
|
+
#else
|
|
51
|
+
::operator delete((void*)ptr, std::align_val_t(alignof(T)));
|
|
52
|
+
# endif
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
#endif
|
|
56
|
+
|
|
57
|
+
# if defined(__cpp_sized_deallocation)
|
|
58
|
+
::operator delete((void*)ptr, n * sizeof(T));
|
|
59
|
+
#else
|
|
60
|
+
::operator delete((void*)ptr);
|
|
61
|
+
# endif
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
} //namespace dtl {
|
|
65
|
+
} //namespace container {
|
|
66
|
+
} //namespace boost {
|
|
67
|
+
|
|
68
|
+
#endif //#ifndef BOOST_CONTAINER_DETAIL_OPERATOR_NEW_HELPERS_HPP
|
|
@@ -548,44 +548,84 @@ struct is_class< std::pair<T1, T2> >
|
|
|
548
548
|
|
|
549
549
|
|
|
550
550
|
//Triviality of pair
|
|
551
|
+
|
|
552
|
+
//
|
|
553
|
+
// is_trivially_copy_assignable
|
|
554
|
+
//
|
|
555
|
+
|
|
551
556
|
template<class T>
|
|
552
|
-
struct
|
|
557
|
+
struct is_trivially_copy_assignable;
|
|
553
558
|
|
|
554
559
|
template<class A, class B>
|
|
555
|
-
struct is_trivially_copy_assignable
|
|
556
|
-
<boost::container::dtl::pair<A,B> >
|
|
560
|
+
struct is_trivially_copy_assignable<boost::container::dtl::pair<A,B> >
|
|
557
561
|
{
|
|
558
|
-
BOOST_STATIC_CONSTEXPR bool value =
|
|
562
|
+
BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_copy_assignable<A>::value &&
|
|
563
|
+
boost::move_detail::is_trivially_copy_assignable<B>::value;
|
|
559
564
|
};
|
|
560
565
|
|
|
566
|
+
template<class A, class B>
|
|
567
|
+
struct is_trivially_copy_assignable<std::pair<A,B> >
|
|
568
|
+
: is_trivially_copy_assignable<boost::container::dtl::pair<A,B> >
|
|
569
|
+
{};
|
|
570
|
+
|
|
571
|
+
//
|
|
572
|
+
// is_trivially_move_assignable
|
|
573
|
+
//
|
|
574
|
+
|
|
561
575
|
template<class T>
|
|
562
|
-
struct
|
|
576
|
+
struct is_trivially_move_assignable;
|
|
563
577
|
|
|
564
578
|
template<class A, class B>
|
|
565
|
-
struct is_trivially_move_assignable
|
|
566
|
-
<boost::container::dtl::pair<A,B> >
|
|
579
|
+
struct is_trivially_move_assignable<boost::container::dtl::pair<A,B> >
|
|
567
580
|
{
|
|
568
|
-
BOOST_STATIC_CONSTEXPR bool value =
|
|
581
|
+
BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_move_assignable<A>::value &&
|
|
582
|
+
boost::move_detail::is_trivially_move_assignable<B>::value;
|
|
569
583
|
};
|
|
570
584
|
|
|
585
|
+
template<class A, class B>
|
|
586
|
+
struct is_trivially_move_assignable<std::pair<A,B> >
|
|
587
|
+
: is_trivially_move_assignable<boost::container::dtl::pair<A,B> >
|
|
588
|
+
{};
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
//
|
|
592
|
+
// is_trivially_copy_constructible
|
|
593
|
+
//
|
|
594
|
+
|
|
571
595
|
template<class T>
|
|
572
|
-
struct
|
|
596
|
+
struct is_trivially_copy_constructible;
|
|
573
597
|
|
|
574
598
|
template<class A, class B>
|
|
575
599
|
struct is_trivially_copy_constructible<boost::container::dtl::pair<A,B> >
|
|
576
600
|
{
|
|
577
|
-
BOOST_STATIC_CONSTEXPR bool value =
|
|
601
|
+
BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_copy_constructible<A>::value &&
|
|
602
|
+
boost::move_detail::is_trivially_copy_constructible<B>::value;
|
|
578
603
|
};
|
|
579
604
|
|
|
605
|
+
template<class A, class B>
|
|
606
|
+
struct is_trivially_copy_constructible<std::pair<A,B> >
|
|
607
|
+
: is_trivially_copy_constructible<boost::container::dtl::pair<A,B> >
|
|
608
|
+
{};
|
|
609
|
+
|
|
610
|
+
//
|
|
611
|
+
// is_trivially_move_constructible
|
|
612
|
+
//
|
|
613
|
+
|
|
580
614
|
template<class T>
|
|
581
|
-
struct
|
|
615
|
+
struct is_trivially_move_constructible;
|
|
582
616
|
|
|
583
617
|
template<class A, class B>
|
|
584
618
|
struct is_trivially_move_constructible<boost::container::dtl::pair<A,B> >
|
|
585
619
|
{
|
|
586
|
-
BOOST_STATIC_CONSTEXPR bool value =
|
|
620
|
+
BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_move_constructible<A>::value &&
|
|
621
|
+
boost::move_detail::is_trivially_move_constructible<B>::value;
|
|
587
622
|
};
|
|
588
623
|
|
|
624
|
+
template<class A, class B>
|
|
625
|
+
struct is_trivially_move_constructible<std::pair<A,B> >
|
|
626
|
+
: is_trivially_move_constructible<boost::container::dtl::pair<A,B> >
|
|
627
|
+
{};
|
|
628
|
+
|
|
589
629
|
template<class T>
|
|
590
630
|
struct is_trivially_destructible;
|
|
591
631
|
|
|
@@ -593,12 +633,31 @@ template<class A, class B>
|
|
|
593
633
|
struct is_trivially_destructible<boost::container::dtl::pair<A,B> >
|
|
594
634
|
{
|
|
595
635
|
BOOST_STATIC_CONSTEXPR bool value = boost::move_detail::is_trivially_destructible<A>::value &&
|
|
596
|
-
|
|
636
|
+
boost::move_detail::is_trivially_destructible<B>::value;
|
|
597
637
|
};
|
|
598
638
|
|
|
639
|
+
template<class A, class B>
|
|
640
|
+
struct is_trivially_destructible<std::pair<A,B> >
|
|
641
|
+
: is_trivially_destructible<boost::container::dtl::pair<A,B> >
|
|
642
|
+
{};
|
|
599
643
|
|
|
600
644
|
} //namespace move_detail{
|
|
601
645
|
|
|
646
|
+
template<class T>
|
|
647
|
+
struct has_trivial_destructor_after_move;
|
|
648
|
+
|
|
649
|
+
template<class A, class B>
|
|
650
|
+
struct has_trivial_destructor_after_move<boost::container::dtl::pair<A,B> >
|
|
651
|
+
{
|
|
652
|
+
BOOST_STATIC_CONSTEXPR bool value = boost::has_trivial_destructor_after_move<A>::value &&
|
|
653
|
+
boost::has_trivial_destructor_after_move<B>::value;
|
|
654
|
+
};
|
|
655
|
+
|
|
656
|
+
template<class A, class B>
|
|
657
|
+
struct has_trivial_destructor_after_move<std::pair<A,B> >
|
|
658
|
+
: has_trivial_destructor_after_move<boost::container::dtl::pair<A,B> >
|
|
659
|
+
{};
|
|
660
|
+
|
|
602
661
|
} //namespace boost {
|
|
603
662
|
|
|
604
663
|
#include <boost/container/detail/config_end.hpp>
|
|
@@ -23,6 +23,8 @@
|
|
|
23
23
|
// Standard predeclarations
|
|
24
24
|
//////////////////////////////////////////////////////////////////////////////
|
|
25
25
|
|
|
26
|
+
#include <cstddef>
|
|
27
|
+
|
|
26
28
|
#include <boost/move/detail/std_ns_begin.hpp>
|
|
27
29
|
BOOST_MOVE_STD_NS_BEG
|
|
28
30
|
|
|
@@ -59,4 +61,15 @@ struct pointer_traits;
|
|
|
59
61
|
BOOST_MOVE_STD_NS_END
|
|
60
62
|
#include <boost/move/detail/std_ns_end.hpp>
|
|
61
63
|
|
|
64
|
+
#if defined(__cpp_aligned_new)
|
|
65
|
+
|
|
66
|
+
//align_val_t is not usually in an inline namespace
|
|
67
|
+
namespace std {
|
|
68
|
+
|
|
69
|
+
enum class align_val_t : std::size_t;
|
|
70
|
+
|
|
71
|
+
} //namespace std
|
|
72
|
+
|
|
73
|
+
#endif
|
|
74
|
+
|
|
62
75
|
#endif //#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
|