@zigc/lib 0.17.0-dev.27 → 0.17.0-dev.296
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/fcntl.zig +6 -1
- package/c/inttypes.zig +0 -10
- package/c/math.zig +52 -112
- package/c/pthread.zig +57 -0
- package/c/search.zig +1 -27
- package/c/stdlib/drand48.zig +0 -57
- package/c/stdlib.zig +31 -121
- package/c/string.zig +20 -7
- package/c/strings.zig +0 -38
- package/c/unistd.zig +27 -26
- package/c/wchar.zig +10 -0
- package/c.zig +2 -2
- package/compiler/aro/aro/CodeGen.zig +7 -8
- package/compiler/aro/aro/Compilation.zig +17 -17
- package/compiler/aro/aro/Driver.zig +14 -13
- package/compiler/aro/aro/Parser.zig +20 -15
- package/compiler/aro/aro/Pragma.zig +3 -2
- package/compiler/aro/aro/Preprocessor.zig +9 -6
- package/compiler/aro/aro/pragmas/message.zig +3 -2
- package/compiler/aro/aro/text_literal.zig +3 -2
- package/compiler/aro/assembly_backend/x86_64.zig +4 -4
- package/compiler/build_runner.zig +2 -4
- package/compiler/reduce/Walk.zig +8 -13
- package/compiler/resinator/compile.zig +1 -1
- package/compiler/resinator/cvtres.zig +4 -4
- package/compiler/resinator/errors.zig +7 -7
- package/compiler/resinator/ico.zig +4 -4
- package/compiler/resinator/parse.zig +2 -2
- package/compiler/resinator/res.zig +1 -1
- package/compiler/std-docs.zig +1 -1
- package/compiler/test_runner.zig +1 -1
- package/compiler/translate-c/MacroTranslator.zig +1 -1
- package/compiler/translate-c/Translator.zig +6 -2
- package/compiler/translate-c/ast.zig +16 -23
- package/compiler/translate-c/main.zig +1 -1
- package/compiler_rt/addf3.zig +1 -1
- package/compiler_rt/arm.zig +3 -3
- package/compiler_rt/atomics.zig +1 -1
- package/compiler_rt/comparef.zig +3 -3
- package/compiler_rt/cos.zig +1 -3
- package/compiler_rt/count0bits.zig +1 -1
- package/compiler_rt/divdf3.zig +2 -2
- package/compiler_rt/divsf3.zig +1 -1
- package/compiler_rt/divtf3.zig +1 -1
- package/compiler_rt/divxf3.zig +1 -1
- package/compiler_rt/exp.zig +0 -2
- package/compiler_rt/exp2.zig +0 -2
- package/compiler_rt/extendf.zig +5 -5
- package/compiler_rt/fabs.zig +1 -3
- package/compiler_rt/float_from_int.zig +3 -4
- package/compiler_rt/fma.zig +0 -2
- package/compiler_rt/fmax.zig +1 -3
- package/compiler_rt/fmin.zig +1 -3
- package/compiler_rt/fmod.zig +2 -4
- package/compiler_rt/limb64.zig +3 -2
- package/compiler_rt/log.zig +0 -2
- package/compiler_rt/log10.zig +0 -2
- package/compiler_rt/log2.zig +0 -2
- package/compiler_rt/mulf3.zig +2 -2
- package/compiler_rt/rem_pio2l.zig +1 -1
- package/compiler_rt/round.zig +0 -2
- package/compiler_rt/sin.zig +1 -3
- package/compiler_rt/sincos.zig +1 -3
- package/compiler_rt/sqrt.zig +0 -2
- package/compiler_rt/ssp.zig +2 -2
- package/compiler_rt/tan.zig +1 -3
- package/compiler_rt/trunc.zig +0 -2
- package/compiler_rt/truncf.zig +3 -3
- package/compiler_rt/trunctfhf2.zig +3 -0
- package/compiler_rt.zig +5 -26
- package/docs/wasm/Walk.zig +1 -3
- package/docs/wasm/html_render.zig +1 -2
- package/docs/wasm/markdown/Parser.zig +16 -20
- package/fuzzer.zig +2 -0
- 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/libc/include/aarch64-linux-any/asm/hwcap.h +1 -0
- package/libc/include/aarch64-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/any-linux-any/asm-generic/errno.h +2 -0
- package/libc/include/any-linux-any/asm-generic/unistd.h +4 -1
- package/libc/include/any-linux-any/drm/amdgpu_drm.h +20 -6
- package/libc/include/any-linux-any/drm/amdxdna_accel.h +8 -0
- package/libc/include/any-linux-any/drm/drm_fourcc.h +6 -6
- package/libc/include/any-linux-any/drm/panfrost_drm.h +75 -1
- package/libc/include/any-linux-any/drm/panthor_drm.h +154 -3
- package/libc/include/any-linux-any/drm/rocket_accel.h +74 -24
- package/libc/include/any-linux-any/drm/xe_drm.h +89 -6
- package/libc/include/any-linux-any/linux/android/binder.h +1 -1
- package/libc/include/any-linux-any/linux/bpf.h +28 -0
- package/libc/include/any-linux-any/linux/btrfs.h +1 -0
- package/libc/include/any-linux-any/linux/btrfs_tree.h +32 -2
- package/libc/include/any-linux-any/linux/dma-buf.h +1 -0
- package/libc/include/any-linux-any/linux/dpll.h +1 -0
- package/libc/include/any-linux-any/linux/elf.h +2 -0
- package/libc/include/any-linux-any/linux/ethtool.h +21 -5
- package/libc/include/any-linux-any/linux/fs.h +1 -0
- package/libc/include/any-linux-any/linux/hyperv.h +1 -1
- package/libc/include/any-linux-any/linux/idxd.h +134 -134
- package/libc/include/any-linux-any/linux/if_alg.h +1 -1
- package/libc/include/any-linux-any/linux/if_link.h +1 -0
- package/libc/include/any-linux-any/linux/input-event-codes.h +4 -0
- package/libc/include/any-linux-any/linux/io_uring/bpf_filter.h +68 -0
- package/libc/include/any-linux-any/linux/io_uring/query.h +5 -1
- package/libc/include/any-linux-any/linux/io_uring.h +33 -2
- package/libc/include/any-linux-any/linux/iommufd.h +39 -0
- package/libc/include/any-linux-any/linux/kfd_ioctl.h +13 -3
- package/libc/include/any-linux-any/linux/kfd_sysfs.h +2 -1
- package/libc/include/any-linux-any/linux/kvm.h +30 -6
- package/libc/include/any-linux-any/linux/landlock.h +22 -8
- package/libc/include/any-linux-any/linux/magic.h +1 -0
- package/libc/include/any-linux-any/linux/mempolicy.h +3 -0
- package/libc/include/any-linux-any/linux/mount.h +11 -2
- package/libc/include/any-linux-any/linux/mptcp_pm.h +1 -1
- package/libc/include/any-linux-any/linux/mshv.h +2 -0
- package/libc/include/any-linux-any/linux/netfilter_bridge.h +5 -4
- package/libc/include/any-linux-any/linux/netfilter_ipv4.h +4 -5
- package/libc/include/any-linux-any/linux/netfilter_ipv6.h +3 -4
- package/libc/include/any-linux-any/linux/nfs.h +1 -1
- package/libc/include/any-linux-any/linux/nfsd_netlink.h +1 -0
- package/libc/include/any-linux-any/linux/nilfs2_api.h +2 -2
- package/libc/include/any-linux-any/linux/nilfs2_ondisk.h +97 -66
- package/libc/include/any-linux-any/linux/nl80211.h +104 -3
- package/libc/include/any-linux-any/linux/pci.h +7 -0
- package/libc/include/any-linux-any/linux/pci_regs.h +65 -6
- package/libc/include/any-linux-any/linux/pcitest.h +1 -0
- package/libc/include/any-linux-any/linux/perf_event.h +24 -3
- package/libc/include/any-linux-any/linux/pkt_sched.h +1 -0
- package/libc/include/any-linux-any/linux/prctl.h +30 -0
- package/libc/include/any-linux-any/linux/rseq.h +62 -5
- package/libc/include/any-linux-any/linux/shm.h +0 -1
- package/libc/include/any-linux-any/linux/stddef.h +4 -0
- package/libc/include/any-linux-any/linux/sysctl.h +1 -2
- package/libc/include/any-linux-any/linux/taskstats.h +12 -1
- package/libc/include/any-linux-any/linux/tcp.h +23 -3
- package/libc/include/any-linux-any/linux/typelimits.h +8 -0
- package/libc/include/any-linux-any/linux/ublk_cmd.h +120 -1
- package/libc/include/any-linux-any/linux/v4l2-controls.h +63 -0
- package/libc/include/any-linux-any/linux/vbox_vmmdev_types.h +2 -2
- package/libc/include/any-linux-any/linux/vduse.h +80 -5
- package/libc/include/any-linux-any/linux/version.h +3 -3
- package/libc/include/any-linux-any/linux/vfio.h +4 -0
- package/libc/include/any-linux-any/linux/videodev2.h +3 -0
- package/libc/include/any-linux-any/linux/virtio_ring.h +1 -2
- package/libc/include/any-linux-any/linux/vmclock-abi.h +20 -0
- package/libc/include/any-linux-any/rdma/bnxt_re-abi.h +16 -0
- package/libc/include/any-linux-any/rdma/ib_user_ioctl_cmds.h +16 -0
- package/libc/include/any-linux-any/rdma/mana-abi.h +3 -0
- package/libc/include/any-linux-any/scsi/scsi_bsg_ufs.h +8 -9
- package/libc/include/any-linux-any/sound/sof/tokens.h +6 -0
- package/libc/include/arc-linux-any/asm/swab.h +0 -63
- package/libc/include/arc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/arm-linux-any/asm/ptrace.h +0 -9
- package/libc/include/arm-linux-any/asm/unistd-eabi.h +1 -0
- package/libc/include/arm-linux-any/asm/unistd-oabi.h +1 -0
- package/libc/include/csky-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/hexagon-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/loongarch-linux-any/asm/hwcap.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm.h +1 -0
- package/libc/include/loongarch-linux-any/asm/kvm_para.h +1 -0
- package/libc/include/loongarch-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/loongarch-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/m68k-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/mips-linux-any/asm/errno.h +2 -0
- package/libc/include/mips-linux-any/asm/unistd_n32.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_n64.h +1 -0
- package/libc/include/mips-linux-any/asm/unistd_o32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/powerpc-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/riscv-linux-any/asm/hwprobe.h +4 -0
- package/libc/include/riscv-linux-any/asm/kvm.h +3 -0
- package/libc/include/riscv-linux-any/asm/ptrace.h +37 -0
- package/libc/include/riscv-linux-any/asm/sigcontext.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/riscv-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/s390x-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/sparc-linux-any/asm/errno.h +2 -0
- package/libc/include/sparc-linux-any/asm/ioctls.h +4 -4
- package/libc/include/sparc-linux-any/asm/unistd_32.h +2 -0
- package/libc/include/sparc-linux-any/asm/unistd_64.h +2 -0
- package/libc/include/x86-linux-any/asm/auxvec.h +0 -4
- package/libc/include/x86-linux-any/asm/kvm.h +13 -8
- package/libc/include/x86-linux-any/asm/svm.h +16 -16
- package/libc/include/x86-linux-any/asm/unistd_32.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_64.h +1 -0
- package/libc/include/x86-linux-any/asm/unistd_x32.h +1 -0
- package/libc/include/xtensa-linux-any/asm/unistd_32.h +1 -0
- package/libc/musl/arch/mipsn32/syscall_arch.h +35 -32
- 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/Cache/Path.zig +1 -1
- package/std/Build/Cache.zig +6 -6
- package/std/Build/Step/Compile.zig +18 -20
- package/std/Build/Step/ConfigHeader.zig +1 -1
- package/std/Build/Step/Run.zig +15 -8
- package/std/Build/Step.zig +3 -7
- package/std/Build/Watch/FsEvents.zig +1 -1
- package/std/Build/WebServer.zig +2 -2
- package/std/Build/abi.zig +1 -1
- package/std/Build.zig +0 -3
- package/std/Io/Dir.zig +9 -4
- package/std/Io/Dispatch.zig +8 -18
- package/std/Io/File/Writer.zig +8 -6
- package/std/Io/File.zig +0 -9
- package/std/Io/Kqueue.zig +3 -3
- package/std/Io/Reader.zig +8 -14
- package/std/Io/Semaphore.zig +112 -17
- package/std/Io/Terminal.zig +1 -1
- package/std/Io/Threaded.zig +183 -46
- package/std/Io/Uring.zig +18 -20
- package/std/Io/Writer.zig +10 -7
- package/std/Io/net/HostName.zig +11 -6
- package/std/Io/net.zig +11 -11
- package/std/Io.zig +104 -38
- package/std/Random/ChaCha.zig +2 -2
- package/std/Random/benchmark.zig +2 -2
- package/std/Random.zig +6 -6
- package/std/SemanticVersion.zig +1 -1
- package/std/Target/Query.zig +2 -2
- 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 +67 -14
- package/std/Thread.zig +5 -2
- package/std/array_hash_map.zig +103 -57
- package/std/array_list.zig +10 -31
- package/std/base64.zig +5 -5
- package/std/bit_set.zig +86 -69
- package/std/c/haiku.zig +3 -0
- package/std/c/serenity.zig +1 -6
- package/std/c.zig +123 -32
- package/std/compress/flate/Decompress.zig +3 -4
- package/std/compress/zstd/Decompress.zig +7 -9
- package/std/crypto/25519/curve25519.zig +2 -2
- package/std/crypto/25519/edwards25519.zig +3 -3
- package/std/crypto/25519/ristretto255.zig +2 -2
- package/std/crypto/25519/scalar.zig +6 -6
- package/std/crypto/25519/x25519.zig +1 -1
- package/std/crypto/Certificate.zig +14 -2
- package/std/crypto/Sha1.zig +1 -1
- package/std/crypto/aegis.zig +45 -39
- package/std/crypto/aes_ccm.zig +22 -22
- package/std/crypto/aes_gcm.zig +10 -12
- package/std/crypto/aes_ocb.zig +9 -9
- package/std/crypto/argon2.zig +15 -15
- package/std/crypto/ascon.zig +75 -33
- package/std/crypto/bcrypt.zig +20 -10
- package/std/crypto/benchmark.zig +7 -7
- package/std/crypto/blake2.zig +100 -64
- package/std/crypto/cbc_mac.zig +1 -1
- package/std/crypto/chacha20.zig +10 -10
- package/std/crypto/cmac.zig +3 -3
- package/std/crypto/codecs/asn1/Oid.zig +12 -1
- package/std/crypto/codecs/asn1/der/Encoder.zig +1 -1
- package/std/crypto/codecs/asn1.zig +1 -1
- package/std/crypto/codecs/base64_hex_ct.zig +3 -5
- package/std/crypto/ecdsa.zig +9 -9
- package/std/crypto/ff.zig +4 -5
- package/std/crypto/ghash_polyval.zig +4 -4
- package/std/crypto/hkdf.zig +1 -1
- package/std/crypto/isap.zig +3 -3
- package/std/crypto/kangarootwelve.zig +1 -1
- package/std/crypto/keccak_p.zig +8 -8
- package/std/crypto/md5.zig +1 -1
- package/std/crypto/ml_dsa.zig +39 -39
- package/std/crypto/ml_kem.zig +12 -34
- package/std/crypto/modes.zig +2 -2
- package/std/crypto/pbkdf2.zig +1 -1
- package/std/crypto/pcurves/common.zig +4 -5
- package/std/crypto/pcurves/p256/scalar.zig +3 -3
- package/std/crypto/pcurves/p384/scalar.zig +2 -2
- package/std/crypto/pcurves/secp256k1/scalar.zig +3 -3
- package/std/crypto/pcurves/tests/p256.zig +5 -5
- package/std/crypto/pcurves/tests/p384.zig +5 -5
- package/std/crypto/pcurves/tests/secp256k1.zig +3 -3
- package/std/crypto/salsa20.zig +8 -8
- package/std/crypto/sha2.zig +2 -2
- package/std/crypto/sha3.zig +2 -2
- package/std/crypto/siphash.zig +1 -1
- package/std/crypto/timing_safe.zig +10 -9
- package/std/crypto/tls/Client.zig +89 -13
- package/std/crypto/tls.zig +1 -1
- package/std/crypto.zig +4 -3
- package/std/debug/Dwarf.zig +15 -12
- package/std/debug/Pdb.zig +25 -17
- package/std/debug.zig +14 -8
- package/std/deque.zig +1 -1
- package/std/elf.zig +1 -1
- package/std/enums.zig +8 -8
- package/std/fmt/parse_float/decimal.zig +1 -1
- package/std/fmt/parse_float.zig +1 -1
- package/std/fmt.zig +14 -10
- package/std/fs/path.zig +7 -5
- package/std/hash/Adler32.zig +3 -3
- package/std/hash/benchmark.zig +2 -2
- package/std/hash/wyhash.zig +2 -2
- package/std/hash/xxhash.zig +0 -6
- package/std/hash_map.zig +20 -1
- package/std/heap/BufferFirstAllocator.zig +165 -0
- package/std/heap/debug_allocator.zig +2 -2
- package/std/heap/memory_pool.zig +34 -197
- package/std/heap.zig +2 -133
- package/std/http/Client.zig +21 -24
- package/std/http.zig +4 -5
- package/std/json/Scanner.zig +2 -2
- package/std/json/static.zig +2 -2
- package/std/{builtin.zig → lang.zig} +5 -1
- package/std/leb128.zig +2 -2
- package/std/math/big/int.zig +5 -5
- package/std/math/big.zig +4 -4
- package/std/math/copysign.zig +1 -1
- package/std/math/float.zig +62 -0
- package/std/math/frexp.zig +4 -4
- package/std/math/ilogb.zig +1 -1
- package/std/math/isfinite.zig +1 -1
- package/std/math/isinf.zig +1 -1
- package/std/math/isnan.zig +1 -2
- package/std/math/isnormal.zig +2 -2
- package/std/math/iszero.zig +2 -2
- package/std/math/ldexp.zig +2 -2
- package/std/math/log10.zig +0 -2
- package/std/math/modf.zig +1 -2
- package/std/math/nextafter.zig +3 -4
- package/std/math/pow.zig +1 -1
- package/std/math/powi.zig +2 -3
- package/std/math/signbit.zig +0 -1
- package/std/math.zig +21 -26
- package/std/mem/Allocator.zig +0 -6
- package/std/mem.zig +31 -31
- package/std/meta/trailer_flags.zig +1 -1
- package/std/meta.zig +4 -36
- package/std/multi_array_list.zig +24 -0
- package/std/os/emscripten.zig +7 -6
- package/std/os/linux/IoUring.zig +2 -0
- package/std/os/linux/aarch64.zig +41 -12
- package/std/os/linux/arc.zig +41 -12
- package/std/os/linux/arm.zig +41 -12
- package/std/os/linux/bpf.zig +6 -0
- package/std/os/linux/hexagon.zig +33 -11
- package/std/os/linux/ioctl.zig +2 -2
- package/std/os/linux/loongarch32.zig +41 -13
- package/std/os/linux/loongarch64.zig +41 -12
- package/std/os/linux/m68k.zig +41 -13
- package/std/os/linux/mips.zig +67 -36
- package/std/os/linux/mips64.zig +60 -29
- package/std/os/linux/mipsn32.zig +60 -29
- package/std/os/linux/or1k.zig +41 -12
- package/std/os/linux/powerpc.zig +41 -12
- package/std/os/linux/powerpc64.zig +41 -12
- package/std/os/linux/riscv32.zig +41 -12
- package/std/os/linux/riscv64.zig +41 -12
- package/std/os/linux/s390x.zig +44 -7
- package/std/os/linux/sparc64.zig +83 -52
- package/std/os/linux/syscalls.zig +26 -1
- package/std/os/linux/thumb.zig +52 -36
- package/std/os/linux/x32.zig +41 -12
- package/std/os/linux/x86.zig +44 -15
- package/std/os/linux/x86_64.zig +41 -12
- package/std/os/linux.zig +416 -450
- package/std/os/plan9.zig +1 -1
- package/std/os/uefi/hii.zig +1 -1
- package/std/os/uefi/tables/boot_services.zig +9 -8
- package/std/os/uefi/tables/runtime_services.zig +1 -1
- package/std/os/windows.zig +130 -1
- package/std/os.zig +41 -0
- package/std/posix.zig +1 -1
- package/std/process/Environ.zig +1 -1
- package/std/process.zig +5 -4
- package/std/simd.zig +4 -21
- package/std/sort.zig +3 -3
- package/std/start.zig +17 -4
- package/std/std.zig +8 -1
- package/std/tar/Writer.zig +39 -33
- package/std/tar.zig +8 -4
- package/std/testing.zig +2 -2
- package/std/unicode.zig +13 -8
- package/std/zig/Ast/Render.zig +6 -30
- package/std/zig/Ast.zig +12 -37
- package/std/zig/AstGen.zig +175 -332
- package/std/zig/AstRlAnnotate.zig +1 -22
- package/std/zig/AstSmith.zig +5 -11
- package/std/zig/BuiltinFn.zig +0 -32
- package/std/zig/ErrorBundle.zig +6 -2
- package/std/zig/LibCDirs.zig +15 -6
- package/std/zig/LibCInstallation.zig +34 -12
- package/std/zig/Parse.zig +11 -76
- package/std/zig/TokenSmith.zig +0 -6
- package/std/zig/WindowsSdk.zig +18 -18
- package/std/zig/Zir.zig +65 -132
- package/std/zig/ZonGen.zig +19 -27
- package/std/zig/llvm/Builder.zig +39 -33
- package/std/zig/llvm/bitcode_writer.zig +3 -3
- package/std/zig/llvm/ir.zig +8 -8
- 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 -4
- package/std/zig/tokenizer.zig +4 -43
- package/std/zig.zig +3 -14
- package/std/zip.zig +5 -5
- package/std/zon/parse.zig +1 -1
- package/zig.h +340 -1
- package/compiler_rt/long_double.zig +0 -37
- 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/libc/include/hexagon-linux-any/asm/signal.h +0 -29
- package/libc/include/s390x-linux-any/asm/tape390.h +0 -103
- package/libc/mingw/math/lrintl.c +0 -18
- package/libc/mingw/math/rintl.c +0 -16
- package/libc/mingw/winpthreads/spinlock.c +0 -82
- package/libc/musl/src/linux/tee.c +0 -8
- package/libc/musl/src/math/i386/lrintl.c +0 -8
- package/libc/musl/src/math/i386/rintl.c +0 -7
- package/libc/musl/src/math/lrintl.c +0 -36
- package/libc/musl/src/math/rintl.c +0 -29
- package/libc/musl/src/math/s390x/rintl.c +0 -15
- package/libc/musl/src/math/x32/lrintl.s +0 -7
- package/libc/musl/src/math/x32/rintl.s +0 -6
- package/libc/musl/src/math/x86_64/lrintl.c +0 -8
- package/libc/musl/src/math/x86_64/rintl.c +0 -7
- package/libc/musl/src/string/strdup.c +0 -10
- package/libc/musl/src/string/strndup.c +0 -12
- package/libc/musl/src/string/wcsdup.c +0 -10
- package/libc/musl/src/thread/pthread_spin_destroy.c +0 -6
- package/libc/musl/src/thread/pthread_spin_init.c +0 -6
- package/libc/musl/src/thread/pthread_spin_lock.c +0 -8
- package/libc/musl/src/thread/pthread_spin_trylock.c +0 -7
- package/libc/musl/src/thread/pthread_spin_unlock.c +0 -7
- package/libc/musl/src/unistd/dup2.c +0 -20
- package/libc/musl/src/unistd/dup3.c +0 -26
- package/libc/wasi/thread-stub/pthread_spin_lock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_trylock.c +0 -8
- package/libc/wasi/thread-stub/pthread_spin_unlock.c +0 -7
- package/libtsan/sanitizer_common/sanitizer_coverage_interface.inc +0 -43
- package/std/Build/Step/CheckObject.zig +0 -2764
- /package/std/{builtin → lang}/assembly.zig +0 -0
|
@@ -0,0 +1,419 @@
|
|
|
1
|
+
// -*- C++ -*-
|
|
2
|
+
//===----------------------------------------------------------------------===//
|
|
3
|
+
//
|
|
4
|
+
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
|
5
|
+
// See https://llvm.org/LICENSE.txt for license information.
|
|
6
|
+
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
7
|
+
//
|
|
8
|
+
//===----------------------------------------------------------------------===//
|
|
9
|
+
|
|
10
|
+
#ifndef _LIBCPP___RANGES_ADJACENT_VIEW_H
|
|
11
|
+
#define _LIBCPP___RANGES_ADJACENT_VIEW_H
|
|
12
|
+
|
|
13
|
+
#include <__config>
|
|
14
|
+
|
|
15
|
+
#include <__algorithm/min.h>
|
|
16
|
+
#include <__compare/three_way_comparable.h>
|
|
17
|
+
#include <__concepts/constructible.h>
|
|
18
|
+
#include <__concepts/convertible_to.h>
|
|
19
|
+
#include <__concepts/equality_comparable.h>
|
|
20
|
+
#include <__cstddef/size_t.h>
|
|
21
|
+
#include <__functional/invoke.h>
|
|
22
|
+
#include <__functional/operations.h>
|
|
23
|
+
#include <__iterator/concepts.h>
|
|
24
|
+
#include <__iterator/incrementable_traits.h>
|
|
25
|
+
#include <__iterator/iter_move.h>
|
|
26
|
+
#include <__iterator/iter_swap.h>
|
|
27
|
+
#include <__iterator/iterator_traits.h>
|
|
28
|
+
#include <__iterator/next.h>
|
|
29
|
+
#include <__iterator/prev.h>
|
|
30
|
+
#include <__ranges/access.h>
|
|
31
|
+
#include <__ranges/all.h>
|
|
32
|
+
#include <__ranges/concepts.h>
|
|
33
|
+
#include <__ranges/empty_view.h>
|
|
34
|
+
#include <__ranges/enable_borrowed_range.h>
|
|
35
|
+
#include <__ranges/range_adaptor.h>
|
|
36
|
+
#include <__ranges/size.h>
|
|
37
|
+
#include <__ranges/view_interface.h>
|
|
38
|
+
#include <__tuple/tuple_transform.h>
|
|
39
|
+
#include <__type_traits/common_type.h>
|
|
40
|
+
#include <__type_traits/is_nothrow_constructible.h>
|
|
41
|
+
#include <__type_traits/make_unsigned.h>
|
|
42
|
+
#include <__type_traits/maybe_const.h>
|
|
43
|
+
#include <__utility/declval.h>
|
|
44
|
+
#include <__utility/forward.h>
|
|
45
|
+
#include <__utility/integer_sequence.h>
|
|
46
|
+
#include <__utility/move.h>
|
|
47
|
+
#include <array>
|
|
48
|
+
#include <tuple>
|
|
49
|
+
|
|
50
|
+
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
|
51
|
+
# pragma GCC system_header
|
|
52
|
+
#endif
|
|
53
|
+
|
|
54
|
+
_LIBCPP_PUSH_MACROS
|
|
55
|
+
#include <__undef_macros>
|
|
56
|
+
|
|
57
|
+
_LIBCPP_BEGIN_NAMESPACE_STD
|
|
58
|
+
|
|
59
|
+
#if _LIBCPP_STD_VER >= 23
|
|
60
|
+
|
|
61
|
+
namespace ranges {
|
|
62
|
+
|
|
63
|
+
template <forward_range _View, size_t _Np>
|
|
64
|
+
requires view<_View> && (_Np > 0)
|
|
65
|
+
class adjacent_view : public view_interface<adjacent_view<_View, _Np>> {
|
|
66
|
+
private:
|
|
67
|
+
_LIBCPP_NO_UNIQUE_ADDRESS _View __base_ = _View();
|
|
68
|
+
|
|
69
|
+
template <bool>
|
|
70
|
+
class __iterator;
|
|
71
|
+
|
|
72
|
+
template <bool>
|
|
73
|
+
class __sentinel;
|
|
74
|
+
|
|
75
|
+
struct __as_sentinel {};
|
|
76
|
+
|
|
77
|
+
public:
|
|
78
|
+
_LIBCPP_HIDE_FROM_ABI adjacent_view()
|
|
79
|
+
requires default_initializable<_View>
|
|
80
|
+
= default;
|
|
81
|
+
|
|
82
|
+
_LIBCPP_HIDE_FROM_ABI constexpr explicit adjacent_view(_View __base) : __base_(std::move(__base)) {}
|
|
83
|
+
|
|
84
|
+
_LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
85
|
+
requires copy_constructible<_View>
|
|
86
|
+
{
|
|
87
|
+
return __base_;
|
|
88
|
+
}
|
|
89
|
+
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
90
|
+
|
|
91
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto begin()
|
|
92
|
+
requires(!__simple_view<_View>)
|
|
93
|
+
{
|
|
94
|
+
return __iterator<false>(ranges::begin(__base_), ranges::end(__base_));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
98
|
+
requires range<const _View> // LWG4482 This is under-constrained.
|
|
99
|
+
{
|
|
100
|
+
return __iterator<true>(ranges::begin(__base_), ranges::end(__base_));
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto end()
|
|
104
|
+
requires(!__simple_view<_View>)
|
|
105
|
+
{
|
|
106
|
+
if constexpr (common_range<_View>) {
|
|
107
|
+
return __iterator<false>(__as_sentinel{}, ranges::begin(__base_), ranges::end(__base_));
|
|
108
|
+
} else {
|
|
109
|
+
return __sentinel<false>(ranges::end(__base_));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
114
|
+
requires range<const _View> // LWG4482 This is under-constrained.
|
|
115
|
+
{
|
|
116
|
+
if constexpr (common_range<const _View>) {
|
|
117
|
+
return __iterator<true>(__as_sentinel{}, ranges::begin(__base_), ranges::end(__base_));
|
|
118
|
+
} else {
|
|
119
|
+
return __sentinel<true>(ranges::end(__base_));
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
124
|
+
requires sized_range<_View>
|
|
125
|
+
{
|
|
126
|
+
using _ST = decltype(ranges::size(__base_));
|
|
127
|
+
using _CT = common_type_t<_ST, size_t>;
|
|
128
|
+
auto __sz = static_cast<_CT>(ranges::size(__base_));
|
|
129
|
+
__sz -= std::min<_CT>(__sz, _Np - 1);
|
|
130
|
+
return static_cast<_ST>(__sz);
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
134
|
+
requires sized_range<const _View>
|
|
135
|
+
{
|
|
136
|
+
using _ST = decltype(ranges::size(__base_));
|
|
137
|
+
using _CT = common_type_t<_ST, size_t>;
|
|
138
|
+
auto __sz = static_cast<_CT>(ranges::size(__base_));
|
|
139
|
+
__sz -= std::min<_CT>(__sz, _Np - 1);
|
|
140
|
+
return static_cast<_ST>(__sz);
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
struct __adjacent_view_iter_access {
|
|
145
|
+
template <class _Iter>
|
|
146
|
+
_LIBCPP_HIDE_FROM_ABI constexpr static auto& __get_current(_Iter& __it) noexcept {
|
|
147
|
+
return __it.__current_;
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
|
|
151
|
+
template <forward_range _View, size_t _Np>
|
|
152
|
+
requires view<_View> && (_Np > 0)
|
|
153
|
+
template <bool _Const>
|
|
154
|
+
class adjacent_view<_View, _Np>::__iterator {
|
|
155
|
+
friend __adjacent_view_iter_access;
|
|
156
|
+
friend adjacent_view;
|
|
157
|
+
using _Base _LIBCPP_NODEBUG = __maybe_const<_Const, _View>;
|
|
158
|
+
array<iterator_t<_Base>, _Np> __current_ = array<iterator_t<_Base>, _Np>();
|
|
159
|
+
|
|
160
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator(iterator_t<_Base> __first, sentinel_t<_Base> __last) {
|
|
161
|
+
__current_[0] = __first;
|
|
162
|
+
for (size_t __i = 1; __i < _Np; ++__i) {
|
|
163
|
+
__current_[__i] = ranges::next(__current_[__i - 1], 1, __last);
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator(__as_sentinel, iterator_t<_Base> __first, iterator_t<_Base> __last) {
|
|
168
|
+
if constexpr (!bidirectional_range<_Base>) {
|
|
169
|
+
__current_.fill(__last);
|
|
170
|
+
} else {
|
|
171
|
+
__current_[_Np - 1] = __last;
|
|
172
|
+
for (int __i = static_cast<int>(_Np) - 2; __i >= 0; --__i) {
|
|
173
|
+
__current_[__i] = ranges::prev(__current_[__i + 1], 1, __first);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
template <class _Iter, size_t... _Is>
|
|
179
|
+
_LIBCPP_HIDE_FROM_ABI explicit constexpr __iterator(_Iter&& __i, index_sequence<_Is...>)
|
|
180
|
+
: __current_{std::move(__i.__current_[_Is])...} {}
|
|
181
|
+
|
|
182
|
+
static consteval auto __get_iterator_concept() {
|
|
183
|
+
if constexpr (random_access_range<_Base>)
|
|
184
|
+
return random_access_iterator_tag{};
|
|
185
|
+
else if constexpr (bidirectional_range<_Base>)
|
|
186
|
+
return bidirectional_iterator_tag{};
|
|
187
|
+
else
|
|
188
|
+
return forward_iterator_tag{};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
template <class _Tp, size_t _Index>
|
|
192
|
+
using __always _LIBCPP_NODEBUG = _Tp;
|
|
193
|
+
|
|
194
|
+
template <class _Tp, size_t... _Is>
|
|
195
|
+
static auto __repeat_tuple_helper(index_sequence<_Is...>) -> tuple<__always<_Tp, _Is>...>;
|
|
196
|
+
|
|
197
|
+
public:
|
|
198
|
+
using iterator_category = input_iterator_tag;
|
|
199
|
+
using iterator_concept = decltype(__get_iterator_concept());
|
|
200
|
+
using value_type = decltype(__repeat_tuple_helper<range_value_t<_Base>>(make_index_sequence<_Np>{}));
|
|
201
|
+
using difference_type = range_difference_t<_Base>;
|
|
202
|
+
|
|
203
|
+
_LIBCPP_HIDE_FROM_ABI __iterator() = default;
|
|
204
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator(__iterator<!_Const> __i)
|
|
205
|
+
requires _Const && convertible_to<iterator_t<_View>, iterator_t<const _View>>
|
|
206
|
+
: __iterator(std::move(__i), make_index_sequence<_Np>{}) {}
|
|
207
|
+
|
|
208
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto operator*() const {
|
|
209
|
+
return std::__tuple_transform([](auto& __i) -> decltype(auto) { return *__i; }, __current_);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator& operator++() {
|
|
213
|
+
for (auto& __i : __current_) {
|
|
214
|
+
++__i;
|
|
215
|
+
}
|
|
216
|
+
return *this;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator operator++(int) {
|
|
220
|
+
auto __tmp = *this;
|
|
221
|
+
++*this;
|
|
222
|
+
return __tmp;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator& operator--()
|
|
226
|
+
requires bidirectional_range<_Base>
|
|
227
|
+
{
|
|
228
|
+
for (auto& __i : __current_) {
|
|
229
|
+
--__i;
|
|
230
|
+
}
|
|
231
|
+
return *this;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator operator--(int)
|
|
235
|
+
requires bidirectional_range<_Base>
|
|
236
|
+
{
|
|
237
|
+
auto __tmp = *this;
|
|
238
|
+
--*this;
|
|
239
|
+
return __tmp;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator& operator+=(difference_type __x)
|
|
243
|
+
requires random_access_range<_Base>
|
|
244
|
+
{
|
|
245
|
+
for (auto& __i : __current_) {
|
|
246
|
+
__i += __x;
|
|
247
|
+
}
|
|
248
|
+
return *this;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __iterator& operator-=(difference_type __x)
|
|
252
|
+
requires random_access_range<_Base>
|
|
253
|
+
{
|
|
254
|
+
for (auto& __i : __current_) {
|
|
255
|
+
__i -= __x;
|
|
256
|
+
}
|
|
257
|
+
return *this;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
_LIBCPP_HIDE_FROM_ABI constexpr auto operator[](difference_type __n) const
|
|
261
|
+
requires random_access_range<_Base>
|
|
262
|
+
{
|
|
263
|
+
return std::__tuple_transform([&](auto& __i) -> decltype(auto) { return __i[__n]; }, __current_);
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator==(const __iterator& __x, const __iterator& __y) {
|
|
267
|
+
return __x.__current_.back() == __y.__current_.back();
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator<(const __iterator& __x, const __iterator& __y)
|
|
271
|
+
requires random_access_range<_Base>
|
|
272
|
+
{
|
|
273
|
+
return __x.__current_.back() < __y.__current_.back();
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator>(const __iterator& __x, const __iterator& __y)
|
|
277
|
+
requires random_access_range<_Base>
|
|
278
|
+
{
|
|
279
|
+
return __y < __x;
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator<=(const __iterator& __x, const __iterator& __y)
|
|
283
|
+
requires random_access_range<_Base>
|
|
284
|
+
{
|
|
285
|
+
return !(__y < __x);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator>=(const __iterator& __x, const __iterator& __y)
|
|
289
|
+
requires random_access_range<_Base>
|
|
290
|
+
{
|
|
291
|
+
return !(__x < __y);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr auto operator<=>(const __iterator& __x, const __iterator& __y)
|
|
295
|
+
requires random_access_range<_Base> && three_way_comparable<iterator_t<_Base>>
|
|
296
|
+
{
|
|
297
|
+
return __x.__current_.back() <=> __y.__current_.back();
|
|
298
|
+
}
|
|
299
|
+
|
|
300
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator+(const __iterator& __i, difference_type __n)
|
|
301
|
+
requires random_access_range<_Base>
|
|
302
|
+
{
|
|
303
|
+
auto __r = __i;
|
|
304
|
+
__r += __n;
|
|
305
|
+
return __r;
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator+(difference_type __n, const __iterator& __i)
|
|
309
|
+
requires random_access_range<_Base>
|
|
310
|
+
{
|
|
311
|
+
return __i + __n;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr __iterator operator-(const __iterator& __i, difference_type __n)
|
|
315
|
+
requires random_access_range<_Base>
|
|
316
|
+
{
|
|
317
|
+
auto __r = __i;
|
|
318
|
+
__r -= __n;
|
|
319
|
+
return __r;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr difference_type operator-(const __iterator& __x, const __iterator& __y)
|
|
323
|
+
requires sized_sentinel_for<iterator_t<_Base>, iterator_t<_Base>>
|
|
324
|
+
{
|
|
325
|
+
return __x.__current_.back() - __y.__current_.back();
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr auto iter_move(const __iterator& __i) noexcept(
|
|
329
|
+
noexcept(ranges::iter_move(std::declval<const iterator_t<_Base>&>())) &&
|
|
330
|
+
is_nothrow_move_constructible_v<range_rvalue_reference_t<_Base>>) {
|
|
331
|
+
return std::__tuple_transform(ranges::iter_move, __i.__current_);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr void iter_swap(const __iterator& __l, const __iterator& __r) noexcept(
|
|
335
|
+
noexcept(ranges::iter_swap(std::declval<iterator_t<_Base>>(), std::declval<iterator_t<_Base>>())))
|
|
336
|
+
requires indirectly_swappable<iterator_t<_Base>>
|
|
337
|
+
{
|
|
338
|
+
for (size_t __i = 0; __i < _Np; ++__i) {
|
|
339
|
+
ranges::iter_swap(__l.__current_[__i], __r.__current_[__i]);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
|
|
344
|
+
template <forward_range _View, size_t _Np>
|
|
345
|
+
requires view<_View> && (_Np > 0)
|
|
346
|
+
template <bool _Const>
|
|
347
|
+
class adjacent_view<_View, _Np>::__sentinel {
|
|
348
|
+
friend adjacent_view;
|
|
349
|
+
using _Base _LIBCPP_NODEBUG = __maybe_const<_Const, _View>;
|
|
350
|
+
sentinel_t<_Base> __end_ = sentinel_t<_Base>();
|
|
351
|
+
|
|
352
|
+
_LIBCPP_HIDE_FROM_ABI constexpr explicit __sentinel(sentinel_t<_Base> __end) { __end_ = std::move(__end); }
|
|
353
|
+
|
|
354
|
+
public:
|
|
355
|
+
_LIBCPP_HIDE_FROM_ABI __sentinel() = default;
|
|
356
|
+
|
|
357
|
+
_LIBCPP_HIDE_FROM_ABI constexpr __sentinel(__sentinel<!_Const> __i)
|
|
358
|
+
requires _Const && convertible_to<sentinel_t<_View>, sentinel_t<_Base>>
|
|
359
|
+
: __end_(std::move(__i.__end_)) {}
|
|
360
|
+
|
|
361
|
+
template <bool _OtherConst>
|
|
362
|
+
requires sentinel_for<sentinel_t<_Base>, iterator_t<__maybe_const<_OtherConst, _View>>>
|
|
363
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr bool operator==(const __iterator<_OtherConst>& __x, const __sentinel& __y) {
|
|
364
|
+
return __x.__current_.back() == __y.__end_;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
template <bool _OtherConst>
|
|
368
|
+
requires sized_sentinel_for<sentinel_t<_Base>, iterator_t<__maybe_const<_OtherConst, _View>>>
|
|
369
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr range_difference_t<__maybe_const<_OtherConst, _View>>
|
|
370
|
+
operator-(const __iterator<_OtherConst>& __x, const __sentinel& __y) {
|
|
371
|
+
return __x.__current_.back() - __y.__end_;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
template <bool _OtherConst>
|
|
375
|
+
requires sized_sentinel_for<sentinel_t<_Base>, iterator_t<__maybe_const<_OtherConst, _View>>>
|
|
376
|
+
_LIBCPP_HIDE_FROM_ABI friend constexpr range_difference_t<__maybe_const<_OtherConst, _View>>
|
|
377
|
+
operator-(const __sentinel& __y, const __iterator<_OtherConst>& __x) {
|
|
378
|
+
return __y.__end_ - __x.__current_.back();
|
|
379
|
+
}
|
|
380
|
+
};
|
|
381
|
+
|
|
382
|
+
template <class _View, size_t _Np>
|
|
383
|
+
constexpr bool enable_borrowed_range<adjacent_view<_View, _Np>> = enable_borrowed_range<_View>;
|
|
384
|
+
|
|
385
|
+
namespace views {
|
|
386
|
+
namespace __adjacent {
|
|
387
|
+
|
|
388
|
+
template <size_t _Np>
|
|
389
|
+
struct __fn : __range_adaptor_closure<__fn<_Np>> {
|
|
390
|
+
template <class _Range>
|
|
391
|
+
requires(_Np == 0 && forward_range<_Range &&>)
|
|
392
|
+
_LIBCPP_HIDE_FROM_ABI static constexpr auto operator()(_Range&&) noexcept {
|
|
393
|
+
return empty_view<tuple<>>{};
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
template <class _Ranges>
|
|
397
|
+
_LIBCPP_HIDE_FROM_ABI static constexpr auto operator()(_Ranges&& __range) noexcept(
|
|
398
|
+
noexcept(adjacent_view<views::all_t<_Ranges&&>, _Np>(std::forward<_Ranges>(__range))))
|
|
399
|
+
-> decltype(adjacent_view<views::all_t<_Ranges&&>, _Np>(std::forward<_Ranges>(__range))) {
|
|
400
|
+
return adjacent_view<views::all_t<_Ranges&&>, _Np>(std::forward<_Ranges>(__range));
|
|
401
|
+
}
|
|
402
|
+
};
|
|
403
|
+
|
|
404
|
+
} // namespace __adjacent
|
|
405
|
+
inline namespace __cpo {
|
|
406
|
+
template <size_t _Np>
|
|
407
|
+
inline constexpr auto adjacent = __adjacent::__fn<_Np>{};
|
|
408
|
+
inline constexpr auto pairwise = adjacent<2>;
|
|
409
|
+
} // namespace __cpo
|
|
410
|
+
} // namespace views
|
|
411
|
+
} // namespace ranges
|
|
412
|
+
|
|
413
|
+
#endif // _LIBCPP_STD_VER >= 23
|
|
414
|
+
|
|
415
|
+
_LIBCPP_END_NAMESPACE_STD
|
|
416
|
+
|
|
417
|
+
_LIBCPP_POP_MACROS
|
|
418
|
+
|
|
419
|
+
#endif // _LIBCPP___RANGES_ADJACENT_VIEW_H
|
|
@@ -48,27 +48,27 @@ public:
|
|
|
48
48
|
|
|
49
49
|
_LIBCPP_HIDE_FROM_ABI constexpr explicit as_rvalue_view(_View __base) : __base_(std::move(__base)) {}
|
|
50
50
|
|
|
51
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
51
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
52
52
|
requires copy_constructible<_View>
|
|
53
53
|
{
|
|
54
54
|
return __base_;
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
57
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
58
58
|
|
|
59
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin()
|
|
59
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin()
|
|
60
60
|
requires(!__simple_view<_View>)
|
|
61
61
|
{
|
|
62
62
|
return move_iterator(ranges::begin(__base_));
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
65
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
66
66
|
requires range<const _View>
|
|
67
67
|
{
|
|
68
68
|
return move_iterator(ranges::begin(__base_));
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end()
|
|
71
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end()
|
|
72
72
|
requires(!__simple_view<_View>)
|
|
73
73
|
{
|
|
74
74
|
if constexpr (common_range<_View>) {
|
|
@@ -78,7 +78,7 @@ public:
|
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
80
|
|
|
81
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
81
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
82
82
|
requires range<const _View>
|
|
83
83
|
{
|
|
84
84
|
if constexpr (common_range<const _View>) {
|
|
@@ -88,13 +88,13 @@ public:
|
|
|
88
88
|
}
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
91
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
92
92
|
requires sized_range<_View>
|
|
93
93
|
{
|
|
94
94
|
return ranges::size(__base_);
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
97
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
98
98
|
requires sized_range<const _View>
|
|
99
99
|
{
|
|
100
100
|
return ranges::size(__base_);
|
|
@@ -117,7 +117,7 @@ struct __fn : __range_adaptor_closure<__fn> {
|
|
|
117
117
|
return /*---------------------------------*/ as_rvalue_view(std::forward<_Range>(__range));
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
template <
|
|
120
|
+
template <input_range _Range>
|
|
121
121
|
requires same_as<range_rvalue_reference_t<_Range>, range_reference_t<_Range>>
|
|
122
122
|
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI static constexpr auto
|
|
123
123
|
operator()(_Range&& __range) noexcept(noexcept(views::all(std::forward<_Range>(__range))))
|
|
@@ -100,17 +100,17 @@ public:
|
|
|
100
100
|
_LIBCPP_HIDE_FROM_ABI constexpr explicit chunk_by_view(_View __base, _Pred __pred)
|
|
101
101
|
: __base_(std::move(__base)), __pred_(in_place, std::move(__pred)) {}
|
|
102
102
|
|
|
103
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
103
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
104
104
|
requires copy_constructible<_View>
|
|
105
105
|
{
|
|
106
106
|
return __base_;
|
|
107
107
|
}
|
|
108
108
|
|
|
109
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
109
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
110
110
|
|
|
111
|
-
_LIBCPP_HIDE_FROM_ABI constexpr const _Pred& pred() const { return *__pred_; }
|
|
111
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr const _Pred& pred() const { return *__pred_; }
|
|
112
112
|
|
|
113
|
-
_LIBCPP_HIDE_FROM_ABI constexpr __iterator begin() {
|
|
113
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr __iterator begin() {
|
|
114
114
|
// Note: this duplicates a check in `optional` but provides a better error message.
|
|
115
115
|
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(
|
|
116
116
|
__pred_.__has_value(), "Trying to call begin() on a chunk_by_view that does not have a valid predicate.");
|
|
@@ -122,7 +122,7 @@ public:
|
|
|
122
122
|
return {*this, std::move(__first), *__cached_begin_};
|
|
123
123
|
}
|
|
124
124
|
|
|
125
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() {
|
|
125
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() {
|
|
126
126
|
if constexpr (common_range<_View>) {
|
|
127
127
|
return __iterator{*this, ranges::end(__base_), ranges::end(__base_)};
|
|
128
128
|
} else {
|
|
@@ -155,7 +155,7 @@ public:
|
|
|
155
155
|
|
|
156
156
|
_LIBCPP_HIDE_FROM_ABI __iterator() = default;
|
|
157
157
|
|
|
158
|
-
_LIBCPP_HIDE_FROM_ABI constexpr value_type operator*() const {
|
|
158
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr value_type operator*() const {
|
|
159
159
|
// If the iterator is at end, this would return an empty range which can be checked by the calling code and doesn't
|
|
160
160
|
// necessarily lead to a bad access.
|
|
161
161
|
_LIBCPP_ASSERT_PEDANTIC(__current_ != __next_, "Trying to dereference past-the-end chunk_by_view iterator.");
|
|
@@ -56,16 +56,16 @@ public:
|
|
|
56
56
|
return __base_;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
59
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
60
60
|
|
|
61
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() {
|
|
61
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin() {
|
|
62
62
|
if constexpr (random_access_range<_View> && sized_range<_View>)
|
|
63
63
|
return ranges::begin(__base_);
|
|
64
64
|
else
|
|
65
65
|
return common_iterator<iterator_t<_View>, sentinel_t<_View>>(ranges::begin(__base_));
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
68
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
69
69
|
requires range<const _View>
|
|
70
70
|
{
|
|
71
71
|
if constexpr (random_access_range<const _View> && sized_range<const _View>)
|
|
@@ -74,14 +74,14 @@ public:
|
|
|
74
74
|
return common_iterator<iterator_t<const _View>, sentinel_t<const _View>>(ranges::begin(__base_));
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() {
|
|
77
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() {
|
|
78
78
|
if constexpr (random_access_range<_View> && sized_range<_View>)
|
|
79
79
|
return ranges::begin(__base_) + ranges::size(__base_);
|
|
80
80
|
else
|
|
81
81
|
return common_iterator<iterator_t<_View>, sentinel_t<_View>>(ranges::end(__base_));
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
84
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
85
85
|
requires range<const _View>
|
|
86
86
|
{
|
|
87
87
|
if constexpr (random_access_range<const _View> && sized_range<const _View>)
|
|
@@ -90,13 +90,13 @@ public:
|
|
|
90
90
|
return common_iterator<iterator_t<const _View>, sentinel_t<const _View>>(ranges::end(__base_));
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
93
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
94
94
|
requires sized_range<_View>
|
|
95
95
|
{
|
|
96
96
|
return ranges::size(__base_);
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
99
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
100
100
|
requires sized_range<const _View>
|
|
101
101
|
{
|
|
102
102
|
return ranges::size(__base_);
|
|
@@ -80,14 +80,14 @@ public:
|
|
|
80
80
|
_LIBCPP_ASSERT_UNCATEGORIZED(__count_ >= 0, "count must be greater than or equal to zero.");
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
83
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
84
84
|
requires copy_constructible<_View>
|
|
85
85
|
{
|
|
86
86
|
return __base_;
|
|
87
87
|
}
|
|
88
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
88
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
89
89
|
|
|
90
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin()
|
|
90
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin()
|
|
91
91
|
requires(!(__simple_view<_View> && random_access_range<const _View> && sized_range<const _View>))
|
|
92
92
|
{
|
|
93
93
|
if constexpr (random_access_range<_View> && sized_range<_View>) {
|
|
@@ -104,20 +104,20 @@ public:
|
|
|
104
104
|
return __tmp;
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
107
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin() const
|
|
108
108
|
requires random_access_range<const _View> && sized_range<const _View>
|
|
109
109
|
{
|
|
110
110
|
const auto __dist = std::min(ranges::distance(__base_), __count_);
|
|
111
111
|
return ranges::begin(__base_) + __dist;
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end()
|
|
114
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end()
|
|
115
115
|
requires(!__simple_view<_View>)
|
|
116
116
|
{
|
|
117
117
|
return ranges::end(__base_);
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
120
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() const
|
|
121
121
|
requires range<const _View>
|
|
122
122
|
{
|
|
123
123
|
return ranges::end(__base_);
|
|
@@ -129,13 +129,13 @@ public:
|
|
|
129
129
|
return __s < __c ? 0 : __s - __c;
|
|
130
130
|
}
|
|
131
131
|
|
|
132
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
132
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size()
|
|
133
133
|
requires sized_range<_View>
|
|
134
134
|
{
|
|
135
135
|
return __size(*this);
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
138
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto size() const
|
|
139
139
|
requires sized_range<const _View>
|
|
140
140
|
{
|
|
141
141
|
return __size(*this);
|
|
@@ -57,17 +57,17 @@ public:
|
|
|
57
57
|
_LIBCPP_HIDE_FROM_ABI constexpr _LIBCPP_EXPLICIT_SINCE_CXX23 drop_while_view(_View __base, _Pred __pred)
|
|
58
58
|
: __base_(std::move(__base)), __pred_(std::in_place, std::move(__pred)) {}
|
|
59
59
|
|
|
60
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
60
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() const&
|
|
61
61
|
requires copy_constructible<_View>
|
|
62
62
|
{
|
|
63
63
|
return __base_;
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
_LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
66
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr _View base() && { return std::move(__base_); }
|
|
67
67
|
|
|
68
|
-
_LIBCPP_HIDE_FROM_ABI constexpr const _Pred& pred() const { return *__pred_; }
|
|
68
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr const _Pred& pred() const { return *__pred_; }
|
|
69
69
|
|
|
70
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto begin() {
|
|
70
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto begin() {
|
|
71
71
|
// Note: this duplicates a check in `optional` but provides a better error message.
|
|
72
72
|
_LIBCPP_ASSERT_VALID_ELEMENT_ACCESS(
|
|
73
73
|
__pred_.__has_value(),
|
|
@@ -83,7 +83,7 @@ public:
|
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
_LIBCPP_HIDE_FROM_ABI constexpr auto end() { return ranges::end(__base_); }
|
|
86
|
+
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto end() { return ranges::end(__base_); }
|
|
87
87
|
|
|
88
88
|
private:
|
|
89
89
|
_LIBCPP_NO_UNIQUE_ADDRESS _View __base_ = _View();
|