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
|
@@ -19,6 +19,16 @@
|
|
|
19
19
|
#ifndef BOOST_REGEX_V5_MATCH_RESULTS_HPP
|
|
20
20
|
#define BOOST_REGEX_V5_MATCH_RESULTS_HPP
|
|
21
21
|
|
|
22
|
+
#include <boost/regex/v5/match_flags.hpp>
|
|
23
|
+
#include <boost/regex/v5/sub_match.hpp>
|
|
24
|
+
#include <boost/regex/v5/basic_regex.hpp>
|
|
25
|
+
#include <boost/regex/v5/regex_format.hpp>
|
|
26
|
+
|
|
27
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
28
|
+
#include <string>
|
|
29
|
+
#include <vector>
|
|
30
|
+
#endif
|
|
31
|
+
|
|
22
32
|
namespace boost{
|
|
23
33
|
#ifdef BOOST_REGEX_MSVC
|
|
24
34
|
#pragma warning(push)
|
|
@@ -37,7 +47,7 @@ class named_subexpressions;
|
|
|
37
47
|
|
|
38
48
|
}
|
|
39
49
|
|
|
40
|
-
template <class BidiIterator, class Allocator>
|
|
50
|
+
BOOST_REGEX_MODULE_EXPORT template <class BidiIterator, class Allocator>
|
|
41
51
|
class match_results
|
|
42
52
|
{
|
|
43
53
|
private:
|
|
@@ -97,15 +107,23 @@ public:
|
|
|
97
107
|
bool empty() const
|
|
98
108
|
{ return m_subs.size() < 2; }
|
|
99
109
|
// element access:
|
|
100
|
-
|
|
110
|
+
private:
|
|
111
|
+
difference_type do_get_length(int sub = 0) const
|
|
101
112
|
{
|
|
102
|
-
if(m_is_singular)
|
|
113
|
+
if (m_is_singular)
|
|
103
114
|
raise_logic_error();
|
|
104
115
|
sub += 2;
|
|
105
|
-
if((sub < (int)m_subs.size()) && (sub > 0))
|
|
116
|
+
if ((sub < (int)m_subs.size()) && (sub > 0))
|
|
106
117
|
return m_subs[sub].length();
|
|
107
118
|
return 0;
|
|
108
119
|
}
|
|
120
|
+
public:
|
|
121
|
+
template <class Integer>
|
|
122
|
+
typename std::enable_if<std::is_integral<Integer>::value, difference_type>::type length(Integer sub) const
|
|
123
|
+
{
|
|
124
|
+
return do_get_length(static_cast<int>(sub));
|
|
125
|
+
}
|
|
126
|
+
difference_type length() const { return do_get_length(0); }
|
|
109
127
|
difference_type length(const char_type* sub) const
|
|
110
128
|
{
|
|
111
129
|
if(m_is_singular)
|
|
@@ -161,7 +179,8 @@ public:
|
|
|
161
179
|
{
|
|
162
180
|
return position(sub.c_str());
|
|
163
181
|
}
|
|
164
|
-
|
|
182
|
+
private:
|
|
183
|
+
string_type do_get_string(int sub = 0) const
|
|
165
184
|
{
|
|
166
185
|
if(m_is_singular)
|
|
167
186
|
raise_logic_error();
|
|
@@ -177,6 +196,13 @@ public:
|
|
|
177
196
|
}
|
|
178
197
|
return result;
|
|
179
198
|
}
|
|
199
|
+
public:
|
|
200
|
+
template <class Integer>
|
|
201
|
+
typename std::enable_if<std::is_integral<Integer>::value, string_type>::type str(Integer sub) const
|
|
202
|
+
{
|
|
203
|
+
return do_get_string(static_cast<int>(sub));
|
|
204
|
+
}
|
|
205
|
+
string_type str() const { return do_get_string(0); }
|
|
180
206
|
string_type str(const char_type* sub) const
|
|
181
207
|
{
|
|
182
208
|
return (*this)[sub].str();
|
|
@@ -196,10 +222,15 @@ public:
|
|
|
196
222
|
{
|
|
197
223
|
return (*this)[sub].str();
|
|
198
224
|
}
|
|
199
|
-
|
|
225
|
+
private:
|
|
226
|
+
const_reference get_at(int sub) const
|
|
200
227
|
{
|
|
201
228
|
if(m_is_singular && m_subs.empty())
|
|
202
229
|
raise_logic_error();
|
|
230
|
+
|
|
231
|
+
if (sub >= INT_MAX - 2 )
|
|
232
|
+
return m_null;
|
|
233
|
+
|
|
203
234
|
sub += 2;
|
|
204
235
|
if(sub < (int)m_subs.size() && (sub >= 0))
|
|
205
236
|
{
|
|
@@ -207,6 +238,12 @@ public:
|
|
|
207
238
|
}
|
|
208
239
|
return m_null;
|
|
209
240
|
}
|
|
241
|
+
public:
|
|
242
|
+
template <class Integer>
|
|
243
|
+
typename std::enable_if<std::is_integral<Integer>::value, const_reference>::type operator[](Integer sub) const
|
|
244
|
+
{
|
|
245
|
+
return get_at(static_cast<int>(sub));
|
|
246
|
+
}
|
|
210
247
|
//
|
|
211
248
|
// Named sub-expressions:
|
|
212
249
|
//
|
|
@@ -530,7 +567,7 @@ public:
|
|
|
530
567
|
|
|
531
568
|
void set_named_subs(std::shared_ptr<named_sub_type> subs)
|
|
532
569
|
{
|
|
533
|
-
m_named_subs = subs;
|
|
570
|
+
m_named_subs = std::move(subs);
|
|
534
571
|
}
|
|
535
572
|
|
|
536
573
|
private:
|
|
@@ -643,13 +680,13 @@ void match_results<BidiIterator, Allocator>::maybe_assign(const match_results<B
|
|
|
643
680
|
*this = m;
|
|
644
681
|
}
|
|
645
682
|
|
|
646
|
-
template <class BidiIterator, class Allocator>
|
|
683
|
+
BOOST_REGEX_MODULE_EXPORT template <class BidiIterator, class Allocator>
|
|
647
684
|
void swap(match_results<BidiIterator, Allocator>& a, match_results<BidiIterator, Allocator>& b)
|
|
648
685
|
{
|
|
649
686
|
a.swap(b);
|
|
650
687
|
}
|
|
651
688
|
|
|
652
|
-
template <class charT, class traits, class BidiIterator, class Allocator>
|
|
689
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT, class traits, class BidiIterator, class Allocator>
|
|
653
690
|
std::basic_ostream<charT, traits>&
|
|
654
691
|
operator << (std::basic_ostream<charT, traits>& os,
|
|
655
692
|
const match_results<BidiIterator, Allocator>& s)
|
|
@@ -18,6 +18,8 @@
|
|
|
18
18
|
#ifndef BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP
|
|
19
19
|
#define BOOST_REGEX_V5_MEM_BLOCK_CACHE_HPP
|
|
20
20
|
|
|
21
|
+
#include <boost/regex/config.hpp>
|
|
22
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
21
23
|
#include <new>
|
|
22
24
|
#ifdef BOOST_HAS_THREADS
|
|
23
25
|
#include <mutex>
|
|
@@ -30,6 +32,8 @@
|
|
|
30
32
|
#define BOOST_REGEX_ATOMIC_POINTER std::atomic
|
|
31
33
|
#endif
|
|
32
34
|
#endif
|
|
35
|
+
#endif
|
|
36
|
+
|
|
33
37
|
|
|
34
38
|
namespace boost{
|
|
35
39
|
namespace BOOST_REGEX_DETAIL_NS{
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
#define BOOST_REGEX_OBJECT_CACHE_HPP
|
|
21
21
|
|
|
22
22
|
#include <boost/regex/config.hpp>
|
|
23
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
23
24
|
#include <memory>
|
|
24
25
|
#include <map>
|
|
25
26
|
#include <list>
|
|
@@ -28,6 +29,7 @@
|
|
|
28
29
|
#ifdef BOOST_HAS_THREADS
|
|
29
30
|
#include <mutex>
|
|
30
31
|
#endif
|
|
32
|
+
#endif
|
|
31
33
|
|
|
32
34
|
namespace boost{
|
|
33
35
|
|
|
@@ -23,8 +23,10 @@
|
|
|
23
23
|
#include <boost/regex/config.hpp>
|
|
24
24
|
#endif
|
|
25
25
|
|
|
26
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
26
27
|
#include <cstddef>
|
|
27
28
|
#include <stdexcept>
|
|
29
|
+
#endif
|
|
28
30
|
#include <boost/regex/v5/error_type.hpp>
|
|
29
31
|
#include <boost/regex/v5/regex_traits_defaults.hpp>
|
|
30
32
|
|
|
@@ -37,7 +39,7 @@ namespace boost{
|
|
|
37
39
|
#pragma warning(disable : 26812 4459)
|
|
38
40
|
#endif
|
|
39
41
|
#endif
|
|
40
|
-
class regex_error : public std::runtime_error
|
|
42
|
+
BOOST_REGEX_MODULE_EXPORT class regex_error : public std::runtime_error
|
|
41
43
|
{
|
|
42
44
|
public:
|
|
43
45
|
explicit regex_error(const std::string& s, regex_constants::error_type err = regex_constants::error_unknown, std::ptrdiff_t pos = 0)
|
|
@@ -52,7 +54,7 @@ public:
|
|
|
52
54
|
, m_position(0)
|
|
53
55
|
{
|
|
54
56
|
}
|
|
55
|
-
~regex_error() noexcept override
|
|
57
|
+
~regex_error() noexcept override = default;
|
|
56
58
|
regex_constants::error_type code()const
|
|
57
59
|
{ return m_error_code; }
|
|
58
60
|
std::ptrdiff_t position()const
|
|
@@ -72,8 +74,8 @@ private:
|
|
|
72
74
|
std::ptrdiff_t m_position;
|
|
73
75
|
};
|
|
74
76
|
|
|
75
|
-
typedef regex_error bad_pattern;
|
|
76
|
-
typedef regex_error bad_expression;
|
|
77
|
+
BOOST_REGEX_MODULE_EXPORT typedef regex_error bad_pattern;
|
|
78
|
+
BOOST_REGEX_MODULE_EXPORT typedef regex_error bad_expression;
|
|
77
79
|
|
|
78
80
|
namespace BOOST_REGEX_DETAIL_NS{
|
|
79
81
|
|
|
@@ -12,7 +12,20 @@
|
|
|
12
12
|
#ifndef BOOST_REGEX_MATCHER_HPP
|
|
13
13
|
#define BOOST_REGEX_MATCHER_HPP
|
|
14
14
|
|
|
15
|
+
#include <boost/regex/v5/match_flags.hpp>
|
|
16
|
+
#include <boost/regex/v5/match_results.hpp>
|
|
17
|
+
#include <boost/regex/v5/regbase.hpp>
|
|
15
18
|
#include <boost/regex/v5/iterator_category.hpp>
|
|
19
|
+
#include <boost/regex/v5/states.hpp>
|
|
20
|
+
#include <boost/regex/v5/regex_traits.hpp>
|
|
21
|
+
|
|
22
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
23
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
24
|
+
#include <boost/throw_exception.hpp>
|
|
25
|
+
#endif
|
|
26
|
+
|
|
27
|
+
#include <climits>
|
|
28
|
+
#endif
|
|
16
29
|
|
|
17
30
|
#ifdef BOOST_REGEX_MSVC
|
|
18
31
|
# pragma warning(push)
|
|
@@ -28,25 +41,34 @@
|
|
|
28
41
|
#endif
|
|
29
42
|
#endif
|
|
30
43
|
|
|
44
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
45
|
+
# define BOOST_REGEX_DETAIL_THROW(ex) boost::throw_exception(ex)
|
|
46
|
+
#else
|
|
47
|
+
# define BOOST_REGEX_DETAIL_THROW(ex) throw ex
|
|
48
|
+
#endif
|
|
49
|
+
|
|
31
50
|
namespace boost{
|
|
32
51
|
namespace BOOST_REGEX_DETAIL_NS{
|
|
33
52
|
|
|
34
53
|
//
|
|
35
54
|
// error checking API:
|
|
36
55
|
//
|
|
37
|
-
inline void
|
|
56
|
+
inline void verify_options(boost::regex_constants::syntax_option_type, match_flag_type mf)
|
|
38
57
|
{
|
|
58
|
+
auto is_perl = (mf & match_perl);
|
|
59
|
+
auto is_posix = (mf & match_posix);
|
|
60
|
+
|
|
61
|
+
if (is_perl && is_posix)
|
|
62
|
+
{
|
|
63
|
+
BOOST_REGEX_DETAIL_THROW(std::logic_error("Usage Error: Can't mix Perl and POSIX matching rules"));
|
|
64
|
+
}
|
|
65
|
+
|
|
39
66
|
//
|
|
40
67
|
// can't mix match_extra with POSIX matching rules:
|
|
41
68
|
//
|
|
42
|
-
if ((mf & match_extra) &&
|
|
69
|
+
if ((mf & match_extra) && is_posix)
|
|
43
70
|
{
|
|
44
|
-
std::logic_error
|
|
45
|
-
#ifndef BOOST_REGEX_STANDALONE
|
|
46
|
-
throw_exception(msg);
|
|
47
|
-
#else
|
|
48
|
-
throw msg;
|
|
49
|
-
#endif
|
|
71
|
+
BOOST_REGEX_DETAIL_THROW(std::logic_error("Usage Error: Can't mix regular expression captures with POSIX matching rules"));
|
|
50
72
|
}
|
|
51
73
|
}
|
|
52
74
|
//
|
|
@@ -558,6 +580,33 @@ private:
|
|
|
558
580
|
#endif
|
|
559
581
|
};
|
|
560
582
|
|
|
583
|
+
template <class Matcher>
|
|
584
|
+
inline bool factory_match(Matcher& m)
|
|
585
|
+
{
|
|
586
|
+
return m.match();
|
|
587
|
+
}
|
|
588
|
+
template <class Matcher>
|
|
589
|
+
inline bool factory_find(Matcher& m)
|
|
590
|
+
{
|
|
591
|
+
return m.find();
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
#ifdef BOOST_REGEX_AS_MODULE
|
|
595
|
+
bool factory_match(perl_matcher<const char*, match_results<const char*>::allocator_type, regex::traits_type>& m);
|
|
596
|
+
bool factory_match(perl_matcher<const wchar_t*, match_results<const wchar_t*>::allocator_type, wregex::traits_type>& m);
|
|
597
|
+
bool factory_match(perl_matcher<std::string::const_iterator, match_results<std::string::const_iterator>::allocator_type, regex::traits_type>& m);
|
|
598
|
+
bool factory_match(perl_matcher<std::wstring::const_iterator, match_results<std::wstring::const_iterator>::allocator_type, wregex::traits_type>& m);
|
|
599
|
+
bool factory_match(perl_matcher<std::string::iterator, match_results<std::string::iterator>::allocator_type, regex::traits_type>& m);
|
|
600
|
+
bool factory_match(perl_matcher<std::wstring::iterator, match_results<std::wstring::iterator>::allocator_type, wregex::traits_type>& m);
|
|
601
|
+
|
|
602
|
+
bool factory_find(perl_matcher<const char*, match_results<const char*>::allocator_type, regex::traits_type>& m);
|
|
603
|
+
bool factory_find(perl_matcher<const wchar_t*, match_results<const wchar_t*>::allocator_type, wregex::traits_type>& m);
|
|
604
|
+
bool factory_find(perl_matcher<std::string::const_iterator, match_results<std::string::const_iterator>::allocator_type, regex::traits_type>& m);
|
|
605
|
+
bool factory_find(perl_matcher<std::wstring::const_iterator, match_results<std::wstring::const_iterator>::allocator_type, wregex::traits_type>& m);
|
|
606
|
+
bool factory_find(perl_matcher<std::string::iterator, match_results<std::string::iterator>::allocator_type, regex::traits_type>& m);
|
|
607
|
+
bool factory_find(perl_matcher<std::wstring::iterator, match_results<std::wstring::iterator>::allocator_type, wregex::traits_type>& m);
|
|
608
|
+
#endif
|
|
609
|
+
|
|
561
610
|
} // namespace BOOST_REGEX_DETAIL_NS
|
|
562
611
|
|
|
563
612
|
#ifdef BOOST_REGEX_MSVC
|
|
@@ -20,6 +20,22 @@
|
|
|
20
20
|
#ifndef BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP
|
|
21
21
|
#define BOOST_REGEX_V5_PERL_MATCHER_COMMON_HPP
|
|
22
22
|
|
|
23
|
+
#include <boost/regex/config.hpp>
|
|
24
|
+
|
|
25
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
26
|
+
|
|
27
|
+
#include <boost/config.hpp>
|
|
28
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
29
|
+
#pragma once
|
|
30
|
+
#include <boost/regex/v5/perl_matcher.hpp>
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
#include <boost/regex/v5/basic_regex.hpp>
|
|
36
|
+
#include <boost/regex/v5/match_flags.hpp>
|
|
37
|
+
#include <boost/regex/v5/match_results.hpp>
|
|
38
|
+
|
|
23
39
|
#ifdef BOOST_REGEX_MSVC
|
|
24
40
|
# pragma warning(push)
|
|
25
41
|
#pragma warning(disable:4459)
|
|
@@ -44,12 +60,7 @@ void perl_matcher<BidiIterator, Allocator, traits>::construct_init(const basic_r
|
|
|
44
60
|
if(e.empty())
|
|
45
61
|
{
|
|
46
62
|
// precondition failure: e is not a valid regex.
|
|
47
|
-
std::invalid_argument
|
|
48
|
-
#ifndef BOOST_REGEX_STANDALONE
|
|
49
|
-
boost::throw_exception(ex);
|
|
50
|
-
#else
|
|
51
|
-
throw e;
|
|
52
|
-
#endif
|
|
63
|
+
BOOST_REGEX_DETAIL_THROW(std::invalid_argument("Invalid regular expression object"));
|
|
53
64
|
}
|
|
54
65
|
pstate = 0;
|
|
55
66
|
m_match_flags = f;
|
|
@@ -82,7 +93,11 @@ void perl_matcher<BidiIterator, Allocator, traits>::construct_init(const basic_r
|
|
|
82
93
|
match_any_mask = static_cast<unsigned char>((f & match_not_dot_newline) ? BOOST_REGEX_DETAIL_NS::test_not_newline : BOOST_REGEX_DETAIL_NS::test_newline);
|
|
83
94
|
// Disable match_any if requested in the state machine:
|
|
84
95
|
if(e.get_data().m_disable_match_any)
|
|
96
|
+
{
|
|
97
|
+
if (m_match_flags & match_posix)
|
|
98
|
+
BOOST_REGEX_DETAIL_THROW(std::logic_error("Invalid regex for POSIX-style matching"));
|
|
85
99
|
m_match_flags &= regex_constants::match_not_any;
|
|
100
|
+
}
|
|
86
101
|
}
|
|
87
102
|
#ifdef BOOST_REGEX_MSVC
|
|
88
103
|
# pragma warning(pop)
|
|
@@ -20,6 +20,18 @@
|
|
|
20
20
|
#ifndef BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP
|
|
21
21
|
#define BOOST_REGEX_V5_PERL_MATCHER_NON_RECURSIVE_HPP
|
|
22
22
|
|
|
23
|
+
#include <boost/regex/config.hpp>
|
|
24
|
+
|
|
25
|
+
#ifndef BOOST_REGEX_STANDALONE
|
|
26
|
+
|
|
27
|
+
#include <boost/config.hpp>
|
|
28
|
+
#if defined(BOOST_HAS_PRAGMA_ONCE)
|
|
29
|
+
#pragma once
|
|
30
|
+
#include <boost/regex/v5/perl_matcher.hpp>
|
|
31
|
+
#endif
|
|
32
|
+
|
|
33
|
+
#endif
|
|
34
|
+
|
|
23
35
|
#include <boost/regex/v5/mem_block_cache.hpp>
|
|
24
36
|
|
|
25
37
|
#ifdef BOOST_REGEX_MSVC
|
|
@@ -225,8 +237,8 @@ void perl_matcher<BidiIterator, Allocator, traits>::extend_stack()
|
|
|
225
237
|
saved_state* backup_state;
|
|
226
238
|
stack_base = static_cast<saved_state*>(get_mem_block());
|
|
227
239
|
backup_state = reinterpret_cast<saved_state*>(reinterpret_cast<char*>(stack_base)+BOOST_REGEX_BLOCKSIZE);
|
|
228
|
-
saved_extra_block* block =
|
|
229
|
-
|
|
240
|
+
saved_extra_block* block = reinterpret_cast<saved_extra_block*>(
|
|
241
|
+
reinterpret_cast<std::uintptr_t>(backup_state) - sizeof(saved_extra_block));
|
|
230
242
|
(void) new (block) saved_extra_block(m_stack_base, m_backup_state);
|
|
231
243
|
m_stack_base = stack_base;
|
|
232
244
|
m_backup_state = block;
|
|
@@ -1204,7 +1216,10 @@ bool perl_matcher<BidiIterator, Allocator, traits>::skip_until_paren(int index,
|
|
|
1204
1216
|
else if(pstate->type == syntax_element_startmark)
|
|
1205
1217
|
{
|
|
1206
1218
|
int idx = static_cast<const re_brace*>(pstate)->index;
|
|
1207
|
-
|
|
1219
|
+
if(idx > 0)
|
|
1220
|
+
match_startmark();
|
|
1221
|
+
else
|
|
1222
|
+
pstate = pstate->next.p;
|
|
1208
1223
|
skip_until_paren(idx, false);
|
|
1209
1224
|
continue;
|
|
1210
1225
|
}
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
#ifndef BOOST_REGEX_V5_REGBASE_HPP
|
|
20
20
|
#define BOOST_REGEX_V5_REGBASE_HPP
|
|
21
21
|
|
|
22
|
+
#include <boost/regex/config.hpp>
|
|
23
|
+
|
|
22
24
|
namespace boost{
|
|
23
25
|
//
|
|
24
26
|
// class regbase
|
|
@@ -112,7 +114,7 @@ public:
|
|
|
112
114
|
//
|
|
113
115
|
namespace regex_constants{
|
|
114
116
|
|
|
115
|
-
enum flag_type_
|
|
117
|
+
BOOST_REGEX_MODULE_EXPORT enum flag_type_
|
|
116
118
|
{
|
|
117
119
|
|
|
118
120
|
no_except = ::boost::regbase::no_except,
|
|
@@ -148,7 +150,7 @@ namespace regex_constants{
|
|
|
148
150
|
JavaScript = normal,
|
|
149
151
|
JScript = normal
|
|
150
152
|
};
|
|
151
|
-
typedef ::boost::regbase::flag_type syntax_option_type;
|
|
153
|
+
BOOST_REGEX_MODULE_EXPORT typedef ::boost::regbase::flag_type syntax_option_type;
|
|
152
154
|
|
|
153
155
|
} // namespace regex_constants
|
|
154
156
|
|
|
@@ -46,17 +46,17 @@
|
|
|
46
46
|
|
|
47
47
|
namespace boost{
|
|
48
48
|
#ifdef BOOST_REGEX_NO_FWD
|
|
49
|
-
typedef basic_regex<char, regex_traits<char> > regex;
|
|
49
|
+
BOOST_REGEX_MODULE_EXPORT typedef basic_regex<char, regex_traits<char> > regex;
|
|
50
50
|
#ifndef BOOST_NO_WREGEX
|
|
51
|
-
typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
|
|
51
|
+
BOOST_REGEX_MODULE_EXPORT typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
|
|
52
52
|
#endif
|
|
53
53
|
#endif
|
|
54
54
|
|
|
55
|
-
typedef match_results<const char*> cmatch;
|
|
56
|
-
typedef match_results<std::string::const_iterator> smatch;
|
|
55
|
+
BOOST_REGEX_MODULE_EXPORT typedef match_results<const char*> cmatch;
|
|
56
|
+
BOOST_REGEX_MODULE_EXPORT typedef match_results<std::string::const_iterator> smatch;
|
|
57
57
|
#ifndef BOOST_NO_WREGEX
|
|
58
|
-
typedef match_results<const wchar_t*> wcmatch;
|
|
59
|
-
typedef match_results<std::wstring::const_iterator> wsmatch;
|
|
58
|
+
BOOST_REGEX_MODULE_EXPORT typedef match_results<const wchar_t*> wcmatch;
|
|
59
|
+
BOOST_REGEX_MODULE_EXPORT typedef match_results<std::wstring::const_iterator> wsmatch;
|
|
60
60
|
#endif
|
|
61
61
|
|
|
62
62
|
} // namespace boost
|
|
@@ -21,15 +21,20 @@
|
|
|
21
21
|
#ifndef BOOST_REGEX_FORMAT_HPP
|
|
22
22
|
#define BOOST_REGEX_FORMAT_HPP
|
|
23
23
|
|
|
24
|
+
#include <boost/regex/v5/match_flags.hpp>
|
|
25
|
+
#include <boost/regex/v5/sub_match.hpp>
|
|
26
|
+
#include <boost/regex/v5/regex_traits_defaults.hpp>
|
|
27
|
+
#ifndef BOOST_REGEX_AS_MODULE
|
|
24
28
|
#include <type_traits>
|
|
25
29
|
#include <functional>
|
|
30
|
+
#endif
|
|
26
31
|
|
|
27
32
|
namespace boost{
|
|
28
33
|
|
|
29
34
|
//
|
|
30
35
|
// Forward declaration:
|
|
31
36
|
//
|
|
32
|
-
|
|
37
|
+
BOOST_REGEX_MODULE_EXPORT template <class BidiIterator, class Allocator = typename std::vector<sub_match<BidiIterator> >::allocator_type >
|
|
33
38
|
class match_results;
|
|
34
39
|
|
|
35
40
|
namespace BOOST_REGEX_DETAIL_NS{
|
|
@@ -97,11 +102,11 @@ private:
|
|
|
97
102
|
|
|
98
103
|
void put(char_type c);
|
|
99
104
|
void put(const sub_match_type& sub);
|
|
100
|
-
void format_all();
|
|
105
|
+
void format_all(unsigned recursion_count = 0);
|
|
101
106
|
void format_perl();
|
|
102
107
|
void format_escape();
|
|
103
|
-
void format_conditional();
|
|
104
|
-
void format_until_scope_end();
|
|
108
|
+
void format_conditional(unsigned recursion_count);
|
|
109
|
+
void format_until_scope_end(unsigned recursion_count);
|
|
105
110
|
bool handle_perl_verb(bool have_brace);
|
|
106
111
|
|
|
107
112
|
inline typename Results::value_type const& get_named_sub(ForwardIter i, ForwardIter j, const std::integral_constant<bool, false>&)
|
|
@@ -199,7 +204,7 @@ OutputIterator basic_regex_formatter<OutputIterator, Results, traits, ForwardIte
|
|
|
199
204
|
}
|
|
200
205
|
|
|
201
206
|
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
|
202
|
-
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all()
|
|
207
|
+
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_all(unsigned recursion_count)
|
|
203
208
|
{
|
|
204
209
|
// over and over:
|
|
205
210
|
while(m_position != m_end)
|
|
@@ -219,12 +224,12 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
219
224
|
format_escape();
|
|
220
225
|
break;
|
|
221
226
|
case '(':
|
|
222
|
-
if(m_flags & boost::regex_constants::format_all)
|
|
227
|
+
if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH))
|
|
223
228
|
{
|
|
224
229
|
++m_position;
|
|
225
230
|
bool have_conditional = m_have_conditional;
|
|
226
231
|
m_have_conditional = false;
|
|
227
|
-
format_until_scope_end();
|
|
232
|
+
format_until_scope_end(recursion_count);
|
|
228
233
|
m_have_conditional = have_conditional;
|
|
229
234
|
if(m_position == m_end)
|
|
230
235
|
return;
|
|
@@ -252,10 +257,10 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
252
257
|
++m_position;
|
|
253
258
|
break;
|
|
254
259
|
case '?':
|
|
255
|
-
if(m_flags & boost::regex_constants::format_all)
|
|
260
|
+
if((m_flags & boost::regex_constants::format_all) && (recursion_count < BOOST_REGEX_MAX_RECURSION_DEPTH))
|
|
256
261
|
{
|
|
257
262
|
++m_position;
|
|
258
|
-
format_conditional();
|
|
263
|
+
format_conditional(recursion_count);
|
|
259
264
|
break;
|
|
260
265
|
}
|
|
261
266
|
put(*m_position);
|
|
@@ -644,7 +649,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
644
649
|
}
|
|
645
650
|
|
|
646
651
|
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
|
647
|
-
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional()
|
|
652
|
+
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_conditional(unsigned recursion_count)
|
|
648
653
|
{
|
|
649
654
|
if(m_position == m_end)
|
|
650
655
|
{
|
|
@@ -692,7 +697,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
692
697
|
if(m_results[v].matched)
|
|
693
698
|
{
|
|
694
699
|
m_have_conditional = true;
|
|
695
|
-
format_all();
|
|
700
|
+
format_all(++recursion_count);
|
|
696
701
|
m_have_conditional = false;
|
|
697
702
|
if((m_position != m_end) && (*m_position == static_cast<char_type>(':')))
|
|
698
703
|
{
|
|
@@ -702,7 +707,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
702
707
|
output_state saved_state = m_state;
|
|
703
708
|
m_state = output_none;
|
|
704
709
|
// format the rest of this scope:
|
|
705
|
-
format_until_scope_end();
|
|
710
|
+
format_until_scope_end(recursion_count);
|
|
706
711
|
// restore output state:
|
|
707
712
|
m_state = saved_state;
|
|
708
713
|
}
|
|
@@ -714,7 +719,7 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
714
719
|
m_state = output_none;
|
|
715
720
|
// format until ':' or ')':
|
|
716
721
|
m_have_conditional = true;
|
|
717
|
-
format_all();
|
|
722
|
+
format_all(++recursion_count);
|
|
718
723
|
m_have_conditional = false;
|
|
719
724
|
// restore state:
|
|
720
725
|
m_state = saved_state;
|
|
@@ -723,17 +728,17 @@ void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format
|
|
|
723
728
|
// skip the ':':
|
|
724
729
|
++m_position;
|
|
725
730
|
// format the rest of this scope:
|
|
726
|
-
format_until_scope_end();
|
|
731
|
+
format_until_scope_end(recursion_count);
|
|
727
732
|
}
|
|
728
733
|
}
|
|
729
734
|
}
|
|
730
735
|
|
|
731
736
|
template <class OutputIterator, class Results, class traits, class ForwardIter>
|
|
732
|
-
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end()
|
|
737
|
+
void basic_regex_formatter<OutputIterator, Results, traits, ForwardIter>::format_until_scope_end(unsigned recursion_count)
|
|
733
738
|
{
|
|
734
739
|
do
|
|
735
740
|
{
|
|
736
|
-
format_all();
|
|
741
|
+
format_all(++recursion_count);
|
|
737
742
|
if((m_position == m_end) || (*m_position == static_cast<char_type>(')')))
|
|
738
743
|
return;
|
|
739
744
|
put(*m_position++);
|
|
@@ -1095,7 +1100,7 @@ struct compute_functor_type
|
|
|
1095
1100
|
|
|
1096
1101
|
} // namespace BOOST_REGEX_DETAIL_NS
|
|
1097
1102
|
|
|
1098
|
-
template <class OutputIterator, class Iterator, class Allocator, class Functor>
|
|
1103
|
+
BOOST_REGEX_MODULE_EXPORT template <class OutputIterator, class Iterator, class Allocator, class Functor>
|
|
1099
1104
|
inline OutputIterator regex_format(OutputIterator out,
|
|
1100
1105
|
const match_results<Iterator, Allocator>& m,
|
|
1101
1106
|
Functor fmt,
|
|
@@ -1105,7 +1110,7 @@ inline OutputIterator regex_format(OutputIterator out,
|
|
|
1105
1110
|
return m.format(out, fmt, flags);
|
|
1106
1111
|
}
|
|
1107
1112
|
|
|
1108
|
-
template <class Iterator, class Allocator, class Functor>
|
|
1113
|
+
BOOST_REGEX_MODULE_EXPORT template <class Iterator, class Allocator, class Functor>
|
|
1109
1114
|
inline std::basic_string<typename match_results<Iterator, Allocator>::char_type> regex_format(const match_results<Iterator, Allocator>& m,
|
|
1110
1115
|
Functor fmt,
|
|
1111
1116
|
match_flag_type flags = format_all)
|
|
@@ -36,30 +36,30 @@
|
|
|
36
36
|
|
|
37
37
|
namespace boost{
|
|
38
38
|
|
|
39
|
-
template <class charT>
|
|
39
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT>
|
|
40
40
|
class cpp_regex_traits;
|
|
41
|
-
template <class charT>
|
|
41
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT>
|
|
42
42
|
struct c_regex_traits;
|
|
43
|
-
template <class charT>
|
|
43
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT>
|
|
44
44
|
class w32_regex_traits;
|
|
45
45
|
|
|
46
46
|
#ifdef BOOST_REGEX_USE_WIN32_LOCALE
|
|
47
|
-
template <class charT, class implementationT = w32_regex_traits<charT> >
|
|
47
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT, class implementationT = w32_regex_traits<charT> >
|
|
48
48
|
struct regex_traits;
|
|
49
49
|
#elif defined(BOOST_REGEX_USE_CPP_LOCALE)
|
|
50
|
-
template <class charT, class implementationT = cpp_regex_traits<charT> >
|
|
50
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT, class implementationT = cpp_regex_traits<charT> >
|
|
51
51
|
struct regex_traits;
|
|
52
52
|
#else
|
|
53
|
-
template <class charT, class implementationT = c_regex_traits<charT> >
|
|
53
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT, class implementationT = c_regex_traits<charT> >
|
|
54
54
|
struct regex_traits;
|
|
55
55
|
#endif
|
|
56
56
|
|
|
57
|
-
template <class charT, class traits = regex_traits<charT> >
|
|
57
|
+
BOOST_REGEX_MODULE_EXPORT template <class charT, class traits = regex_traits<charT> >
|
|
58
58
|
class basic_regex;
|
|
59
59
|
|
|
60
|
-
typedef basic_regex<char, regex_traits<char> > regex;
|
|
60
|
+
BOOST_REGEX_MODULE_EXPORT typedef basic_regex<char, regex_traits<char> > regex;
|
|
61
61
|
#ifndef BOOST_NO_WREGEX
|
|
62
|
-
typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
|
|
62
|
+
BOOST_REGEX_MODULE_EXPORT typedef basic_regex<wchar_t, regex_traits<wchar_t> > wregex;
|
|
63
63
|
#endif
|
|
64
64
|
|
|
65
65
|
} // namespace boost
|