@zigc/lib 0.17.0-dev.135 → 0.17.0-dev.215
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/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 +40 -19
- package/libunwind/src/CompactUnwinder.hpp +16 -5
- package/libunwind/src/DwarfInstructions.hpp +24 -13
- package/libunwind/src/DwarfParser.hpp +60 -22
- 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 +11 -2
- package/std/c.zig +7 -0
- 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 +0 -1
- 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/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
|
@@ -223,18 +223,17 @@ template <class T, class Allocator, class Predicate>
|
|
|
223
223
|
# include <__ranges/concepts.h>
|
|
224
224
|
# include <__ranges/container_compatible_range.h>
|
|
225
225
|
# include <__ranges/from_range.h>
|
|
226
|
-
# include <__type_traits/conditional.h>
|
|
227
226
|
# include <__type_traits/container_traits.h>
|
|
228
227
|
# include <__type_traits/enable_if.h>
|
|
229
228
|
# include <__type_traits/is_allocator.h>
|
|
230
229
|
# include <__type_traits/is_const.h>
|
|
231
230
|
# include <__type_traits/is_nothrow_assignable.h>
|
|
232
231
|
# include <__type_traits/is_nothrow_constructible.h>
|
|
233
|
-
# include <__type_traits/is_pointer.h>
|
|
234
232
|
# include <__type_traits/is_same.h>
|
|
235
233
|
# include <__type_traits/is_swappable.h>
|
|
236
234
|
# include <__type_traits/remove_cv.h>
|
|
237
235
|
# include <__type_traits/type_identity.h>
|
|
236
|
+
# include <__utility/exception_guard.h>
|
|
238
237
|
# include <__utility/forward.h>
|
|
239
238
|
# include <__utility/move.h>
|
|
240
239
|
# include <__utility/swap.h>
|
|
@@ -283,17 +282,6 @@ struct __forward_node_traits {
|
|
|
283
282
|
typedef _NodePtr __node_pointer;
|
|
284
283
|
typedef __forward_begin_node<_NodePtr> __begin_node;
|
|
285
284
|
typedef __rebind_pointer_t<_NodePtr, __begin_node> __begin_node_pointer;
|
|
286
|
-
|
|
287
|
-
// TODO(LLVM 22): Remove this check
|
|
288
|
-
# ifndef _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB
|
|
289
|
-
static_assert(sizeof(__begin_node_pointer) == sizeof(__node_pointer) && _LIBCPP_ALIGNOF(__begin_node_pointer) ==
|
|
290
|
-
_LIBCPP_ALIGNOF(__node_pointer),
|
|
291
|
-
"It looks like you are using std::forward_list with a fancy pointer type that thas a different "
|
|
292
|
-
"representation depending on whether it points to a forward_list base pointer or a forward_list node "
|
|
293
|
-
"pointer (both of which are implementation details of the standard library). This means that your ABI "
|
|
294
|
-
"is being broken between LLVM 19 and LLVM 20. If you don't care about your ABI being broken, define "
|
|
295
|
-
"the _LIBCPP_ABI_FORWARD_LIST_REMOVE_NODE_POINTER_UB macro to silence this diagnostic.");
|
|
296
|
-
# endif
|
|
297
285
|
};
|
|
298
286
|
|
|
299
287
|
template <class _NodePtr>
|
|
@@ -680,7 +668,7 @@ public:
|
|
|
680
668
|
# endif
|
|
681
669
|
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI forward_list(size_type __n, const value_type& __v);
|
|
682
670
|
|
|
683
|
-
template <__enable_if_t<
|
|
671
|
+
template <__enable_if_t<__is_allocator_v<_Alloc>, int> = 0>
|
|
684
672
|
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI
|
|
685
673
|
forward_list(size_type __n, const value_type& __v, const allocator_type& __a)
|
|
686
674
|
: __base(__a) {
|
|
@@ -744,50 +732,52 @@ public:
|
|
|
744
732
|
|
|
745
733
|
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI void assign(size_type __n, const value_type& __v);
|
|
746
734
|
|
|
747
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
|
|
735
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI allocator_type get_allocator() const _NOEXCEPT {
|
|
748
736
|
return allocator_type(this->__alloc_);
|
|
749
737
|
}
|
|
750
738
|
|
|
751
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {
|
|
739
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {
|
|
752
740
|
return iterator(__base::__before_begin()->__next_);
|
|
753
741
|
}
|
|
754
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {
|
|
742
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {
|
|
755
743
|
return const_iterator(__base::__before_begin()->__next_);
|
|
756
744
|
}
|
|
757
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {
|
|
758
|
-
|
|
745
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {
|
|
746
|
+
return iterator(nullptr);
|
|
747
|
+
}
|
|
748
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT {
|
|
759
749
|
return const_iterator(nullptr);
|
|
760
750
|
}
|
|
761
751
|
|
|
762
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT {
|
|
752
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT {
|
|
763
753
|
return const_iterator(__base::__before_begin()->__next_);
|
|
764
754
|
}
|
|
765
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT {
|
|
755
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT {
|
|
766
756
|
return const_iterator(nullptr);
|
|
767
757
|
}
|
|
768
758
|
|
|
769
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator before_begin() _NOEXCEPT {
|
|
759
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator before_begin() _NOEXCEPT {
|
|
770
760
|
return iterator(__base::__before_begin());
|
|
771
761
|
}
|
|
772
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator before_begin() const _NOEXCEPT {
|
|
762
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator before_begin() const _NOEXCEPT {
|
|
773
763
|
return const_iterator(__base::__before_begin());
|
|
774
764
|
}
|
|
775
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cbefore_begin() const _NOEXCEPT {
|
|
765
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_iterator cbefore_begin() const _NOEXCEPT {
|
|
776
766
|
return const_iterator(__base::__before_begin());
|
|
777
767
|
}
|
|
778
768
|
|
|
779
769
|
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT {
|
|
780
770
|
return __base::__before_begin()->__next_ == nullptr;
|
|
781
771
|
}
|
|
782
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {
|
|
772
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {
|
|
783
773
|
return std::min<size_type>(__node_traits::max_size(this->__alloc_), numeric_limits<difference_type>::max());
|
|
784
774
|
}
|
|
785
775
|
|
|
786
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI reference front() {
|
|
776
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI reference front() {
|
|
787
777
|
_LIBCPP_ASSERT_NON_NULL(!empty(), "forward_list::front called on an empty list");
|
|
788
778
|
return __base::__before_begin()->__next_->__get_value();
|
|
789
779
|
}
|
|
790
|
-
_LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_reference front() const {
|
|
780
|
+
[[__nodiscard__]] _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI const_reference front() const {
|
|
791
781
|
_LIBCPP_ASSERT_NON_NULL(!empty(), "forward_list::front called on an empty list");
|
|
792
782
|
return __base::__before_begin()->__next_->__get_value();
|
|
793
783
|
}
|
|
@@ -918,22 +908,22 @@ private:
|
|
|
918
908
|
|
|
919
909
|
# if _LIBCPP_STD_VER >= 17
|
|
920
910
|
template <class _InputIterator,
|
|
921
|
-
class _Alloc = allocator<
|
|
911
|
+
class _Alloc = allocator<__iterator_value_type<_InputIterator>>,
|
|
922
912
|
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
|
|
923
|
-
class = enable_if_t<
|
|
924
|
-
forward_list(_InputIterator, _InputIterator) -> forward_list<
|
|
913
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
914
|
+
forward_list(_InputIterator, _InputIterator) -> forward_list<__iterator_value_type<_InputIterator>, _Alloc>;
|
|
925
915
|
|
|
926
916
|
template <class _InputIterator,
|
|
927
917
|
class _Alloc,
|
|
928
918
|
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
|
|
929
|
-
class = enable_if_t<
|
|
930
|
-
forward_list(_InputIterator, _InputIterator, _Alloc) -> forward_list<
|
|
919
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
920
|
+
forward_list(_InputIterator, _InputIterator, _Alloc) -> forward_list<__iterator_value_type<_InputIterator>, _Alloc>;
|
|
931
921
|
# endif
|
|
932
922
|
|
|
933
923
|
# if _LIBCPP_STD_VER >= 23
|
|
934
924
|
template <ranges::input_range _Range,
|
|
935
925
|
class _Alloc = allocator<ranges::range_value_t<_Range>>,
|
|
936
|
-
class = enable_if_t<
|
|
926
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
937
927
|
forward_list(from_range_t, _Range&&, _Alloc = _Alloc()) -> forward_list<ranges::range_value_t<_Range>, _Alloc>;
|
|
938
928
|
# endif
|
|
939
929
|
|
|
@@ -1180,22 +1170,17 @@ forward_list<_Tp, _Alloc>::__insert_after(const_iterator __p, size_type __n, _Ar
|
|
|
1180
1170
|
if (__n > 0) {
|
|
1181
1171
|
__node_pointer __first = this->__create_node(/* next = */ nullptr, std::forward<_Args>(__args)...);
|
|
1182
1172
|
__node_pointer __last = __first;
|
|
1183
|
-
|
|
1184
|
-
try {
|
|
1185
|
-
# endif // _LIBCPP_HAS_EXCEPTIONS
|
|
1186
|
-
for (--__n; __n != 0; --__n, __last = __last->__next_) {
|
|
1187
|
-
__last->__next_ = this->__create_node(/* next = */ nullptr, std::forward<_Args>(__args)...);
|
|
1188
|
-
}
|
|
1189
|
-
# if _LIBCPP_HAS_EXCEPTIONS
|
|
1190
|
-
} catch (...) {
|
|
1173
|
+
auto __guard = std::__make_exception_guard([&] {
|
|
1191
1174
|
while (__first != nullptr) {
|
|
1192
1175
|
__node_pointer __next = __first->__next_;
|
|
1193
1176
|
this->__delete_node(__first);
|
|
1194
1177
|
__first = __next;
|
|
1195
1178
|
}
|
|
1196
|
-
|
|
1179
|
+
});
|
|
1180
|
+
for (--__n; __n != 0; --__n, __last = __last->__next_) {
|
|
1181
|
+
__last->__next_ = this->__create_node(/* next = */ nullptr, std::forward<_Args>(__args)...);
|
|
1197
1182
|
}
|
|
1198
|
-
|
|
1183
|
+
__guard.__complete();
|
|
1199
1184
|
__last->__next_ = __r->__next_;
|
|
1200
1185
|
__r->__next_ = __first;
|
|
1201
1186
|
__r = std::__static_fancy_pointer_cast<__begin_node_pointer>(__last);
|
|
@@ -1220,22 +1205,17 @@ forward_list<_Tp, _Alloc>::__insert_after_with_sentinel(const_iterator __p, _Inp
|
|
|
1220
1205
|
__node_pointer __first = this->__create_node(/* next = */ nullptr, *__f);
|
|
1221
1206
|
__node_pointer __last = __first;
|
|
1222
1207
|
|
|
1223
|
-
|
|
1224
|
-
try {
|
|
1225
|
-
# endif // _LIBCPP_HAS_EXCEPTIONS
|
|
1226
|
-
for (++__f; __f != __l; ++__f, ((void)(__last = __last->__next_))) {
|
|
1227
|
-
__last->__next_ = this->__create_node(/* next = */ nullptr, *__f);
|
|
1228
|
-
}
|
|
1229
|
-
# if _LIBCPP_HAS_EXCEPTIONS
|
|
1230
|
-
} catch (...) {
|
|
1208
|
+
auto __guard = std::__make_exception_guard([&] {
|
|
1231
1209
|
while (__first != nullptr) {
|
|
1232
1210
|
__node_pointer __next = __first->__next_;
|
|
1233
1211
|
this->__delete_node(__first);
|
|
1234
1212
|
__first = __next;
|
|
1235
1213
|
}
|
|
1236
|
-
|
|
1214
|
+
});
|
|
1215
|
+
for (++__f; __f != __l; ++__f, ((void)(__last = __last->__next_))) {
|
|
1216
|
+
__last->__next_ = this->__create_node(/* next = */ nullptr, *__f);
|
|
1237
1217
|
}
|
|
1238
|
-
|
|
1218
|
+
__guard.__complete();
|
|
1239
1219
|
|
|
1240
1220
|
__last->__next_ = __r->__next_;
|
|
1241
1221
|
__r->__next_ = __first;
|
package/libcxx/include/fstream
CHANGED
|
@@ -221,7 +221,7 @@ _LIBCPP_PUSH_MACROS
|
|
|
221
221
|
|
|
222
222
|
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
223
223
|
|
|
224
|
-
# if _LIBCPP_STD_VER >=
|
|
224
|
+
# if _LIBCPP_STD_VER >= 23 && defined(_LIBCPP_WIN32API)
|
|
225
225
|
_LIBCPP_EXPORTED_FROM_ABI void* __filebuf_windows_native_handle(FILE* __file) noexcept;
|
|
226
226
|
# endif
|
|
227
227
|
|
|
@@ -254,7 +254,7 @@ public:
|
|
|
254
254
|
void swap(basic_filebuf& __rhs);
|
|
255
255
|
|
|
256
256
|
// 27.9.1.4 Members:
|
|
257
|
-
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
257
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
258
258
|
basic_filebuf* open(const char* __s, ios_base::openmode __mode);
|
|
259
259
|
# if _LIBCPP_HAS_OPEN_WITH_WCHAR
|
|
260
260
|
basic_filebuf* open(const wchar_t* __s, ios_base::openmode __mode);
|
|
@@ -262,15 +262,14 @@ public:
|
|
|
262
262
|
_LIBCPP_HIDE_FROM_ABI basic_filebuf* open(const string& __s, ios_base::openmode __mode);
|
|
263
263
|
|
|
264
264
|
# if _LIBCPP_STD_VER >= 17
|
|
265
|
-
|
|
266
|
-
open(const filesystem::path& __p, ios_base::openmode __mode) {
|
|
265
|
+
_LIBCPP_HIDE_FROM_ABI basic_filebuf* open(const filesystem::path& __p, ios_base::openmode __mode) {
|
|
267
266
|
return open(__p.c_str(), __mode);
|
|
268
267
|
}
|
|
269
268
|
# endif
|
|
270
269
|
_LIBCPP_HIDE_FROM_ABI basic_filebuf* __open(int __fd, ios_base::openmode __mode);
|
|
271
270
|
basic_filebuf* close();
|
|
272
271
|
# if _LIBCPP_STD_VER >= 26
|
|
273
|
-
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
272
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
274
273
|
_LIBCPP_ASSERT_UNCATEGORIZED(this->is_open(), "File must be opened");
|
|
275
274
|
# if defined(_LIBCPP_WIN32API)
|
|
276
275
|
return std::__filebuf_windows_native_handle(__file_);
|
|
@@ -299,6 +298,16 @@ protected:
|
|
|
299
298
|
int sync() override;
|
|
300
299
|
void imbue(const locale& __loc) override;
|
|
301
300
|
|
|
301
|
+
_LIBCPP_HIDE_FROM_ABI_VIRTUAL streamsize xsputn(const char_type* __str, streamsize __len) override {
|
|
302
|
+
if (__always_noconv_ && __len >= (this->epptr() - this->pbase())) {
|
|
303
|
+
if (traits_type::eq_int_type(overflow(), traits_type::eof()))
|
|
304
|
+
return 0;
|
|
305
|
+
|
|
306
|
+
return std::fwrite(__str, sizeof(char_type), __len, __file_);
|
|
307
|
+
}
|
|
308
|
+
return basic_streambuf<_CharT, _Traits>::xsputn(__str, __len);
|
|
309
|
+
}
|
|
310
|
+
|
|
302
311
|
private:
|
|
303
312
|
char* __extbuf_;
|
|
304
313
|
const char* __extbufnext_;
|
|
@@ -401,6 +410,14 @@ private:
|
|
|
401
410
|
}
|
|
402
411
|
}
|
|
403
412
|
}
|
|
413
|
+
|
|
414
|
+
_LIBCPP_HIDE_FROM_ABI typename traits_type::int_type __overflow_failed() {
|
|
415
|
+
if (this->pptr() == this->epptr() + 1) {
|
|
416
|
+
this->pbump(-1); // lose the character we overflowed above -- we don't really have a
|
|
417
|
+
// choice since we couldn't commit the contents of the put area
|
|
418
|
+
}
|
|
419
|
+
return traits_type::eof();
|
|
420
|
+
}
|
|
404
421
|
};
|
|
405
422
|
|
|
406
423
|
template <class _CharT, class _Traits>
|
|
@@ -742,7 +759,12 @@ basic_filebuf<_CharT, _Traits>* basic_filebuf<_CharT, _Traits>::close() {
|
|
|
742
759
|
if (fclose(__h.release()))
|
|
743
760
|
__rt = nullptr;
|
|
744
761
|
__file_ = nullptr;
|
|
745
|
-
|
|
762
|
+
// Reset the get and the put areas without getting rid of the underlying buffers,
|
|
763
|
+
// which might have been configured by the user. Make sure to keep the buffers
|
|
764
|
+
// since the user may re-open the stream.
|
|
765
|
+
this->setg(nullptr, nullptr, nullptr);
|
|
766
|
+
this->setp(nullptr, nullptr);
|
|
767
|
+
__cm_ = __no_io_operations;
|
|
746
768
|
}
|
|
747
769
|
return __rt;
|
|
748
770
|
}
|
|
@@ -821,14 +843,6 @@ typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>
|
|
|
821
843
|
|
|
822
844
|
template <class _CharT, class _Traits>
|
|
823
845
|
typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>::overflow(int_type __c) {
|
|
824
|
-
auto __failed = [this]() {
|
|
825
|
-
if (this->pptr() == this->epptr() + 1) {
|
|
826
|
-
this->pbump(-1); // lose the character we overflowed above -- we don't really have a
|
|
827
|
-
// choice since we couldn't commit the contents of the put area
|
|
828
|
-
}
|
|
829
|
-
return traits_type::eof();
|
|
830
|
-
};
|
|
831
|
-
|
|
832
846
|
if (__file_ == nullptr)
|
|
833
847
|
return traits_type::eof();
|
|
834
848
|
__write_mode();
|
|
@@ -850,7 +864,7 @@ typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>
|
|
|
850
864
|
if (__always_noconv_) {
|
|
851
865
|
size_t __n = static_cast<size_t>(this->pptr() - this->pbase());
|
|
852
866
|
if (std::fwrite(this->pbase(), sizeof(char_type), __n, __file_) != __n) {
|
|
853
|
-
return
|
|
867
|
+
return __overflow_failed();
|
|
854
868
|
}
|
|
855
869
|
} else {
|
|
856
870
|
if (!__cv_)
|
|
@@ -864,14 +878,14 @@ typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>
|
|
|
864
878
|
do {
|
|
865
879
|
codecvt_base::result __r = __cv_->out(__st_, __b, __p, __end, __extbuf_, __extbuf_ + __ebs_, __extbuf_end);
|
|
866
880
|
if (__end == __b) {
|
|
867
|
-
return
|
|
881
|
+
return __overflow_failed();
|
|
868
882
|
}
|
|
869
883
|
|
|
870
884
|
// No conversion needed: output characters directly to the file, done.
|
|
871
885
|
if (__r == codecvt_base::noconv) {
|
|
872
886
|
size_t __n = static_cast<size_t>(__p - __b);
|
|
873
887
|
if (std::fwrite(__b, 1, __n, __file_) != __n) {
|
|
874
|
-
return
|
|
888
|
+
return __overflow_failed();
|
|
875
889
|
}
|
|
876
890
|
break;
|
|
877
891
|
|
|
@@ -879,7 +893,7 @@ typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>
|
|
|
879
893
|
} else if (__r == codecvt_base::ok) {
|
|
880
894
|
size_t __n = static_cast<size_t>(__extbuf_end - __extbuf_);
|
|
881
895
|
if (std::fwrite(__extbuf_, 1, __n, __file_) != __n) {
|
|
882
|
-
return
|
|
896
|
+
return __overflow_failed();
|
|
883
897
|
}
|
|
884
898
|
break;
|
|
885
899
|
|
|
@@ -888,13 +902,13 @@ typename basic_filebuf<_CharT, _Traits>::int_type basic_filebuf<_CharT, _Traits>
|
|
|
888
902
|
} else if (__r == codecvt_base::partial) {
|
|
889
903
|
size_t __n = static_cast<size_t>(__extbuf_end - __extbuf_);
|
|
890
904
|
if (std::fwrite(__extbuf_, 1, __n, __file_) != __n) {
|
|
891
|
-
return
|
|
905
|
+
return __overflow_failed();
|
|
892
906
|
}
|
|
893
907
|
__b = const_cast<char_type*>(__end);
|
|
894
908
|
continue;
|
|
895
909
|
|
|
896
910
|
} else {
|
|
897
|
-
return
|
|
911
|
+
return __overflow_failed();
|
|
898
912
|
}
|
|
899
913
|
} while (true);
|
|
900
914
|
}
|
|
@@ -977,7 +991,7 @@ template <class _CharT, class _Traits>
|
|
|
977
991
|
int basic_filebuf<_CharT, _Traits>::__fseek(FILE* __file, pos_type __offset, int __whence) {
|
|
978
992
|
# if defined(_LIBCPP_MSVCRT_LIKE)
|
|
979
993
|
return _fseeki64(__file, __offset, __whence);
|
|
980
|
-
# elif
|
|
994
|
+
# elif _LIBCPP_LIBC_NEWLIB
|
|
981
995
|
return fseek(__file, __offset, __whence);
|
|
982
996
|
# else
|
|
983
997
|
return ::fseeko(__file, __offset, __whence);
|
|
@@ -988,7 +1002,7 @@ template <class _CharT, class _Traits>
|
|
|
988
1002
|
typename basic_filebuf<_CharT, _Traits>::pos_type basic_filebuf<_CharT, _Traits>::__ftell(FILE* __file) {
|
|
989
1003
|
# if defined(_LIBCPP_MSVCRT_LIKE)
|
|
990
1004
|
return _ftelli64(__file);
|
|
991
|
-
# elif
|
|
1005
|
+
# elif _LIBCPP_LIBC_NEWLIB
|
|
992
1006
|
return ftell(__file);
|
|
993
1007
|
# else
|
|
994
1008
|
return ftello(__file);
|
|
@@ -1147,27 +1161,27 @@ public:
|
|
|
1147
1161
|
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const string& __s, ios_base::openmode __mode = ios_base::in);
|
|
1148
1162
|
# if _LIBCPP_STD_VER >= 17
|
|
1149
1163
|
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
|
|
1150
|
-
|
|
1151
|
-
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const _Tp& __p, ios_base::openmode __mode = ios_base::in)
|
|
1164
|
+
_LIBCPP_HIDE_FROM_ABI explicit basic_ifstream(const _Tp& __p, ios_base::openmode __mode = ios_base::in)
|
|
1152
1165
|
: basic_ifstream(__p.c_str(), __mode) {}
|
|
1153
1166
|
# endif // _LIBCPP_STD_VER >= 17
|
|
1154
1167
|
_LIBCPP_HIDE_FROM_ABI basic_ifstream(basic_ifstream&& __rhs);
|
|
1155
1168
|
_LIBCPP_HIDE_FROM_ABI basic_ifstream& operator=(basic_ifstream&& __rhs);
|
|
1156
1169
|
_LIBCPP_HIDE_FROM_ABI void swap(basic_ifstream& __rhs);
|
|
1157
1170
|
|
|
1158
|
-
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1171
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1159
1172
|
# if _LIBCPP_STD_VER >= 26
|
|
1160
|
-
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1173
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1174
|
+
return rdbuf()->native_handle();
|
|
1175
|
+
}
|
|
1161
1176
|
# endif
|
|
1162
|
-
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1177
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1163
1178
|
void open(const char* __s, ios_base::openmode __mode = ios_base::in);
|
|
1164
1179
|
# if _LIBCPP_HAS_OPEN_WITH_WCHAR
|
|
1165
1180
|
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in);
|
|
1166
1181
|
# endif
|
|
1167
1182
|
void open(const string& __s, ios_base::openmode __mode = ios_base::in);
|
|
1168
1183
|
# if _LIBCPP_STD_VER >= 17
|
|
1169
|
-
|
|
1170
|
-
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in) {
|
|
1184
|
+
_LIBCPP_HIDE_FROM_ABI void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in) {
|
|
1171
1185
|
return open(__p.c_str(), __mode);
|
|
1172
1186
|
}
|
|
1173
1187
|
# endif // _LIBCPP_STD_VER >= 17
|
|
@@ -1304,8 +1318,7 @@ public:
|
|
|
1304
1318
|
|
|
1305
1319
|
# if _LIBCPP_STD_VER >= 17
|
|
1306
1320
|
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
|
|
1307
|
-
|
|
1308
|
-
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const _Tp& __p, ios_base::openmode __mode = ios_base::out)
|
|
1321
|
+
_LIBCPP_HIDE_FROM_ABI explicit basic_ofstream(const _Tp& __p, ios_base::openmode __mode = ios_base::out)
|
|
1309
1322
|
: basic_ofstream(__p.c_str(), __mode) {}
|
|
1310
1323
|
# endif // _LIBCPP_STD_VER >= 17
|
|
1311
1324
|
|
|
@@ -1313,11 +1326,13 @@ public:
|
|
|
1313
1326
|
_LIBCPP_HIDE_FROM_ABI basic_ofstream& operator=(basic_ofstream&& __rhs);
|
|
1314
1327
|
_LIBCPP_HIDE_FROM_ABI void swap(basic_ofstream& __rhs);
|
|
1315
1328
|
|
|
1316
|
-
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1329
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1317
1330
|
# if _LIBCPP_STD_VER >= 26
|
|
1318
|
-
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1331
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1332
|
+
return rdbuf()->native_handle();
|
|
1333
|
+
}
|
|
1319
1334
|
# endif
|
|
1320
|
-
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1335
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1321
1336
|
void open(const char* __s, ios_base::openmode __mode = ios_base::out);
|
|
1322
1337
|
# if _LIBCPP_HAS_OPEN_WITH_WCHAR
|
|
1323
1338
|
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::out);
|
|
@@ -1325,8 +1340,7 @@ public:
|
|
|
1325
1340
|
void open(const string& __s, ios_base::openmode __mode = ios_base::out);
|
|
1326
1341
|
|
|
1327
1342
|
# if _LIBCPP_STD_VER >= 17
|
|
1328
|
-
|
|
1329
|
-
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out) {
|
|
1343
|
+
_LIBCPP_HIDE_FROM_ABI void open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::out) {
|
|
1330
1344
|
return open(__p.c_str(), __mode);
|
|
1331
1345
|
}
|
|
1332
1346
|
# endif // _LIBCPP_STD_VER >= 17
|
|
@@ -1466,8 +1480,7 @@ public:
|
|
|
1466
1480
|
|
|
1467
1481
|
# if _LIBCPP_STD_VER >= 17
|
|
1468
1482
|
template <class _Tp, class = enable_if_t<is_same_v<_Tp, filesystem::path>>>
|
|
1469
|
-
|
|
1470
|
-
const _Tp& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)
|
|
1483
|
+
_LIBCPP_HIDE_FROM_ABI explicit basic_fstream(const _Tp& __p, ios_base::openmode __mode = ios_base::in | ios_base::out)
|
|
1471
1484
|
: basic_fstream(__p.c_str(), __mode) {}
|
|
1472
1485
|
# endif // _LIBCPP_STD_VER >= 17
|
|
1473
1486
|
|
|
@@ -1477,11 +1490,13 @@ public:
|
|
|
1477
1490
|
|
|
1478
1491
|
_LIBCPP_HIDE_FROM_ABI void swap(basic_fstream& __rhs);
|
|
1479
1492
|
|
|
1480
|
-
_LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1493
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI basic_filebuf<char_type, traits_type>* rdbuf() const;
|
|
1481
1494
|
# if _LIBCPP_STD_VER >= 26
|
|
1482
|
-
_LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1495
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI native_handle_type native_handle() const noexcept {
|
|
1496
|
+
return rdbuf()->native_handle();
|
|
1497
|
+
}
|
|
1483
1498
|
# endif
|
|
1484
|
-
_LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1499
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool is_open() const;
|
|
1485
1500
|
_LIBCPP_HIDE_FROM_ABI void open(const char* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
|
|
1486
1501
|
# if _LIBCPP_HAS_OPEN_WITH_WCHAR
|
|
1487
1502
|
void open(const wchar_t* __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
|
|
@@ -1489,7 +1504,7 @@ public:
|
|
|
1489
1504
|
_LIBCPP_HIDE_FROM_ABI void open(const string& __s, ios_base::openmode __mode = ios_base::in | ios_base::out);
|
|
1490
1505
|
|
|
1491
1506
|
# if _LIBCPP_STD_VER >= 17
|
|
1492
|
-
|
|
1507
|
+
_LIBCPP_HIDE_FROM_ABI void
|
|
1493
1508
|
open(const filesystem::path& __p, ios_base::openmode __mode = ios_base::in | ios_base::out) {
|
|
1494
1509
|
return open(__p.c_str(), __mode);
|
|
1495
1510
|
}
|