@zigc/lib 0.17.0-dev.135 → 0.17.0-dev.224
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.
- package/c/stdlib.zig +32 -22
- package/compiler/aro/aro/Compilation.zig +0 -3
- package/compiler/translate-c/ast.zig +5 -2
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +1 -22
- package/docs/wasm/markdown/Parser.zig +5 -9
- package/include/__clang_spirv_builtins.h +12 -12
- package/include/__float_float.h +176 -0
- package/include/__float_header_macro.h +12 -0
- package/include/__float_infinity_nan.h +20 -0
- package/include/amo.h +131 -0
- package/include/amxavx512intrin.h +215 -1
- package/include/amxintrin.h +0 -2
- package/include/arm_acle.h +37 -27
- package/include/arm_neon.h +218 -82
- package/include/arm_sme.h +8 -8
- package/include/arm_sve.h +4162 -3782
- package/include/avx10_2_512bf16intrin.h +19 -12
- package/include/avx10_2_512convertintrin.h +1 -1
- package/include/avx10_2_512niintrin.h +31 -31
- package/include/avx10_2_512satcvtdsintrin.h +1 -1
- package/include/avx10_2bf16intrin.h +54 -45
- package/include/avx10_2convertintrin.h +2 -2
- package/include/avx10_2copyintrin.h +1 -1
- package/include/avx10_2niintrin.h +14 -14
- package/include/avx10_2satcvtdsintrin.h +2 -2
- package/include/avx2intrin.h +275 -377
- package/include/avx512bf16intrin.h +25 -16
- package/include/avx512bitalgintrin.h +19 -30
- package/include/avx512bwintrin.h +386 -505
- package/include/avx512cdintrin.h +42 -55
- package/include/avx512dqintrin.h +132 -161
- package/include/avx512fintrin.h +1015 -1424
- package/include/avx512fp16intrin.h +112 -110
- package/include/avx512ifmaintrin.h +32 -34
- package/include/avx512ifmavlintrin.h +73 -46
- package/include/avx512vbmi2intrin.h +43 -32
- package/include/avx512vbmiintrin.h +19 -27
- package/include/avx512vbmivlintrin.h +35 -49
- package/include/avx512vlbf16intrin.h +32 -22
- package/include/avx512vlbitalgintrin.h +37 -53
- package/include/avx512vlbwintrin.h +470 -573
- package/include/avx512vlcdintrin.h +74 -102
- package/include/avx512vldqintrin.h +110 -127
- package/include/avx512vlfp16intrin.h +130 -111
- package/include/avx512vlintrin.h +945 -1299
- package/include/avx512vlvbmi2intrin.h +78 -63
- package/include/avx512vlvnniintrin.h +21 -18
- package/include/avx512vlvp2intersectintrin.h +2 -2
- package/include/avx512vnniintrin.h +10 -10
- package/include/avx512vp2intersectintrin.h +1 -2
- package/include/avx512vpopcntdqintrin.h +8 -10
- package/include/avx512vpopcntdqvlintrin.h +17 -15
- package/include/avxifmaintrin.h +16 -0
- package/include/avxintrin.h +165 -241
- package/include/avxvnniint16intrin.h +118 -99
- package/include/avxvnniint8intrin.h +56 -32
- package/include/avxvnniintrin.h +16 -8
- package/include/cpuid.h +101 -4
- package/include/emmintrin.h +168 -168
- package/include/f16cintrin.h +23 -9
- package/include/float.h +16 -155
- package/include/fma4intrin.h +98 -96
- package/include/fmaintrin.h +96 -66
- package/include/gfniintrin.h +21 -16
- package/include/hexagon_types.h +23 -20
- package/include/hvx_hexagon_protos.h +649 -860
- package/include/immintrin.h +0 -12
- package/include/intrin.h +4 -0
- package/include/lasxintrin.h +113 -0
- package/include/llvm_libc_wrappers/assert.h +3 -5
- package/include/llvm_libc_wrappers/ctype.h +3 -115
- package/include/llvm_libc_wrappers/inttypes.h +3 -5
- package/include/llvm_libc_wrappers/stdio.h +10 -38
- package/include/llvm_libc_wrappers/stdlib.h +3 -24
- package/include/llvm_libc_wrappers/string.h +2 -70
- package/include/llvm_libc_wrappers/time.h +4 -10
- package/include/mmintrin.h +188 -257
- package/include/module.modulemap +23 -4
- package/include/movrs_avx10_2_512intrin.h +2 -2
- package/include/movrs_avx10_2intrin.h +4 -4
- package/include/pmmintrin.h +12 -24
- package/include/ptrauth.h +16 -2
- package/include/riscv_mips.h +34 -0
- package/include/riscv_nds.h +89 -0
- package/include/sifive_vector.h +58 -2
- package/include/sm4evexintrin.h +2 -2
- package/include/smmintrin.h +77 -59
- package/include/spirvintrin.h +194 -0
- package/include/stddefer.h +19 -0
- package/include/tmmintrin.h +116 -147
- package/include/vaesintrin.h +1 -2
- package/include/xmmintrin.h +44 -70
- package/include/xopintrin.h +20 -10
- package/libcxx/include/__algorithm/all_of.h +11 -5
- package/libcxx/include/__algorithm/comp.h +4 -0
- package/libcxx/include/__algorithm/copy.h +28 -147
- package/libcxx/include/__algorithm/copy_backward.h +9 -24
- package/libcxx/include/__algorithm/copy_n.h +50 -16
- package/libcxx/include/__algorithm/count.h +2 -2
- package/libcxx/include/__algorithm/equal.h +43 -55
- package/libcxx/include/__algorithm/fill.h +26 -8
- package/libcxx/include/__algorithm/fill_n.h +32 -46
- package/libcxx/include/__algorithm/find.h +96 -39
- package/libcxx/include/__algorithm/find_end.h +105 -0
- package/libcxx/include/__algorithm/for_each.h +18 -24
- package/libcxx/include/__algorithm/for_each_n.h +20 -47
- package/libcxx/include/__algorithm/for_each_n_segment.h +1 -1
- package/libcxx/include/__algorithm/for_each_segment.h +26 -0
- package/libcxx/include/__algorithm/generate.h +4 -2
- package/libcxx/include/__algorithm/generate_n.h +19 -6
- package/libcxx/include/__algorithm/is_permutation.h +4 -4
- package/libcxx/include/__algorithm/iterator_operations.h +3 -0
- package/libcxx/include/__algorithm/lexicographical_compare.h +2 -2
- package/libcxx/include/__algorithm/lexicographical_compare_three_way.h +6 -6
- package/libcxx/include/__algorithm/make_heap.h +16 -4
- package/libcxx/include/__algorithm/mismatch.h +2 -2
- package/libcxx/include/__algorithm/move.h +8 -19
- package/libcxx/include/__algorithm/move_backward.h +9 -24
- package/libcxx/include/__algorithm/none_of.h +4 -4
- package/libcxx/include/__algorithm/partial_sort.h +1 -1
- package/libcxx/include/__algorithm/partial_sort_copy.h +1 -1
- package/libcxx/include/__algorithm/pstl.h +9 -9
- package/libcxx/include/__algorithm/radix_sort.h +27 -25
- package/libcxx/include/__algorithm/ranges_copy_n.h +3 -26
- package/libcxx/include/__algorithm/ranges_equal.h +17 -26
- package/libcxx/include/__algorithm/ranges_fill.h +7 -6
- package/libcxx/include/__algorithm/ranges_for_each.h +9 -1
- package/libcxx/include/__algorithm/ranges_generate_n.h +2 -6
- package/libcxx/include/__algorithm/ranges_search_n.h +2 -2
- package/libcxx/include/__algorithm/rotate.h +27 -44
- package/libcxx/include/__algorithm/search_n.h +49 -37
- package/libcxx/include/__algorithm/sift_down.h +19 -18
- package/libcxx/include/__algorithm/simd_utils.h +33 -4
- package/libcxx/include/__algorithm/specialized_algorithms.h +54 -0
- package/libcxx/include/__algorithm/stable_sort.h +1 -1
- package/libcxx/include/__assertion_handler +31 -4
- package/libcxx/include/__atomic/atomic.h +36 -60
- package/libcxx/include/__atomic/atomic_flag.h +19 -37
- package/libcxx/include/__atomic/atomic_ref.h +29 -12
- package/libcxx/include/__atomic/atomic_sync.h +127 -55
- package/libcxx/include/__atomic/atomic_sync_timed.h +144 -0
- package/libcxx/include/__atomic/atomic_waitable_traits.h +103 -0
- package/libcxx/include/__atomic/contention_t.h +27 -3
- package/libcxx/include/__atomic/floating_point_helper.h +55 -0
- package/libcxx/include/__bit/countl.h +1 -2
- package/libcxx/include/__bit/countr.h +1 -2
- package/libcxx/include/__bit/has_single_bit.h +1 -1
- package/libcxx/include/__bit/popcount.h +0 -1
- package/libcxx/include/__bit/rotate.h +15 -26
- package/libcxx/include/__bit_reference +207 -18
- package/libcxx/include/__charconv/from_chars_integral.h +1 -1
- package/libcxx/include/__charconv/from_chars_result.h +1 -1
- package/libcxx/include/__charconv/to_chars_integral.h +1 -0
- package/libcxx/include/__charconv/to_chars_result.h +1 -1
- package/libcxx/include/__charconv/traits.h +3 -24
- package/libcxx/include/__chrono/day.h +11 -0
- package/libcxx/include/__chrono/duration.h +58 -33
- package/libcxx/include/__chrono/file_clock.h +4 -2
- package/libcxx/include/__chrono/is_clock.h +72 -0
- package/libcxx/include/__chrono/leap_second.h +13 -0
- package/libcxx/include/__chrono/month.h +13 -0
- package/libcxx/include/__chrono/month_weekday.h +22 -0
- package/libcxx/include/__chrono/monthday.h +20 -0
- package/libcxx/include/__chrono/steady_clock.h +1 -1
- package/libcxx/include/__chrono/system_clock.h +3 -3
- package/libcxx/include/__chrono/time_point.h +37 -13
- package/libcxx/include/__chrono/weekday.h +25 -0
- package/libcxx/include/__chrono/year.h +11 -0
- package/libcxx/include/__chrono/year_month.h +13 -0
- package/libcxx/include/__chrono/year_month_day.h +23 -0
- package/libcxx/include/__chrono/year_month_weekday.h +26 -0
- package/libcxx/include/__chrono/zoned_time.h +16 -0
- package/libcxx/include/__compare/is_eq.h +6 -6
- package/libcxx/include/__compare/strong_order.h +12 -30
- package/libcxx/include/__compare/three_way_comparable.h +2 -2
- package/libcxx/include/__concepts/comparison_common_type.h +40 -0
- package/libcxx/include/__concepts/equality_comparable.h +2 -1
- package/libcxx/include/__condition_variable/condition_variable.h +1 -1
- package/libcxx/include/__config +63 -280
- package/libcxx/include/__configuration/abi.h +14 -24
- package/libcxx/include/__configuration/availability.h +65 -118
- package/libcxx/include/__configuration/compiler.h +6 -6
- package/libcxx/include/__configuration/experimental.h +38 -0
- package/libcxx/include/__configuration/hardening.h +215 -0
- package/libcxx/include/__configuration/language.h +3 -0
- package/libcxx/include/__configuration/platform.h +9 -16
- package/libcxx/include/__coroutine/coroutine_handle.h +9 -9
- package/libcxx/include/__coroutine/noop_coroutine_handle.h +11 -13
- package/libcxx/include/__debug_utils/strict_weak_ordering_check.h +1 -1
- package/libcxx/include/__exception/exception.h +6 -4
- package/libcxx/include/__exception/exception_ptr.h +27 -5
- package/libcxx/include/__exception/nested_exception.h +2 -2
- package/libcxx/include/__exception/operations.h +5 -5
- package/libcxx/include/__expected/bad_expected_access.h +8 -6
- package/libcxx/include/__expected/expected.h +62 -64
- package/libcxx/include/__expected/unexpected.h +4 -4
- package/libcxx/include/__filesystem/copy_options.h +4 -4
- package/libcxx/include/__filesystem/directory_entry.h +37 -33
- package/libcxx/include/__filesystem/directory_iterator.h +9 -11
- package/libcxx/include/__filesystem/directory_options.h +7 -4
- package/libcxx/include/__filesystem/file_status.h +3 -3
- package/libcxx/include/__filesystem/filesystem_error.h +9 -10
- package/libcxx/include/__filesystem/operations.h +97 -66
- package/libcxx/include/__filesystem/path.h +68 -64
- package/libcxx/include/__filesystem/path_iterator.h +1 -3
- package/libcxx/include/__filesystem/perm_options.h +4 -4
- package/libcxx/include/__filesystem/perms.h +4 -4
- package/libcxx/include/__filesystem/recursive_directory_iterator.h +9 -14
- package/libcxx/include/__filesystem/space_info.h +1 -1
- package/libcxx/include/__filesystem/u8path.h +12 -14
- package/libcxx/include/__flat_map/flat_map.h +88 -71
- package/libcxx/include/__flat_map/flat_multimap.h +251 -172
- package/libcxx/include/__flat_map/key_value_iterator.h +0 -1
- package/libcxx/include/__flat_map/utils.h +1 -0
- package/libcxx/include/__flat_set/flat_multiset.h +211 -143
- package/libcxx/include/__flat_set/flat_set.h +86 -68
- package/libcxx/include/__format/concepts.h +0 -14
- package/libcxx/include/__format/extended_grapheme_cluster_table.h +3 -2
- package/libcxx/include/__format/fmt_pair_like.h +42 -0
- package/libcxx/include/__format/format_arg.h +7 -10
- package/libcxx/include/__format/format_args.h +1 -1
- package/libcxx/include/__format/format_context.h +5 -5
- package/libcxx/include/__format/format_parse_context.h +2 -2
- package/libcxx/include/__format/formatter_output.h +30 -34
- package/libcxx/include/__format/indic_conjunct_break_table.h +3 -2
- package/libcxx/include/__format/range_default_formatter.h +2 -41
- package/libcxx/include/__format/range_format.h +71 -0
- package/libcxx/include/__format/range_formatter.h +1 -0
- package/libcxx/include/__format/width_estimation_table.h +4 -2
- package/libcxx/include/__functional/bind.h +10 -15
- package/libcxx/include/__functional/bind_back.h +1 -1
- package/libcxx/include/__functional/bind_front.h +1 -1
- package/libcxx/include/__functional/function.h +57 -75
- package/libcxx/include/__functional/hash.h +1 -10
- package/libcxx/include/__functional/identity.h +1 -1
- package/libcxx/include/__functional/is_transparent.h +8 -0
- package/libcxx/include/__functional/mem_fn.h +2 -1
- package/libcxx/include/__functional/operations.h +18 -0
- package/libcxx/include/__functional/ranges_operations.h +7 -0
- package/libcxx/include/__functional/reference_wrapper.h +7 -5
- package/libcxx/include/__functional/weak_result_type.h +14 -28
- package/libcxx/include/__fwd/ios.h +1 -1
- package/libcxx/include/__fwd/tuple.h +14 -0
- package/libcxx/include/__hash_table +371 -357
- package/libcxx/include/__ios/fpos.h +4 -4
- package/libcxx/include/__iterator/back_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/bounded_iter.h +7 -8
- package/libcxx/include/__iterator/concepts.h +6 -9
- package/libcxx/include/__iterator/cpp17_iterator_concepts.h +13 -12
- package/libcxx/include/__iterator/distance.h +40 -18
- package/libcxx/include/__iterator/front_insert_iterator.h +1 -7
- package/libcxx/include/__iterator/insert_iterator.h +1 -7
- package/libcxx/include/__iterator/istream_iterator.h +6 -7
- package/libcxx/include/__iterator/istreambuf_iterator.h +6 -7
- package/libcxx/include/__iterator/iter_move.h +1 -1
- package/libcxx/include/__iterator/iterator.h +13 -0
- package/libcxx/include/__iterator/iterator_traits.h +13 -14
- package/libcxx/include/__iterator/ostream_iterator.h +1 -7
- package/libcxx/include/__iterator/ostreambuf_iterator.h +1 -7
- package/libcxx/include/__iterator/reverse_iterator.h +8 -13
- package/libcxx/include/__iterator/segmented_iterator.h +3 -8
- package/libcxx/include/__iterator/static_bounded_iter.h +3 -3
- package/libcxx/include/__iterator/wrap_iter.h +8 -6
- package/libcxx/include/__locale +3 -10
- package/libcxx/include/__locale_dir/locale_base_api/bsd_locale_fallbacks.h +0 -10
- package/libcxx/include/__locale_dir/locale_base_api.h +5 -28
- package/libcxx/include/__locale_dir/messages.h +1 -1
- package/libcxx/include/__locale_dir/money.h +2 -2
- package/libcxx/include/__locale_dir/num.h +190 -243
- package/libcxx/include/__locale_dir/pad_and_output.h +5 -6
- package/libcxx/include/__locale_dir/support/bsd_like.h +0 -20
- package/libcxx/include/__locale_dir/support/fuchsia.h +0 -7
- package/libcxx/include/__locale_dir/support/linux.h +0 -37
- package/libcxx/include/__locale_dir/support/netbsd.h +0 -2
- package/libcxx/include/__locale_dir/support/newlib.h +243 -0
- package/libcxx/include/__locale_dir/support/no_locale/characters.h +0 -4
- package/libcxx/include/__locale_dir/support/no_locale/strtonum.h +0 -9
- package/libcxx/include/__locale_dir/support/windows.h +0 -29
- package/libcxx/include/__locale_dir/time.h +3 -7
- package/libcxx/include/__math/hypot.h +1 -1
- package/libcxx/include/__math/logarithms.h +1 -1
- package/libcxx/include/__math/traits.h +80 -11
- package/libcxx/include/__mdspan/extents.h +7 -4
- package/libcxx/include/__mdspan/layout_stride.h +4 -5
- package/libcxx/include/__mdspan/mdspan.h +29 -23
- package/libcxx/include/__memory/addressof.h +7 -5
- package/libcxx/include/__memory/align.h +18 -1
- package/libcxx/include/__memory/allocate_at_least.h +15 -10
- package/libcxx/include/__memory/allocator.h +14 -26
- package/libcxx/include/__memory/allocator_traits.h +6 -4
- package/libcxx/include/__memory/compressed_pair.h +15 -9
- package/libcxx/include/__memory/construct_at.h +12 -23
- package/libcxx/include/__memory/inout_ptr.h +1 -1
- package/libcxx/include/__memory/is_sufficiently_aligned.h +1 -1
- package/libcxx/include/__memory/out_ptr.h +1 -1
- package/libcxx/include/__memory/pointer_traits.h +1 -1
- package/libcxx/include/__memory/raw_storage_iterator.h +3 -9
- package/libcxx/include/__memory/shared_count.h +9 -30
- package/libcxx/include/__memory/shared_ptr.h +100 -145
- package/libcxx/include/__memory/temp_value.h +1 -2
- package/libcxx/include/__memory/uninitialized_algorithms.h +44 -115
- package/libcxx/include/__memory/unique_ptr.h +14 -16
- package/libcxx/include/__memory/uses_allocator_construction.h +1 -0
- package/libcxx/include/__memory_resource/memory_resource.h +4 -2
- package/libcxx/include/__memory_resource/monotonic_buffer_resource.h +1 -1
- package/libcxx/include/__memory_resource/polymorphic_allocator.h +13 -8
- package/libcxx/include/__memory_resource/pool_options.h +1 -1
- package/libcxx/include/__memory_resource/synchronized_pool_resource.h +4 -2
- package/libcxx/include/__memory_resource/unsynchronized_pool_resource.h +1 -1
- package/libcxx/include/__mutex/mutex.h +2 -2
- package/libcxx/include/__mutex/once_flag.h +14 -11
- package/libcxx/include/__mutex/tag_types.h +3 -3
- package/libcxx/include/__mutex/unique_lock.h +8 -7
- package/libcxx/include/__new/align_val_t.h +6 -0
- package/libcxx/include/__new/allocate.h +1 -2
- package/libcxx/include/__new/exceptions.h +8 -2
- package/libcxx/include/__new/global_new_delete.h +4 -11
- package/libcxx/include/__new/interference_size.h +0 -4
- package/libcxx/include/__new/launder.h +3 -5
- package/libcxx/include/__new/nothrow_t.h +1 -1
- package/libcxx/include/__numeric/gcd_lcm.h +24 -34
- package/libcxx/include/__numeric/midpoint.h +9 -14
- package/libcxx/include/__numeric/pstl.h +2 -2
- package/libcxx/include/__numeric/saturation_arithmetic.h +13 -5
- package/libcxx/include/__ostream/basic_ostream.h +8 -8
- package/libcxx/include/__pstl/backends/default.h +14 -14
- package/libcxx/include/__pstl/backends/libdispatch.h +2 -2
- package/libcxx/include/__pstl/cpu_algos/find_if.h +1 -1
- package/libcxx/include/__pstl/cpu_algos/transform.h +5 -6
- package/libcxx/include/__pstl/cpu_algos/transform_reduce.h +5 -4
- package/libcxx/include/__random/binomial_distribution.h +10 -4
- package/libcxx/include/__random/mersenne_twister_engine.h +50 -154
- package/libcxx/include/__random/piecewise_constant_distribution.h +3 -2
- package/libcxx/include/__random/piecewise_linear_distribution.h +3 -2
- package/libcxx/include/__ranges/adjacent_transform_view.h +406 -0
- package/libcxx/include/__ranges/adjacent_view.h +419 -0
- package/libcxx/include/__ranges/as_rvalue_view.h +9 -9
- package/libcxx/include/__ranges/chunk_by_view.h +6 -6
- package/libcxx/include/__ranges/common_view.h +7 -7
- package/libcxx/include/__ranges/drop_view.h +8 -8
- package/libcxx/include/__ranges/drop_while_view.h +5 -5
- package/libcxx/include/__ranges/elements_of.h +49 -0
- package/libcxx/include/__ranges/empty_view.h +5 -5
- package/libcxx/include/__ranges/filter_view.h +10 -10
- package/libcxx/include/__ranges/iota_view.h +41 -22
- package/libcxx/include/__ranges/owning_view.h +15 -15
- package/libcxx/include/__ranges/ref_view.h +6 -6
- package/libcxx/include/__ranges/repeat_view.h +17 -10
- package/libcxx/include/__ranges/single_view.h +8 -8
- package/libcxx/include/__ranges/take_view.h +9 -9
- package/libcxx/include/__ranges/transform_view.h +1 -2
- package/libcxx/include/__ranges/view_interface.h +10 -10
- package/libcxx/include/__ranges/zip_transform_view.h +357 -0
- package/libcxx/include/__ranges/zip_view.h +20 -20
- package/libcxx/include/__split_buffer +612 -240
- package/libcxx/include/__stop_token/atomic_unique_lock.h +1 -1
- package/libcxx/include/__stop_token/stop_callback.h +2 -2
- package/libcxx/include/__stop_token/stop_source.h +1 -1
- package/libcxx/include/__stop_token/stop_state.h +4 -4
- package/libcxx/include/__stop_token/stop_token.h +1 -1
- package/libcxx/include/__string/char_traits.h +51 -31
- package/libcxx/include/__string/constexpr_c_functions.h +5 -5
- package/libcxx/include/__support/xlocale/__strtonum_fallback.h +0 -8
- package/libcxx/include/__system_error/error_category.h +8 -8
- package/libcxx/include/__system_error/error_code.h +5 -5
- package/libcxx/include/__system_error/error_condition.h +4 -4
- package/libcxx/include/__system_error/system_error.h +1 -1
- package/libcxx/include/__thread/id.h +1 -1
- package/libcxx/include/__thread/jthread.h +1 -1
- package/libcxx/include/__thread/poll_with_backoff.h +27 -8
- package/libcxx/include/__thread/support/c11.h +8 -8
- package/libcxx/include/__thread/support/pthread.h +8 -8
- package/libcxx/include/__thread/support/windows.h +8 -8
- package/libcxx/include/__thread/thread.h +13 -8
- package/libcxx/include/__thread/timed_backoff_policy.h +3 -2
- package/libcxx/include/__tree +849 -701
- package/libcxx/include/__tuple/sfinae_helpers.h +1 -44
- package/libcxx/include/__tuple/tuple_element.h +0 -12
- package/libcxx/include/__tuple/tuple_size.h +0 -4
- package/libcxx/include/__tuple/tuple_transform.h +45 -0
- package/libcxx/include/__type_traits/aligned_storage.h +13 -40
- package/libcxx/include/__type_traits/desugars_to.h +4 -0
- package/libcxx/include/__type_traits/invoke.h +8 -0
- package/libcxx/include/__type_traits/is_allocator.h +6 -7
- package/libcxx/include/__type_traits/is_array.h +26 -0
- package/libcxx/include/__type_traits/is_equality_comparable.h +16 -21
- package/libcxx/include/__type_traits/is_final.h +1 -1
- package/libcxx/include/__type_traits/is_floating_point.h +7 -6
- package/libcxx/include/__type_traits/is_generic_transparent_comparator.h +30 -0
- package/libcxx/include/__type_traits/is_specialization.h +2 -6
- package/libcxx/include/__type_traits/is_within_lifetime.h +29 -0
- package/libcxx/include/__type_traits/make_transparent.h +52 -0
- package/libcxx/include/__type_traits/reference_constructs_from_temporary.h +1 -7
- package/libcxx/include/__type_traits/reference_converts_from_temporary.h +1 -1
- package/libcxx/include/__utility/cmp.h +19 -7
- package/libcxx/include/__utility/default_three_way_comparator.h +70 -0
- package/libcxx/include/__utility/in_place.h +1 -1
- package/libcxx/include/__utility/integer_sequence.h +56 -41
- package/libcxx/include/__utility/lazy_synth_three_way_comparator.h +120 -0
- package/libcxx/include/__utility/pair.h +22 -25
- package/libcxx/include/__utility/scope_guard.h +2 -0
- package/libcxx/include/__utility/try_key_extraction.h +114 -0
- package/libcxx/include/__vector/vector.h +187 -160
- package/libcxx/include/__vector/vector_bool.h +76 -83
- package/libcxx/include/any +118 -155
- package/libcxx/include/array +88 -56
- package/libcxx/include/atomic +2 -0
- package/libcxx/include/barrier +20 -24
- package/libcxx/include/bitset +49 -30
- package/libcxx/include/ccomplex +3 -11
- package/libcxx/include/chrono +47 -0
- package/libcxx/include/ciso646 +3 -6
- package/libcxx/include/complex +77 -65
- package/libcxx/include/complex.h +10 -10
- package/libcxx/include/condition_variable +3 -3
- package/libcxx/include/cstdalign +3 -10
- package/libcxx/include/cstdbool +3 -10
- package/libcxx/include/ctgmath +2 -11
- package/libcxx/include/ctype.h +24 -24
- package/libcxx/include/cwchar +2 -2
- package/libcxx/include/deque +109 -225
- package/libcxx/include/errno.h +269 -269
- package/libcxx/include/exception +4 -1
- package/libcxx/include/ext/hash_map +7 -48
- package/libcxx/include/ext/hash_set +2 -8
- package/libcxx/include/fenv.h +43 -43
- package/libcxx/include/flat_map +663 -11
- package/libcxx/include/flat_set +543 -8
- package/libcxx/include/float.h +16 -16
- package/libcxx/include/forward_list +33 -53
- package/libcxx/include/fstream +57 -42
- package/libcxx/include/future +41 -51
- package/libcxx/include/initializer_list +9 -3
- package/libcxx/include/inttypes.h +16 -16
- package/libcxx/include/ios +28 -28
- package/libcxx/include/istream +19 -13
- package/libcxx/include/iterator +10 -0
- package/libcxx/include/latch +7 -5
- package/libcxx/include/limits +4 -4
- package/libcxx/include/list +61 -79
- package/libcxx/include/map +386 -274
- package/libcxx/include/math.h +19 -0
- package/libcxx/include/mdspan +1 -5
- package/libcxx/include/mutex +29 -19
- package/libcxx/include/optional +644 -149
- package/libcxx/include/print +9 -5
- package/libcxx/include/queue +39 -37
- package/libcxx/include/ranges +48 -0
- package/libcxx/include/regex +33 -31
- package/libcxx/include/scoped_allocator +16 -11
- package/libcxx/include/semaphore +15 -18
- package/libcxx/include/set +220 -192
- package/libcxx/include/shared_mutex +3 -8
- package/libcxx/include/span +53 -37
- package/libcxx/include/sstream +34 -28
- package/libcxx/include/stack +13 -15
- package/libcxx/include/stddef.h +10 -10
- package/libcxx/include/stdexcept +2 -2
- package/libcxx/include/stdio.h +20 -21
- package/libcxx/include/streambuf +59 -19
- package/libcxx/include/string +574 -573
- package/libcxx/include/string_view +113 -89
- package/libcxx/include/strstream +10 -10
- package/libcxx/include/syncstream +4 -4
- package/libcxx/include/tgmath.h +12 -12
- package/libcxx/include/tuple +242 -212
- package/libcxx/include/type_traits +8 -2
- package/libcxx/include/typeindex +5 -3
- package/libcxx/include/typeinfo +92 -89
- package/libcxx/include/unordered_map +179 -304
- package/libcxx/include/unordered_set +168 -195
- package/libcxx/include/utility +12 -0
- package/libcxx/include/valarray +106 -161
- package/libcxx/include/variant +25 -33
- package/libcxx/include/version +41 -24
- package/libcxx/include/wctype.h +29 -29
- package/libcxx/libc/hdr/errno_macros.h +3 -1
- package/libcxx/libc/hdr/stdint_proxy.h +18 -0
- package/libcxx/libc/hdr/types/wchar_t.h +23 -0
- package/libcxx/libc/hdr/wchar_overlay.h +69 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat128-macros.h +41 -0
- package/libcxx/libc/include/llvm-libc-macros/cfloat16-macros.h +20 -0
- package/libcxx/libc/include/llvm-libc-macros/wchar-macros.h +18 -0
- package/libcxx/libc/include/llvm-libc-types/cfloat128.h +11 -28
- package/libcxx/libc/include/llvm-libc-types/cfloat16.h +4 -7
- package/libcxx/libc/include/llvm-libc-types/wint_t.h +14 -0
- package/libcxx/libc/shared/libc_common.h +5 -0
- package/libcxx/libc/src/__support/CPP/bit.h +50 -12
- package/libcxx/libc/src/__support/CPP/type_traits/is_complex.h +7 -0
- package/libcxx/libc/src/__support/CPP/type_traits/is_destructible.h +2 -1
- package/libcxx/libc/src/__support/CPP/type_traits/is_unsigned.h +6 -0
- package/libcxx/libc/src/__support/CPP/utility/integer_sequence.h +10 -0
- package/libcxx/libc/src/__support/FPUtil/FPBits.h +6 -7
- package/libcxx/libc/src/__support/FPUtil/rounding_mode.h +50 -4
- package/libcxx/libc/src/__support/big_int.h +14 -14
- package/libcxx/libc/src/__support/common.h +3 -2
- package/libcxx/libc/src/__support/ctype_utils.h +19 -12
- package/libcxx/libc/src/__support/detailed_powers_of_ten.h +1 -2
- package/libcxx/libc/src/__support/high_precision_decimal.h +33 -14
- package/libcxx/libc/src/__support/libc_assert.h +2 -0
- package/libcxx/libc/src/__support/macros/attributes.h +44 -1
- package/libcxx/libc/src/__support/macros/config.h +23 -0
- package/libcxx/libc/src/__support/macros/null_check.h +1 -2
- package/libcxx/libc/src/__support/macros/optimization.h +3 -0
- package/libcxx/libc/src/__support/macros/properties/architectures.h +5 -1
- package/libcxx/libc/src/__support/macros/properties/compiler.h +8 -3
- package/libcxx/libc/src/__support/macros/properties/cpu_features.h +17 -1
- package/libcxx/libc/src/__support/macros/properties/types.h +2 -3
- package/libcxx/libc/src/__support/macros/sanitizer.h +0 -10
- package/libcxx/libc/src/__support/math_extras.h +20 -4
- package/libcxx/libc/src/__support/str_to_float.h +98 -125
- package/libcxx/libc/src/__support/str_to_integer.h +39 -27
- package/libcxx/libc/src/__support/wctype_utils.h +588 -0
- package/libcxx/src/any.cpp +4 -0
- package/libcxx/src/atomic.cpp +365 -80
- package/libcxx/src/barrier.cpp +4 -3
- package/libcxx/src/charconv.cpp +6 -3
- package/libcxx/src/condition_variable_destructor.cpp +1 -1
- package/libcxx/src/error_category.cpp +3 -1
- package/libcxx/src/exception.cpp +2 -10
- package/libcxx/src/experimental/time_zone.cpp +1 -1
- package/libcxx/src/experimental/tzdb.cpp +4 -1
- package/libcxx/src/filesystem/error.h +4 -22
- package/libcxx/src/filesystem/format_string.h +9 -18
- package/libcxx/src/filesystem/int128_builtins.cpp +2 -0
- package/libcxx/src/filesystem/operations.cpp +2 -9
- package/libcxx/src/filesystem/path.cpp +3 -1
- package/libcxx/src/include/aligned_alloc.h +65 -0
- package/libcxx/src/include/config_elast.h +1 -1
- package/libcxx/src/include/from_chars_floating_point.h +11 -7
- package/libcxx/src/include/overridable_function.h +8 -10
- package/libcxx/src/iostream.cpp +56 -37
- package/libcxx/src/locale.cpp +213 -196
- package/libcxx/src/memory.cpp +12 -14
- package/libcxx/src/mutex_destructor.cpp +1 -1
- package/libcxx/src/new.cpp +5 -5
- package/libcxx/src/optional.cpp +4 -0
- package/libcxx/src/print.cpp +9 -1
- package/libcxx/src/random.cpp +0 -26
- package/libcxx/src/string.cpp +10 -25
- package/libcxx/src/support/runtime/exception_fallback.ipp +2 -0
- package/libcxx/src/support/runtime/exception_glibcxx.ipp +3 -0
- package/libcxx/src/support/runtime/exception_libcxxabi.ipp +6 -2
- package/libcxx/src/support/runtime/exception_libcxxrt.ipp +2 -0
- package/libcxx/src/support/runtime/exception_msvc.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_cxxabi.ipp +9 -10
- package/libcxx/src/support/runtime/exception_pointer_glibcxx.ipp +2 -0
- package/libcxx/src/support/runtime/exception_pointer_msvc.ipp +1 -0
- package/libcxx/src/support/runtime/exception_pointer_unimplemented.ipp +1 -0
- package/libcxx/src/support/win32/locale_win32.cpp +1 -1
- package/libcxx/src/system_error.cpp +2 -0
- package/libcxx/src/thread.cpp +1 -3
- package/libcxx/src/valarray.cpp +1 -2
- package/libcxx/src/vector.cpp +2 -2
- package/libcxxabi/include/__cxxabi_config.h +42 -23
- package/libcxxabi/src/cxa_exception.cpp +4 -2
- package/libcxxabi/src/cxa_exception.h +16 -14
- package/libcxxabi/src/cxa_personality.cpp +126 -9
- package/libcxxabi/src/cxa_thread_atexit.cpp +2 -1
- package/libcxxabi/src/demangle/DemangleConfig.h +4 -0
- package/libcxxabi/src/demangle/ItaniumDemangle.h +9 -6
- package/libcxxabi/src/demangle/Utility.h +21 -7
- package/libcxxabi/src/fallback_malloc.cpp +1 -1
- package/libcxxabi/src/private_typeinfo.cpp +6 -0
- package/libcxxabi/src/stdlib_new_delete.cpp +5 -5
- package/libtsan/LICENSE.TXT +311 -0
- package/libtsan/builtins/assembly.h +41 -8
- package/libtsan/interception/interception_win.cpp +4 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary32.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_allocator_primary64.h +18 -0
- package/libtsan/sanitizer_common/sanitizer_common.h +15 -2
- package/libtsan/sanitizer_common/sanitizer_common_interceptors.inc +30 -4
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_ioctl.inc +4 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_aarch64.inc.S +2 -1
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_i386.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_interceptors_vfork_x86_64.inc.S +2 -0
- package/libtsan/sanitizer_common/sanitizer_common_syscalls.inc +18 -0
- package/libtsan/sanitizer_common/sanitizer_file.cpp +40 -12
- package/libtsan/sanitizer_common/sanitizer_file.h +3 -0
- package/libtsan/sanitizer_common/sanitizer_flags.inc +7 -0
- package/libtsan/sanitizer_common/sanitizer_fuchsia.cpp +30 -3
- package/libtsan/sanitizer_common/sanitizer_haiku.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_internal_defs.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_libc.cpp +8 -0
- package/libtsan/sanitizer_common/sanitizer_libc.h +1 -0
- package/libtsan/sanitizer_common/sanitizer_linux.cpp +15 -7
- package/libtsan/sanitizer_common/sanitizer_linux.h +3 -3
- package/libtsan/sanitizer_common/sanitizer_linux_libcdep.cpp +1 -0
- package/libtsan/sanitizer_common/sanitizer_mac.cpp +255 -104
- package/libtsan/sanitizer_common/sanitizer_mac.h +5 -0
- package/libtsan/sanitizer_common/sanitizer_netbsd.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_platform.h +27 -1
- package/libtsan/sanitizer_common/sanitizer_platform_interceptors.h +5 -4
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.cpp +15 -17
- package/libtsan/sanitizer_common/sanitizer_platform_limits_posix.h +32 -6
- package/libtsan/sanitizer_common/sanitizer_posix.cpp +3 -12
- package/libtsan/sanitizer_common/sanitizer_posix.h +2 -1
- package/libtsan/sanitizer_common/sanitizer_posix_libcdep.cpp +19 -0
- package/libtsan/sanitizer_common/sanitizer_procmaps_mac.cpp +102 -37
- package/libtsan/sanitizer_common/sanitizer_redefine_builtins.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_signal_interceptors.inc +40 -2
- package/libtsan/sanitizer_common/sanitizer_stoptheworld.h +1 -1
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cpp +83 -12
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_mac.cpp +3 -3
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_netbsd_libcdep.cpp +7 -7
- package/libtsan/sanitizer_common/sanitizer_stoptheworld_win.cpp +2 -2
- package/libtsan/sanitizer_common/sanitizer_symbolizer_internal.h +5 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_libcdep.cpp +11 -1
- package/libtsan/sanitizer_common/sanitizer_symbolizer_mac.cpp +86 -29
- package/libtsan/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cpp +27 -16
- package/libtsan/sanitizer_common/sanitizer_thread_registry.cpp +5 -4
- package/libtsan/sanitizer_common/sanitizer_thread_registry.h +4 -4
- package/libtsan/sanitizer_common/sanitizer_win.cpp +1 -3
- package/libtsan/tsan_debugging.cpp +2 -2
- package/libtsan/tsan_flags.cpp +37 -0
- package/libtsan/tsan_flags.h +8 -0
- package/libtsan/tsan_flags.inc +12 -0
- package/libtsan/tsan_interceptors.h +9 -1
- package/libtsan/tsan_interceptors_mac.cpp +19 -0
- package/libtsan/tsan_interceptors_posix.cpp +78 -32
- package/libtsan/tsan_interface.h +3 -3
- package/libtsan/tsan_interface_ann.cpp +23 -9
- package/libtsan/tsan_mman.cpp +18 -4
- package/libtsan/tsan_platform.h +44 -7
- package/libtsan/tsan_platform_linux.cpp +42 -14
- package/libtsan/tsan_platform_mac.cpp +16 -3
- package/libtsan/tsan_report.h +14 -1
- package/libtsan/tsan_rtl.cpp +14 -0
- package/libtsan/tsan_rtl.h +7 -2
- package/libtsan/tsan_rtl_aarch64.S +3 -5
- package/libtsan/tsan_rtl_access.cpp +8 -3
- package/libtsan/tsan_rtl_amd64.S +2 -0
- package/libtsan/tsan_rtl_mutex.cpp +94 -49
- package/libtsan/tsan_rtl_report.cpp +132 -65
- package/libtsan/tsan_rtl_thread.cpp +31 -9
- package/libtsan/tsan_symbolize.cpp +1 -1
- package/libtsan/tsan_symbolize.h +1 -1
- package/libtsan/tsan_trace.h +1 -1
- package/libunwind/include/__libunwind_config.h +11 -2
- package/libunwind/include/libunwind.h +117 -11
- package/libunwind/include/unwind_arm_ehabi.h +4 -1
- package/libunwind/src/AddressSpace.hpp +42 -20
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +62 -23
- package/libunwind/src/EHHeaderParser.hpp +7 -4
- package/libunwind/src/Registers.hpp +226 -22
- package/libunwind/src/Unwind-seh.cpp +6 -7
- package/libunwind/src/Unwind-wasm.c +7 -7
- package/libunwind/src/UnwindCursor.hpp +167 -49
- package/libunwind/src/UnwindLevel1.c +46 -17
- package/libunwind/src/UnwindRegistersRestore.S +46 -5
- package/libunwind/src/UnwindRegistersSave.S +86 -2
- package/libunwind/src/assembly.h +5 -1
- package/libunwind/src/config.h +9 -0
- package/libunwind/src/gcc_personality_v0.c +79 -6
- package/libunwind/src/libunwind.cpp +104 -4
- package/libunwind/src/libunwind_ext.h +7 -1
- package/libunwind/src/shadow_stack_unwind.h +2 -2
- package/lldb/pretty_printers.py +948 -0
- package/package.json +1 -1
- package/std/Build/Step/Compile.zig +18 -19
- package/std/Build/Step/Run.zig +13 -6
- package/std/Build/Step.zig +0 -3
- package/std/Io/Threaded.zig +3 -0
- package/std/Target/aarch64.zig +620 -77
- package/std/Target/amdgcn.zig +421 -21
- package/std/Target/arm.zig +40 -6
- package/std/Target/bpf.zig +6 -0
- package/std/Target/hexagon.zig +41 -6
- package/std/Target/loongarch.zig +18 -0
- package/std/Target/mips.zig +6 -0
- package/std/Target/nvptx.zig +58 -35
- package/std/Target/powerpc.zig +27 -19
- package/std/Target/riscv.zig +415 -177
- package/std/Target/sparc.zig +17 -0
- package/std/Target/wasm.zig +7 -0
- package/std/Target/x86.zig +200 -31
- package/std/Target/xtensa.zig +65 -0
- package/std/Target.zig +16 -8
- package/std/c.zig +7 -0
- package/std/crypto/ml_kem.zig +0 -15
- package/std/debug/Dwarf.zig +14 -11
- package/std/debug/Pdb.zig +24 -16
- package/std/hash/xxhash.zig +0 -6
- package/std/math/log10.zig +0 -2
- package/std/math/modf.zig +1 -2
- package/std/mem.zig +1 -2
- package/std/os/linux/x86.zig +2 -2
- package/std/os/windows.zig +130 -1
- package/std/simd.zig +4 -21
- package/std/start.zig +4 -3
- package/std/zig/Ast.zig +5 -7
- package/std/zig/AstGen.zig +20 -14
- package/std/zig/ErrorBundle.zig +6 -2
- package/std/zig/ZonGen.zig +13 -21
- package/std/zig/llvm/Builder.zig +2 -2
- package/std/zig/system/arm.zig +56 -2
- package/std/zig/system/windows.zig +34 -1
- package/std/zig/system/x86.zig +60 -16
- package/std/zig/system.zig +0 -10
- package/std/zig/target.zig +1 -2
- package/std/zon/parse.zig +1 -1
- package/include/amxbf16transposeintrin.h +0 -94
- package/include/amxcomplextransposeintrin.h +0 -303
- package/include/amxfp16transposeintrin.h +0 -94
- package/include/amxmovrstransposeintrin.h +0 -200
- package/include/amxtf32transposeintrin.h +0 -105
- package/include/amxtransposeintrin.h +0 -248
- package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
- package/std/Build/Step/CheckObject.zig +0 -2764
package/libcxx/include/any
CHANGED
|
@@ -84,14 +84,12 @@ namespace std {
|
|
|
84
84
|
# include <__cxx03/__config>
|
|
85
85
|
#else
|
|
86
86
|
# include <__config>
|
|
87
|
-
# include <__memory/
|
|
88
|
-
# include <
|
|
89
|
-
# include <__memory/allocator_traits.h>
|
|
90
|
-
# include <__memory/unique_ptr.h>
|
|
87
|
+
# include <__memory/construct_at.h>
|
|
88
|
+
# include <__new/allocate.h>
|
|
91
89
|
# include <__type_traits/add_cv_quals.h>
|
|
92
90
|
# include <__type_traits/add_pointer.h>
|
|
93
|
-
# include <__type_traits/aligned_storage.h>
|
|
94
91
|
# include <__type_traits/conditional.h>
|
|
92
|
+
# include <__type_traits/conjunction.h>
|
|
95
93
|
# include <__type_traits/decay.h>
|
|
96
94
|
# include <__type_traits/enable_if.h>
|
|
97
95
|
# include <__type_traits/is_constructible.h>
|
|
@@ -100,9 +98,11 @@ namespace std {
|
|
|
100
98
|
# include <__type_traits/is_reference.h>
|
|
101
99
|
# include <__type_traits/is_same.h>
|
|
102
100
|
# include <__type_traits/is_void.h>
|
|
101
|
+
# include <__type_traits/negation.h>
|
|
103
102
|
# include <__type_traits/remove_cv.h>
|
|
104
103
|
# include <__type_traits/remove_cvref.h>
|
|
105
104
|
# include <__type_traits/remove_reference.h>
|
|
105
|
+
# include <__utility/exception_guard.h>
|
|
106
106
|
# include <__utility/forward.h>
|
|
107
107
|
# include <__utility/in_place.h>
|
|
108
108
|
# include <__utility/move.h>
|
|
@@ -142,21 +142,20 @@ _LIBCPP_BEGIN_NAMESPACE_STD
|
|
|
142
142
|
class any;
|
|
143
143
|
|
|
144
144
|
template <class _ValueType>
|
|
145
|
-
_LIBCPP_HIDE_FROM_ABI add_pointer_t<add_const_t<_ValueType>> any_cast(any const*)
|
|
145
|
+
_LIBCPP_HIDE_FROM_ABI add_pointer_t<add_const_t<_ValueType>> any_cast(any const*) noexcept;
|
|
146
146
|
|
|
147
147
|
template <class _ValueType>
|
|
148
|
-
_LIBCPP_HIDE_FROM_ABI add_pointer_t<_ValueType> any_cast(any*)
|
|
148
|
+
_LIBCPP_HIDE_FROM_ABI add_pointer_t<_ValueType> any_cast(any*) noexcept;
|
|
149
149
|
|
|
150
150
|
namespace __any_imp {
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
_LIBCPP_SUPPRESS_DEPRECATED_POP
|
|
151
|
+
inline constexpr size_t __small_buffer_size = 3 * sizeof(void*);
|
|
152
|
+
inline constexpr size_t __small_buffer_alignment = alignof(void*);
|
|
154
153
|
|
|
155
154
|
template <class _Tp>
|
|
156
155
|
using _IsSmallObject _LIBCPP_NODEBUG =
|
|
157
156
|
integral_constant<bool,
|
|
158
|
-
sizeof(_Tp) <=
|
|
159
|
-
|
|
157
|
+
sizeof(_Tp) <= __small_buffer_size && alignof(_Tp) <= __small_buffer_alignment &&
|
|
158
|
+
is_nothrow_move_constructible_v<_Tp>>;
|
|
160
159
|
|
|
161
160
|
enum class _Action { _Destroy, _Copy, _Move, _Get, _TypeInfo };
|
|
162
161
|
|
|
@@ -192,37 +191,44 @@ using _Handler _LIBCPP_NODEBUG = conditional_t< _IsSmallObject<_Tp>::value, _Sma
|
|
|
192
191
|
class any {
|
|
193
192
|
public:
|
|
194
193
|
// construct/destruct
|
|
195
|
-
_LIBCPP_HIDE_FROM_ABI constexpr any()
|
|
194
|
+
_LIBCPP_HIDE_FROM_ABI constexpr any() noexcept : __h_(nullptr) {}
|
|
196
195
|
|
|
197
196
|
_LIBCPP_HIDE_FROM_ABI any(any const& __other) : __h_(nullptr) {
|
|
198
197
|
if (__other.__h_)
|
|
199
198
|
__other.__call(_Action::_Copy, this);
|
|
200
199
|
}
|
|
201
200
|
|
|
202
|
-
_LIBCPP_HIDE_FROM_ABI any(any&& __other)
|
|
201
|
+
_LIBCPP_HIDE_FROM_ABI any(any&& __other) noexcept : __h_(nullptr) {
|
|
203
202
|
if (__other.__h_)
|
|
204
203
|
__other.__call(_Action::_Move, this);
|
|
205
204
|
}
|
|
206
205
|
|
|
207
|
-
template <
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
206
|
+
template <
|
|
207
|
+
class _ValueType,
|
|
208
|
+
class _Tp = decay_t<_ValueType>,
|
|
209
|
+
enable_if_t<_And<_Not<is_same<_Tp, any>>, _Not<__is_inplace_type<_ValueType>>, is_copy_constructible<_Tp>>::value,
|
|
210
|
+
int> = 0>
|
|
211
|
+
_LIBCPP_HIDE_FROM_ABI any(_ValueType&& __value) : __h_(nullptr) {
|
|
212
|
+
__any_imp::_Handler<_Tp>::__create(*this, std::forward<_ValueType>(__value));
|
|
213
|
+
}
|
|
212
214
|
|
|
213
215
|
template <class _ValueType,
|
|
214
216
|
class... _Args,
|
|
215
|
-
class _Tp
|
|
216
|
-
|
|
217
|
-
_LIBCPP_HIDE_FROM_ABI explicit any(in_place_type_t<_ValueType>, _Args&&... __args)
|
|
217
|
+
class _Tp = decay_t<_ValueType>,
|
|
218
|
+
enable_if_t<is_constructible_v<_Tp, _Args...> && is_copy_constructible_v<_Tp>, int> = 0>
|
|
219
|
+
_LIBCPP_HIDE_FROM_ABI explicit any(in_place_type_t<_ValueType>, _Args&&... __args) {
|
|
220
|
+
__any_imp::_Handler<_Tp>::__create(*this, std::forward<_Args>(__args)...);
|
|
221
|
+
}
|
|
218
222
|
|
|
219
|
-
template <
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
_LIBCPP_HIDE_FROM_ABI explicit any(in_place_type_t<_ValueType>, initializer_list<_Up
|
|
223
|
+
template <
|
|
224
|
+
class _ValueType,
|
|
225
|
+
class _Up,
|
|
226
|
+
class... _Args,
|
|
227
|
+
class _Tp = decay_t<_ValueType>,
|
|
228
|
+
enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...> && is_copy_constructible_v<_Tp>, int> = 0>
|
|
229
|
+
_LIBCPP_HIDE_FROM_ABI explicit any(in_place_type_t<_ValueType>, initializer_list<_Up> __il, _Args&&... __args) {
|
|
230
|
+
__any_imp::_Handler<_Tp>::__create(*this, __il, std::forward<_Args>(__args)...);
|
|
231
|
+
}
|
|
226
232
|
|
|
227
233
|
_LIBCPP_HIDE_FROM_ABI ~any() { this->reset(); }
|
|
228
234
|
|
|
@@ -232,43 +238,65 @@ public:
|
|
|
232
238
|
return *this;
|
|
233
239
|
}
|
|
234
240
|
|
|
235
|
-
_LIBCPP_HIDE_FROM_ABI any& operator=(any&& __rhs)
|
|
241
|
+
_LIBCPP_HIDE_FROM_ABI any& operator=(any&& __rhs) noexcept {
|
|
236
242
|
any(std::move(__rhs)).swap(*this);
|
|
237
243
|
return *this;
|
|
238
244
|
}
|
|
239
245
|
|
|
240
|
-
template < class _ValueType,
|
|
241
|
-
class _Tp = decay_t<_ValueType>,
|
|
242
|
-
class = enable_if_t< !is_same<_Tp, any>::value && is_copy_constructible<_Tp>::value> >
|
|
243
|
-
_LIBCPP_HIDE_FROM_ABI any& operator=(_ValueType&& __rhs);
|
|
244
|
-
|
|
245
246
|
template <class _ValueType,
|
|
246
|
-
class
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
247
|
+
class _Tp = decay_t<_ValueType>,
|
|
248
|
+
enable_if_t<!is_same_v<_Tp, any> && is_copy_constructible_v<_Tp>, int> = 0>
|
|
249
|
+
_LIBCPP_HIDE_FROM_ABI any& operator=(_ValueType&& __rhs) {
|
|
250
|
+
any(std::forward<_ValueType>(__rhs)).swap(*this);
|
|
251
|
+
return *this;
|
|
252
|
+
}
|
|
250
253
|
|
|
251
254
|
template <class _ValueType,
|
|
252
|
-
class _Up,
|
|
253
255
|
class... _Args,
|
|
254
|
-
class _Tp
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
256
|
+
class _Tp = decay_t<_ValueType>,
|
|
257
|
+
enable_if_t<is_constructible_v<_Tp, _Args...> && is_copy_constructible_v<_Tp>, int> = 0>
|
|
258
|
+
_LIBCPP_HIDE_FROM_ABI _Tp& emplace(_Args&&... __args) {
|
|
259
|
+
reset();
|
|
260
|
+
return __any_imp::_Handler<_Tp>::__create(*this, std::forward<_Args>(__args)...);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
template <
|
|
264
|
+
class _ValueType,
|
|
265
|
+
class _Up,
|
|
266
|
+
class... _Args,
|
|
267
|
+
class _Tp = decay_t<_ValueType>,
|
|
268
|
+
enable_if_t<is_constructible_v<_Tp, initializer_list<_Up>&, _Args...> && is_copy_constructible_v<_Tp>, int> = 0>
|
|
269
|
+
_LIBCPP_HIDE_FROM_ABI _Tp& emplace(initializer_list<_Up> __il, _Args&&... __args) {
|
|
270
|
+
reset();
|
|
271
|
+
return __any_imp::_Handler<_Tp>::__create(*this, __il, std::forward<_Args>(__args)...);
|
|
272
|
+
}
|
|
258
273
|
|
|
259
274
|
// 6.3.3 any modifiers
|
|
260
|
-
_LIBCPP_HIDE_FROM_ABI void reset()
|
|
275
|
+
_LIBCPP_HIDE_FROM_ABI void reset() noexcept {
|
|
261
276
|
if (__h_)
|
|
262
277
|
this->__call(_Action::_Destroy);
|
|
263
278
|
}
|
|
264
279
|
|
|
265
|
-
_LIBCPP_HIDE_FROM_ABI void swap(any& __rhs)
|
|
280
|
+
_LIBCPP_HIDE_FROM_ABI void swap(any& __rhs) noexcept {
|
|
281
|
+
if (this == &__rhs)
|
|
282
|
+
return;
|
|
283
|
+
if (__h_ && __rhs.__h_) {
|
|
284
|
+
any __tmp;
|
|
285
|
+
__rhs.__call(_Action::_Move, &__tmp);
|
|
286
|
+
this->__call(_Action::_Move, &__rhs);
|
|
287
|
+
__tmp.__call(_Action::_Move, this);
|
|
288
|
+
} else if (__h_) {
|
|
289
|
+
this->__call(_Action::_Move, &__rhs);
|
|
290
|
+
} else if (__rhs.__h_) {
|
|
291
|
+
__rhs.__call(_Action::_Move, this);
|
|
292
|
+
}
|
|
293
|
+
}
|
|
266
294
|
|
|
267
295
|
// 6.3.4 any observers
|
|
268
|
-
_LIBCPP_HIDE_FROM_ABI bool has_value() const
|
|
296
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI bool has_value() const noexcept { return __h_ != nullptr; }
|
|
269
297
|
|
|
270
298
|
# if _LIBCPP_HAS_RTTI
|
|
271
|
-
_LIBCPP_HIDE_FROM_ABI const type_info& type() const
|
|
299
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI const type_info& type() const noexcept {
|
|
272
300
|
if (__h_) {
|
|
273
301
|
return *static_cast<type_info const*>(this->__call(_Action::_TypeInfo));
|
|
274
302
|
} else {
|
|
@@ -285,7 +313,7 @@ private:
|
|
|
285
313
|
union _Storage {
|
|
286
314
|
_LIBCPP_HIDE_FROM_ABI constexpr _Storage() : __ptr(nullptr) {}
|
|
287
315
|
void* __ptr;
|
|
288
|
-
__any_imp::
|
|
316
|
+
alignas(__any_imp::__small_buffer_alignment) char __buf[__any_imp::__small_buffer_size];
|
|
289
317
|
};
|
|
290
318
|
|
|
291
319
|
_LIBCPP_HIDE_FROM_ABI void*
|
|
@@ -305,10 +333,10 @@ private:
|
|
|
305
333
|
friend struct __any_imp::_LargeHandler;
|
|
306
334
|
|
|
307
335
|
template <class _ValueType>
|
|
308
|
-
friend add_pointer_t<add_const_t<_ValueType>> any_cast(any const*)
|
|
336
|
+
friend add_pointer_t<add_const_t<_ValueType>> any_cast(any const*) noexcept;
|
|
309
337
|
|
|
310
338
|
template <class _ValueType>
|
|
311
|
-
friend add_pointer_t<_ValueType> any_cast(any*)
|
|
339
|
+
friend add_pointer_t<_ValueType> any_cast(any*) noexcept;
|
|
312
340
|
|
|
313
341
|
_HandleFuncPtr __h_ = nullptr;
|
|
314
342
|
_Storage __s_;
|
|
@@ -339,22 +367,14 @@ struct _SmallHandler {
|
|
|
339
367
|
|
|
340
368
|
template <class... _Args>
|
|
341
369
|
_LIBCPP_HIDE_FROM_ABI static _Tp& __create(any& __dest, _Args&&... __args) {
|
|
342
|
-
|
|
343
|
-
typedef allocator_traits<_Alloc> _ATraits;
|
|
344
|
-
_Alloc __a;
|
|
345
|
-
_Tp* __ret = static_cast<_Tp*>(static_cast<void*>(&__dest.__s_.__buf));
|
|
346
|
-
_ATraits::construct(__a, __ret, std::forward<_Args>(__args)...);
|
|
370
|
+
auto __ret = std::__construct_at(reinterpret_cast<_Tp*>(&__dest.__s_.__buf), std::forward<_Args>(__args)...);
|
|
347
371
|
__dest.__h_ = &_SmallHandler::__handle;
|
|
348
372
|
return *__ret;
|
|
349
373
|
}
|
|
350
374
|
|
|
351
375
|
private:
|
|
352
376
|
_LIBCPP_HIDE_FROM_ABI static void __destroy(any& __this) {
|
|
353
|
-
|
|
354
|
-
typedef allocator_traits<_Alloc> _ATraits;
|
|
355
|
-
_Alloc __a;
|
|
356
|
-
_Tp* __p = static_cast<_Tp*>(static_cast<void*>(&__this.__s_.__buf));
|
|
357
|
-
_ATraits::destroy(__a, __p);
|
|
377
|
+
std::__destroy_at(reinterpret_cast<_Tp*>(&__this.__s_.__buf));
|
|
358
378
|
__this.__h_ = nullptr;
|
|
359
379
|
}
|
|
360
380
|
|
|
@@ -406,26 +426,20 @@ struct _LargeHandler {
|
|
|
406
426
|
|
|
407
427
|
template <class... _Args>
|
|
408
428
|
_LIBCPP_HIDE_FROM_ABI static _Tp& __create(any& __dest, _Args&&... __args) {
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
_Tp* __ret = __hold.get();
|
|
415
|
-
_ATraits::construct(__a, __ret, std::forward<_Args>(__args)...);
|
|
416
|
-
__dest.__s_.__ptr = __hold.release();
|
|
429
|
+
_Tp* __ptr = static_cast<_Tp*>(std::__libcpp_allocate<_Tp>(__element_count(1)));
|
|
430
|
+
std::__exception_guard __guard([&] { std::__libcpp_deallocate<_Tp>(__ptr, __element_count(1)); });
|
|
431
|
+
std::__construct_at(__ptr, std::forward<_Args>(__args)...);
|
|
432
|
+
__guard.__complete();
|
|
433
|
+
__dest.__s_.__ptr = __ptr;
|
|
417
434
|
__dest.__h_ = &_LargeHandler::__handle;
|
|
418
|
-
return *
|
|
435
|
+
return *__ptr;
|
|
419
436
|
}
|
|
420
437
|
|
|
421
438
|
private:
|
|
422
439
|
_LIBCPP_HIDE_FROM_ABI static void __destroy(any& __this) {
|
|
423
|
-
typedef allocator<_Tp> _Alloc;
|
|
424
|
-
typedef allocator_traits<_Alloc> _ATraits;
|
|
425
|
-
_Alloc __a;
|
|
426
440
|
_Tp* __p = static_cast<_Tp*>(__this.__s_.__ptr);
|
|
427
|
-
|
|
428
|
-
|
|
441
|
+
std::__destroy_at(__p);
|
|
442
|
+
std::__libcpp_deallocate<_Tp>(__p, __element_count(1));
|
|
429
443
|
__this.__h_ = nullptr;
|
|
430
444
|
}
|
|
431
445
|
|
|
@@ -456,72 +470,24 @@ private:
|
|
|
456
470
|
|
|
457
471
|
} // namespace __any_imp
|
|
458
472
|
|
|
459
|
-
template <class _ValueType, class _Tp, class>
|
|
460
|
-
any::any(_ValueType&& __v) : __h_(nullptr) {
|
|
461
|
-
__any_imp::_Handler<_Tp>::__create(*this, std::forward<_ValueType>(__v));
|
|
462
|
-
}
|
|
463
|
-
|
|
464
|
-
template <class _ValueType, class... _Args, class _Tp, class>
|
|
465
|
-
any::any(in_place_type_t<_ValueType>, _Args&&... __args) {
|
|
466
|
-
__any_imp::_Handler<_Tp>::__create(*this, std::forward<_Args>(__args)...);
|
|
467
|
-
}
|
|
468
|
-
|
|
469
|
-
template <class _ValueType, class _Up, class... _Args, class _Tp, class>
|
|
470
|
-
any::any(in_place_type_t<_ValueType>, initializer_list<_Up> __il, _Args&&... __args) {
|
|
471
|
-
__any_imp::_Handler<_Tp>::__create(*this, __il, std::forward<_Args>(__args)...);
|
|
472
|
-
}
|
|
473
|
-
|
|
474
|
-
template <class _ValueType, class, class>
|
|
475
|
-
inline _LIBCPP_HIDE_FROM_ABI any& any::operator=(_ValueType&& __v) {
|
|
476
|
-
any(std::forward<_ValueType>(__v)).swap(*this);
|
|
477
|
-
return *this;
|
|
478
|
-
}
|
|
479
|
-
|
|
480
|
-
template <class _ValueType, class... _Args, class _Tp, class>
|
|
481
|
-
inline _LIBCPP_HIDE_FROM_ABI _Tp& any::emplace(_Args&&... __args) {
|
|
482
|
-
reset();
|
|
483
|
-
return __any_imp::_Handler<_Tp>::__create(*this, std::forward<_Args>(__args)...);
|
|
484
|
-
}
|
|
485
|
-
|
|
486
|
-
template <class _ValueType, class _Up, class... _Args, class _Tp, class>
|
|
487
|
-
inline _LIBCPP_HIDE_FROM_ABI _Tp& any::emplace(initializer_list<_Up> __il, _Args&&... __args) {
|
|
488
|
-
reset();
|
|
489
|
-
return __any_imp::_Handler<_Tp>::__create(*this, __il, std::forward<_Args>(__args)...);
|
|
490
|
-
}
|
|
491
|
-
|
|
492
|
-
inline _LIBCPP_HIDE_FROM_ABI void any::swap(any& __rhs) _NOEXCEPT {
|
|
493
|
-
if (this == &__rhs)
|
|
494
|
-
return;
|
|
495
|
-
if (__h_ && __rhs.__h_) {
|
|
496
|
-
any __tmp;
|
|
497
|
-
__rhs.__call(_Action::_Move, &__tmp);
|
|
498
|
-
this->__call(_Action::_Move, &__rhs);
|
|
499
|
-
__tmp.__call(_Action::_Move, this);
|
|
500
|
-
} else if (__h_) {
|
|
501
|
-
this->__call(_Action::_Move, &__rhs);
|
|
502
|
-
} else if (__rhs.__h_) {
|
|
503
|
-
__rhs.__call(_Action::_Move, this);
|
|
504
|
-
}
|
|
505
|
-
}
|
|
506
|
-
|
|
507
473
|
// 6.4 Non-member functions
|
|
508
474
|
|
|
509
|
-
inline _LIBCPP_HIDE_FROM_ABI void swap(any& __lhs, any& __rhs)
|
|
475
|
+
inline _LIBCPP_HIDE_FROM_ABI void swap(any& __lhs, any& __rhs) noexcept { __lhs.swap(__rhs); }
|
|
510
476
|
|
|
511
477
|
template <class _Tp, class... _Args>
|
|
512
|
-
inline _LIBCPP_HIDE_FROM_ABI any make_any(_Args&&... __args) {
|
|
478
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI any make_any(_Args&&... __args) {
|
|
513
479
|
return any(in_place_type<_Tp>, std::forward<_Args>(__args)...);
|
|
514
480
|
}
|
|
515
481
|
|
|
516
482
|
template <class _Tp, class _Up, class... _Args>
|
|
517
|
-
inline _LIBCPP_HIDE_FROM_ABI any make_any(initializer_list<_Up> __il, _Args&&... __args) {
|
|
483
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI any make_any(initializer_list<_Up> __il, _Args&&... __args) {
|
|
518
484
|
return any(in_place_type<_Tp>, __il, std::forward<_Args>(__args)...);
|
|
519
485
|
}
|
|
520
486
|
|
|
521
487
|
template <class _ValueType>
|
|
522
|
-
inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any const& __v) {
|
|
488
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any const& __v) {
|
|
523
489
|
using _RawValueType = __remove_cvref_t<_ValueType>;
|
|
524
|
-
static_assert(
|
|
490
|
+
static_assert(is_constructible_v<_ValueType, _RawValueType const&>,
|
|
525
491
|
"ValueType is required to be a const lvalue reference "
|
|
526
492
|
"or a CopyConstructible type");
|
|
527
493
|
auto __tmp = std::any_cast<add_const_t<_RawValueType>>(&__v);
|
|
@@ -531,9 +497,9 @@ inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any const& __v) {
|
|
|
531
497
|
}
|
|
532
498
|
|
|
533
499
|
template <class _ValueType>
|
|
534
|
-
inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any& __v) {
|
|
500
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any& __v) {
|
|
535
501
|
using _RawValueType = __remove_cvref_t<_ValueType>;
|
|
536
|
-
static_assert(
|
|
502
|
+
static_assert(is_constructible_v<_ValueType, _RawValueType&>,
|
|
537
503
|
"ValueType is required to be an lvalue reference "
|
|
538
504
|
"or a CopyConstructible type");
|
|
539
505
|
auto __tmp = std::any_cast<_RawValueType>(&__v);
|
|
@@ -543,9 +509,9 @@ inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any& __v) {
|
|
|
543
509
|
}
|
|
544
510
|
|
|
545
511
|
template <class _ValueType>
|
|
546
|
-
inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any&& __v) {
|
|
512
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any&& __v) {
|
|
547
513
|
using _RawValueType = __remove_cvref_t<_ValueType>;
|
|
548
|
-
static_assert(
|
|
514
|
+
static_assert(is_constructible_v<_ValueType, _RawValueType>,
|
|
549
515
|
"ValueType is required to be an rvalue reference "
|
|
550
516
|
"or a CopyConstructible type");
|
|
551
517
|
auto __tmp = std::any_cast<_RawValueType>(&__v);
|
|
@@ -555,39 +521,31 @@ inline _LIBCPP_HIDE_FROM_ABI _ValueType any_cast(any&& __v) {
|
|
|
555
521
|
}
|
|
556
522
|
|
|
557
523
|
template <class _ValueType>
|
|
558
|
-
inline _LIBCPP_HIDE_FROM_ABI add_pointer_t<add_const_t<_ValueType>> any_cast(any const* __any)
|
|
524
|
+
[[nodiscard]] inline _LIBCPP_HIDE_FROM_ABI add_pointer_t<add_const_t<_ValueType>> any_cast(any const* __any) noexcept {
|
|
559
525
|
static_assert(!is_void_v<_ValueType>, "_ValueType may not be void.");
|
|
560
|
-
static_assert(!
|
|
526
|
+
static_assert(!is_reference_v<_ValueType>, "_ValueType may not be a reference.");
|
|
561
527
|
return std::any_cast<_ValueType>(const_cast<any*>(__any));
|
|
562
528
|
}
|
|
563
529
|
|
|
564
|
-
template <class _RetType>
|
|
565
|
-
inline _LIBCPP_HIDE_FROM_ABI _RetType __pointer_or_func_cast(void* __p, /*IsFunction*/ false_type) noexcept {
|
|
566
|
-
return static_cast<_RetType>(__p);
|
|
567
|
-
}
|
|
568
|
-
|
|
569
|
-
template <class _RetType>
|
|
570
|
-
inline _LIBCPP_HIDE_FROM_ABI _RetType __pointer_or_func_cast(void*, /*IsFunction*/ true_type) noexcept {
|
|
571
|
-
return nullptr;
|
|
572
|
-
}
|
|
573
|
-
|
|
574
530
|
template <class _ValueType>
|
|
575
|
-
_LIBCPP_HIDE_FROM_ABI add_pointer_t<_ValueType> any_cast(any* __any)
|
|
531
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI add_pointer_t<_ValueType> any_cast(any* __any) noexcept {
|
|
576
532
|
using __any_imp::_Action;
|
|
577
533
|
static_assert(!is_void_v<_ValueType>, "_ValueType may not be void.");
|
|
578
|
-
static_assert(!
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
534
|
+
static_assert(!is_reference_v<_ValueType>, "_ValueType may not be a reference.");
|
|
535
|
+
if constexpr (!is_function_v<_ValueType>) {
|
|
536
|
+
using _ReturnType = add_pointer_t<_ValueType>;
|
|
537
|
+
if (__any && __any->__h_) {
|
|
538
|
+
void* __p = __any->__call(
|
|
539
|
+
_Action::_Get,
|
|
540
|
+
nullptr,
|
|
584
541
|
# if _LIBCPP_HAS_RTTI
|
|
585
|
-
|
|
542
|
+
&typeid(_ValueType),
|
|
586
543
|
# else
|
|
587
|
-
|
|
544
|
+
nullptr,
|
|
588
545
|
# endif
|
|
589
|
-
|
|
590
|
-
|
|
546
|
+
__any_imp::__get_fallback_typeid<_ValueType>());
|
|
547
|
+
return static_cast<_ReturnType>(__p);
|
|
548
|
+
}
|
|
591
549
|
}
|
|
592
550
|
return nullptr;
|
|
593
551
|
}
|
|
@@ -613,6 +571,11 @@ _LIBCPP_POP_MACROS
|
|
|
613
571
|
# include <type_traits>
|
|
614
572
|
# include <variant>
|
|
615
573
|
# endif
|
|
574
|
+
|
|
575
|
+
# if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 23
|
|
576
|
+
# include <cstring>
|
|
577
|
+
# include <limits>
|
|
578
|
+
# endif
|
|
616
579
|
#endif // __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS)
|
|
617
580
|
|
|
618
581
|
#endif // _LIBCPP_ANY
|