@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
package/libcxx/include/deque
CHANGED
|
@@ -191,9 +191,9 @@ template <class T, class Allocator, class Predicate>
|
|
|
191
191
|
# include <__algorithm/min.h>
|
|
192
192
|
# include <__algorithm/move.h>
|
|
193
193
|
# include <__algorithm/move_backward.h>
|
|
194
|
+
# include <__algorithm/ranges_copy_n.h>
|
|
194
195
|
# include <__algorithm/remove.h>
|
|
195
196
|
# include <__algorithm/remove_if.h>
|
|
196
|
-
# include <__algorithm/unwrap_iter.h>
|
|
197
197
|
# include <__assert>
|
|
198
198
|
# include <__config>
|
|
199
199
|
# include <__debug_utils/sanitizers.h>
|
|
@@ -220,21 +220,19 @@ template <class T, class Allocator, class Predicate>
|
|
|
220
220
|
# include <__ranges/concepts.h>
|
|
221
221
|
# include <__ranges/container_compatible_range.h>
|
|
222
222
|
# include <__ranges/from_range.h>
|
|
223
|
-
# include <__ranges/size.h>
|
|
224
223
|
# include <__split_buffer>
|
|
225
224
|
# include <__type_traits/conditional.h>
|
|
226
225
|
# include <__type_traits/container_traits.h>
|
|
227
|
-
# include <__type_traits/disjunction.h>
|
|
228
226
|
# include <__type_traits/enable_if.h>
|
|
229
227
|
# include <__type_traits/is_allocator.h>
|
|
230
228
|
# include <__type_traits/is_convertible.h>
|
|
231
229
|
# include <__type_traits/is_nothrow_assignable.h>
|
|
232
230
|
# include <__type_traits/is_nothrow_constructible.h>
|
|
233
|
-
# include <__type_traits/is_replaceable.h>
|
|
234
231
|
# include <__type_traits/is_same.h>
|
|
235
232
|
# include <__type_traits/is_swappable.h>
|
|
236
233
|
# include <__type_traits/is_trivially_relocatable.h>
|
|
237
234
|
# include <__type_traits/type_identity.h>
|
|
235
|
+
# include <__utility/exception_guard.h>
|
|
238
236
|
# include <__utility/forward.h>
|
|
239
237
|
# include <__utility/move.h>
|
|
240
238
|
# include <__utility/pair.h>
|
|
@@ -461,9 +459,8 @@ private:
|
|
|
461
459
|
__deque_iterator<_ValueType, _Pointer, _Reference, _MapPointer, _DiffType, _BlockSize>;
|
|
462
460
|
|
|
463
461
|
public:
|
|
464
|
-
using
|
|
465
|
-
using
|
|
466
|
-
using __local_iterator _LIBCPP_NODEBUG = _Pointer;
|
|
462
|
+
using __segment_iterator _LIBCPP_NODEBUG = _MapPointer;
|
|
463
|
+
using __local_iterator _LIBCPP_NODEBUG = _Pointer;
|
|
467
464
|
|
|
468
465
|
static _LIBCPP_HIDE_FROM_ABI __segment_iterator __segment(_Iterator __iter) { return __iter.__m_iter_; }
|
|
469
466
|
static _LIBCPP_HIDE_FROM_ABI __local_iterator __local(_Iterator __iter) { return __iter.__ptr_; }
|
|
@@ -488,6 +485,9 @@ const _DiffType __deque_iterator<_ValueType, _Pointer, _Reference, _MapPointer,
|
|
|
488
485
|
|
|
489
486
|
template <class _Tp, class _Allocator /*= allocator<_Tp>*/>
|
|
490
487
|
class deque {
|
|
488
|
+
template <class _Up, class _Alloc>
|
|
489
|
+
using __split_buffer _LIBCPP_NODEBUG = std::__split_buffer<_Up, _Alloc, __split_buffer_pointer_layout>;
|
|
490
|
+
|
|
491
491
|
public:
|
|
492
492
|
// types:
|
|
493
493
|
|
|
@@ -531,10 +531,6 @@ public:
|
|
|
531
531
|
__libcpp_is_trivially_relocatable<__map>::value && __libcpp_is_trivially_relocatable<allocator_type>::value,
|
|
532
532
|
deque,
|
|
533
533
|
void>;
|
|
534
|
-
using __replaceable _LIBCPP_NODEBUG =
|
|
535
|
-
__conditional_t<__is_replaceable_v<__map> && __container_allocator_is_replaceable<__alloc_traits>::value,
|
|
536
|
-
deque,
|
|
537
|
-
void>;
|
|
538
534
|
|
|
539
535
|
static_assert(is_nothrow_default_constructible<allocator_type>::value ==
|
|
540
536
|
is_nothrow_default_constructible<__pointer_allocator>::value,
|
|
@@ -635,7 +631,7 @@ public:
|
|
|
635
631
|
# endif
|
|
636
632
|
_LIBCPP_HIDE_FROM_ABI deque(size_type __n, const value_type& __v);
|
|
637
633
|
|
|
638
|
-
template <__enable_if_t<
|
|
634
|
+
template <__enable_if_t<__is_allocator_v<_Allocator>, int> = 0>
|
|
639
635
|
_LIBCPP_HIDE_FROM_ABI deque(size_type __n, const value_type& __v, const allocator_type& __a)
|
|
640
636
|
: __map_(__pointer_allocator(__a)), __start_(0), __size_(0), __alloc_(__a) {
|
|
641
637
|
__annotate_new(0);
|
|
@@ -703,8 +699,16 @@ public:
|
|
|
703
699
|
__assign_with_size_random_access(ranges::begin(__range), __n);
|
|
704
700
|
|
|
705
701
|
} else if constexpr (ranges::forward_range<_Range> || ranges::sized_range<_Range>) {
|
|
706
|
-
auto __n
|
|
707
|
-
|
|
702
|
+
auto __n = ranges::distance(__range);
|
|
703
|
+
auto __first = ranges::begin(__range);
|
|
704
|
+
|
|
705
|
+
auto __result = std::ranges::copy_n(std::move(__first), std::min<size_t>(__n, size()), begin());
|
|
706
|
+
|
|
707
|
+
if (static_cast<size_type>(__n) > size()) {
|
|
708
|
+
__append_with_size(std::move(__result.in), __n - size());
|
|
709
|
+
} else {
|
|
710
|
+
__erase_to_end(__result.out);
|
|
711
|
+
}
|
|
708
712
|
|
|
709
713
|
} else {
|
|
710
714
|
__assign_with_sentinel(ranges::begin(__range), ranges::end(__range));
|
|
@@ -720,45 +724,53 @@ public:
|
|
|
720
724
|
|
|
721
725
|
// iterators:
|
|
722
726
|
|
|
723
|
-
_LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {
|
|
727
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iterator begin() _NOEXCEPT {
|
|
724
728
|
__map_pointer __mp = __map_.begin() + __start_ / __block_size;
|
|
725
729
|
return iterator(__mp, __map_.empty() ? 0 : *__mp + __start_ % __block_size);
|
|
726
730
|
}
|
|
727
731
|
|
|
728
|
-
_LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {
|
|
732
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator begin() const _NOEXCEPT {
|
|
729
733
|
__map_const_pointer __mp = static_cast<__map_const_pointer>(__map_.begin() + __start_ / __block_size);
|
|
730
734
|
return const_iterator(__mp, __map_.empty() ? 0 : *__mp + __start_ % __block_size);
|
|
731
735
|
}
|
|
732
736
|
|
|
733
|
-
_LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {
|
|
737
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI iterator end() _NOEXCEPT {
|
|
734
738
|
size_type __p = size() + __start_;
|
|
735
739
|
__map_pointer __mp = __map_.begin() + __p / __block_size;
|
|
736
740
|
return iterator(__mp, __map_.empty() ? 0 : *__mp + __p % __block_size);
|
|
737
741
|
}
|
|
738
742
|
|
|
739
|
-
_LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT {
|
|
743
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator end() const _NOEXCEPT {
|
|
740
744
|
size_type __p = size() + __start_;
|
|
741
745
|
__map_const_pointer __mp = static_cast<__map_const_pointer>(__map_.begin() + __p / __block_size);
|
|
742
746
|
return const_iterator(__mp, __map_.empty() ? 0 : *__mp + __p % __block_size);
|
|
743
747
|
}
|
|
744
748
|
|
|
745
|
-
_LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT { return reverse_iterator(end()); }
|
|
746
|
-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT {
|
|
747
|
-
|
|
748
|
-
|
|
749
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reverse_iterator rbegin() _NOEXCEPT { return reverse_iterator(end()); }
|
|
750
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rbegin() const _NOEXCEPT {
|
|
751
|
+
return const_reverse_iterator(end());
|
|
752
|
+
}
|
|
753
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reverse_iterator rend() _NOEXCEPT { return reverse_iterator(begin()); }
|
|
754
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reverse_iterator rend() const _NOEXCEPT {
|
|
755
|
+
return const_reverse_iterator(begin());
|
|
756
|
+
}
|
|
749
757
|
|
|
750
|
-
_LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT { return begin(); }
|
|
751
|
-
_LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT { return end(); }
|
|
752
|
-
_LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT {
|
|
753
|
-
|
|
758
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator cbegin() const _NOEXCEPT { return begin(); }
|
|
759
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_iterator cend() const _NOEXCEPT { return end(); }
|
|
760
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crbegin() const _NOEXCEPT {
|
|
761
|
+
return const_reverse_iterator(end());
|
|
762
|
+
}
|
|
763
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reverse_iterator crend() const _NOEXCEPT {
|
|
764
|
+
return const_reverse_iterator(begin());
|
|
765
|
+
}
|
|
754
766
|
|
|
755
767
|
// capacity:
|
|
756
|
-
_LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT { return __size(); }
|
|
768
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type size() const _NOEXCEPT { return __size(); }
|
|
757
769
|
|
|
758
770
|
_LIBCPP_HIDE_FROM_ABI size_type& __size() _NOEXCEPT { return __size_; }
|
|
759
771
|
_LIBCPP_HIDE_FROM_ABI const size_type& __size() const _NOEXCEPT { return __size_; }
|
|
760
772
|
|
|
761
|
-
_LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {
|
|
773
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI size_type max_size() const _NOEXCEPT {
|
|
762
774
|
return std::min<size_type>(__alloc_traits::max_size(__alloc()), numeric_limits<difference_type>::max());
|
|
763
775
|
}
|
|
764
776
|
_LIBCPP_HIDE_FROM_ABI void resize(size_type __n);
|
|
@@ -767,18 +779,22 @@ public:
|
|
|
767
779
|
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI bool empty() const _NOEXCEPT { return size() == 0; }
|
|
768
780
|
|
|
769
781
|
// element access:
|
|
770
|
-
_LIBCPP_HIDE_FROM_ABI reference operator[](size_type __i) _NOEXCEPT;
|
|
771
|
-
_LIBCPP_HIDE_FROM_ABI const_reference operator[](size_type __i) const _NOEXCEPT;
|
|
772
|
-
_LIBCPP_HIDE_FROM_ABI reference at(size_type __i);
|
|
773
|
-
_LIBCPP_HIDE_FROM_ABI const_reference at(size_type __i) const;
|
|
774
|
-
_LIBCPP_HIDE_FROM_ABI reference front() _NOEXCEPT;
|
|
775
|
-
_LIBCPP_HIDE_FROM_ABI const_reference front() const _NOEXCEPT;
|
|
776
|
-
_LIBCPP_HIDE_FROM_ABI reference back() _NOEXCEPT;
|
|
777
|
-
_LIBCPP_HIDE_FROM_ABI const_reference back() const _NOEXCEPT;
|
|
782
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference operator[](size_type __i) _NOEXCEPT;
|
|
783
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference operator[](size_type __i) const _NOEXCEPT;
|
|
784
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference at(size_type __i);
|
|
785
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference at(size_type __i) const;
|
|
786
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference front() _NOEXCEPT;
|
|
787
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference front() const _NOEXCEPT;
|
|
788
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI reference back() _NOEXCEPT;
|
|
789
|
+
[[__nodiscard__]] _LIBCPP_HIDE_FROM_ABI const_reference back() const _NOEXCEPT;
|
|
778
790
|
|
|
779
791
|
// 23.2.2.3 modifiers:
|
|
780
792
|
_LIBCPP_HIDE_FROM_ABI void push_front(const value_type& __v);
|
|
781
793
|
_LIBCPP_HIDE_FROM_ABI void push_back(const value_type& __v);
|
|
794
|
+
|
|
795
|
+
template <class... _Args>
|
|
796
|
+
_LIBCPP_HIDE_FROM_ABI iterator __emplace(const_iterator __p, _Args&&... __args);
|
|
797
|
+
|
|
782
798
|
# ifndef _LIBCPP_CXX03_LANG
|
|
783
799
|
# if _LIBCPP_STD_VER >= 17
|
|
784
800
|
template <class... _Args>
|
|
@@ -791,8 +807,11 @@ public:
|
|
|
791
807
|
template <class... _Args>
|
|
792
808
|
_LIBCPP_HIDE_FROM_ABI void emplace_back(_Args&&... __args);
|
|
793
809
|
# endif
|
|
810
|
+
|
|
794
811
|
template <class... _Args>
|
|
795
|
-
_LIBCPP_HIDE_FROM_ABI iterator emplace(const_iterator __p, _Args&&... __args)
|
|
812
|
+
_LIBCPP_HIDE_FROM_ABI iterator emplace(const_iterator __p, _Args&&... __args) {
|
|
813
|
+
return __emplace(__p, std::forward<_Args>(__args)...);
|
|
814
|
+
}
|
|
796
815
|
|
|
797
816
|
_LIBCPP_HIDE_FROM_ABI void push_front(value_type&& __v);
|
|
798
817
|
_LIBCPP_HIDE_FROM_ABI void push_back(value_type&& __v);
|
|
@@ -805,17 +824,21 @@ public:
|
|
|
805
824
|
|
|
806
825
|
template <_ContainerCompatibleRange<_Tp> _Range>
|
|
807
826
|
_LIBCPP_HIDE_FROM_ABI void append_range(_Range&& __range) {
|
|
808
|
-
|
|
827
|
+
if constexpr (ranges::forward_range<_Range> || ranges::sized_range<_Range>) {
|
|
828
|
+
__append_with_size(ranges::begin(__range), ranges::distance(__range));
|
|
829
|
+
} else {
|
|
830
|
+
__append_with_sentinel(ranges::begin(__range), ranges::end(__range));
|
|
831
|
+
}
|
|
809
832
|
}
|
|
810
833
|
# endif
|
|
811
834
|
|
|
812
|
-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v);
|
|
835
|
+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, value_type&& __v) { return __emplace(__p, std::move(__v)); }
|
|
813
836
|
|
|
814
837
|
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, initializer_list<value_type> __il) {
|
|
815
838
|
return insert(__p, __il.begin(), __il.end());
|
|
816
839
|
}
|
|
817
840
|
# endif // _LIBCPP_CXX03_LANG
|
|
818
|
-
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v);
|
|
841
|
+
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, const value_type& __v) { return __emplace(__p, __v); }
|
|
819
842
|
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, size_type __n, const value_type& __v);
|
|
820
843
|
template <class _InputIter, __enable_if_t<__has_exactly_input_iterator_category<_InputIter>::value, int> = 0>
|
|
821
844
|
_LIBCPP_HIDE_FROM_ABI iterator insert(const_iterator __p, _InputIter __f, _InputIter __l);
|
|
@@ -1109,7 +1132,7 @@ public:
|
|
|
1109
1132
|
// This function tests deque object annotations.
|
|
1110
1133
|
if (empty()) {
|
|
1111
1134
|
for (__map_const_iterator __it = __map_.begin(); __it != __map_.end(); ++__it) {
|
|
1112
|
-
if (
|
|
1135
|
+
if (!::__sanitizer_verify_double_ended_contiguous_container(
|
|
1113
1136
|
std::__to_address(*__it),
|
|
1114
1137
|
std::__to_address(*__it),
|
|
1115
1138
|
std::__to_address(*__it),
|
|
@@ -1141,7 +1164,7 @@ public:
|
|
|
1141
1164
|
|
|
1142
1165
|
// Is the block before or after deque blocks that contain elements?
|
|
1143
1166
|
if (__it < __first_mp || __it > __last_mp) {
|
|
1144
|
-
if (
|
|
1167
|
+
if (!::__sanitizer_verify_double_ended_contiguous_container(
|
|
1145
1168
|
std::__to_address(*__it),
|
|
1146
1169
|
std::__to_address(*__it),
|
|
1147
1170
|
std::__to_address(*__it),
|
|
@@ -1151,7 +1174,7 @@ public:
|
|
|
1151
1174
|
const void* __containers_buffer_beg = (__it == __first_mp) ? __p_beg : (const void*)std::__to_address(*__it);
|
|
1152
1175
|
const void* __containers_buffer_end =
|
|
1153
1176
|
(__it == __last_mp) ? __p_end : (const void*)std::__to_address(*__it + __block_size);
|
|
1154
|
-
if (
|
|
1177
|
+
if (!::__sanitizer_verify_double_ended_contiguous_container(
|
|
1155
1178
|
std::__to_address(*__it),
|
|
1156
1179
|
__containers_buffer_beg,
|
|
1157
1180
|
__containers_buffer_end,
|
|
@@ -1191,7 +1214,7 @@ private:
|
|
|
1191
1214
|
|
|
1192
1215
|
template <class _RandomAccessIterator>
|
|
1193
1216
|
_LIBCPP_HIDE_FROM_ABI void __assign_with_size_random_access(_RandomAccessIterator __f, difference_type __n);
|
|
1194
|
-
template <class _Iterator>
|
|
1217
|
+
template <class _AlgPolicy, class _Iterator>
|
|
1195
1218
|
_LIBCPP_HIDE_FROM_ABI void __assign_with_size(_Iterator __f, difference_type __n);
|
|
1196
1219
|
|
|
1197
1220
|
template <class _Iterator, class _Sentinel>
|
|
@@ -1239,8 +1262,8 @@ private:
|
|
|
1239
1262
|
clear();
|
|
1240
1263
|
shrink_to_fit();
|
|
1241
1264
|
}
|
|
1242
|
-
__alloc()
|
|
1243
|
-
__map_.
|
|
1265
|
+
__alloc() = __c.__alloc();
|
|
1266
|
+
__map_.__get_allocator() = __c.__map_.__get_allocator();
|
|
1244
1267
|
}
|
|
1245
1268
|
|
|
1246
1269
|
_LIBCPP_HIDE_FROM_ABI void __copy_assign_alloc(const deque&, false_type) {}
|
|
@@ -1256,22 +1279,22 @@ _LIBCPP_CONSTEXPR const typename allocator_traits<_Alloc>::difference_type deque
|
|
|
1256
1279
|
|
|
1257
1280
|
# if _LIBCPP_STD_VER >= 17
|
|
1258
1281
|
template <class _InputIterator,
|
|
1259
|
-
class _Alloc = allocator<
|
|
1282
|
+
class _Alloc = allocator<__iterator_value_type<_InputIterator>>,
|
|
1260
1283
|
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
|
|
1261
|
-
class = enable_if_t<
|
|
1262
|
-
deque(_InputIterator, _InputIterator) -> deque<
|
|
1284
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
1285
|
+
deque(_InputIterator, _InputIterator) -> deque<__iterator_value_type<_InputIterator>, _Alloc>;
|
|
1263
1286
|
|
|
1264
1287
|
template <class _InputIterator,
|
|
1265
1288
|
class _Alloc,
|
|
1266
1289
|
class = enable_if_t<__has_input_iterator_category<_InputIterator>::value>,
|
|
1267
|
-
class = enable_if_t<
|
|
1268
|
-
deque(_InputIterator, _InputIterator, _Alloc) -> deque<
|
|
1290
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
1291
|
+
deque(_InputIterator, _InputIterator, _Alloc) -> deque<__iterator_value_type<_InputIterator>, _Alloc>;
|
|
1269
1292
|
# endif
|
|
1270
1293
|
|
|
1271
1294
|
# if _LIBCPP_STD_VER >= 23
|
|
1272
1295
|
template <ranges::input_range _Range,
|
|
1273
1296
|
class _Alloc = allocator<ranges::range_value_t<_Range>>,
|
|
1274
|
-
class = enable_if_t<
|
|
1297
|
+
class = enable_if_t<__is_allocator_v<_Alloc>>>
|
|
1275
1298
|
deque(from_range_t, _Range&&, _Alloc = _Alloc()) -> deque<ranges::range_value_t<_Range>, _Alloc>;
|
|
1276
1299
|
# endif
|
|
1277
1300
|
|
|
@@ -1319,7 +1342,7 @@ deque<_Tp, _Allocator>::deque(const deque& __c)
|
|
|
1319
1342
|
: __map_(__pointer_allocator(__alloc_traits::select_on_container_copy_construction(__c.__alloc()))),
|
|
1320
1343
|
__start_(0),
|
|
1321
1344
|
__size_(0),
|
|
1322
|
-
__alloc_(__map_.
|
|
1345
|
+
__alloc_(__map_.__get_allocator()) {
|
|
1323
1346
|
__annotate_new(0);
|
|
1324
1347
|
__append(__c.begin(), __c.end());
|
|
1325
1348
|
}
|
|
@@ -1451,24 +1474,6 @@ deque<_Tp, _Allocator>::__assign_with_size_random_access(_RandomAccessIterator _
|
|
|
1451
1474
|
__erase_to_end(std::copy_n(__f, __n, begin()));
|
|
1452
1475
|
}
|
|
1453
1476
|
|
|
1454
|
-
template <class _Tp, class _Allocator>
|
|
1455
|
-
template <class _Iterator>
|
|
1456
|
-
_LIBCPP_HIDE_FROM_ABI void deque<_Tp, _Allocator>::__assign_with_size(_Iterator __f, difference_type __n) {
|
|
1457
|
-
if (static_cast<size_type>(__n) > size()) {
|
|
1458
|
-
auto __added_size = __n - size();
|
|
1459
|
-
|
|
1460
|
-
auto __i = begin();
|
|
1461
|
-
for (auto __count = size(); __count != 0; --__count) {
|
|
1462
|
-
*__i++ = *__f++;
|
|
1463
|
-
}
|
|
1464
|
-
|
|
1465
|
-
__append_with_size(__f, __added_size);
|
|
1466
|
-
|
|
1467
|
-
} else {
|
|
1468
|
-
__erase_to_end(std::copy_n(__f, __n, begin()));
|
|
1469
|
-
}
|
|
1470
|
-
}
|
|
1471
|
-
|
|
1472
1477
|
template <class _Tp, class _Allocator>
|
|
1473
1478
|
void deque<_Tp, _Allocator>::assign(size_type __n, const value_type& __v) {
|
|
1474
1479
|
if (__n > size()) {
|
|
@@ -1661,56 +1666,11 @@ deque<_Tp, _Allocator>::emplace_front(_Args&&... __args) {
|
|
|
1661
1666
|
return *begin();
|
|
1662
1667
|
# endif
|
|
1663
1668
|
}
|
|
1664
|
-
|
|
1665
|
-
template <class _Tp, class _Allocator>
|
|
1666
|
-
typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, value_type&& __v) {
|
|
1667
|
-
size_type __pos = __p - begin();
|
|
1668
|
-
size_type __to_end = size() - __pos;
|
|
1669
|
-
allocator_type& __a = __alloc();
|
|
1670
|
-
if (__pos < __to_end) { // insert by shifting things backward
|
|
1671
|
-
if (__front_spare() == 0)
|
|
1672
|
-
__add_front_capacity();
|
|
1673
|
-
// __front_spare() >= 1
|
|
1674
|
-
__annotate_increase_front(1);
|
|
1675
|
-
if (__pos == 0) {
|
|
1676
|
-
__alloc_traits::construct(__a, std::addressof(*--begin()), std::move(__v));
|
|
1677
|
-
--__start_;
|
|
1678
|
-
++__size();
|
|
1679
|
-
} else {
|
|
1680
|
-
iterator __b = begin();
|
|
1681
|
-
iterator __bm1 = std::prev(__b);
|
|
1682
|
-
__alloc_traits::construct(__a, std::addressof(*__bm1), std::move(*__b));
|
|
1683
|
-
--__start_;
|
|
1684
|
-
++__size();
|
|
1685
|
-
if (__pos > 1)
|
|
1686
|
-
__b = std::move(std::next(__b), __b + __pos, __b);
|
|
1687
|
-
*__b = std::move(__v);
|
|
1688
|
-
}
|
|
1689
|
-
} else { // insert by shifting things forward
|
|
1690
|
-
if (__back_spare() == 0)
|
|
1691
|
-
__add_back_capacity();
|
|
1692
|
-
// __back_capacity >= 1
|
|
1693
|
-
__annotate_increase_back(1);
|
|
1694
|
-
size_type __de = size() - __pos;
|
|
1695
|
-
if (__de == 0) {
|
|
1696
|
-
__alloc_traits::construct(__a, std::addressof(*end()), std::move(__v));
|
|
1697
|
-
++__size();
|
|
1698
|
-
} else {
|
|
1699
|
-
iterator __e = end();
|
|
1700
|
-
iterator __em1 = std::prev(__e);
|
|
1701
|
-
__alloc_traits::construct(__a, std::addressof(*__e), std::move(*__em1));
|
|
1702
|
-
++__size();
|
|
1703
|
-
if (__de > 1)
|
|
1704
|
-
__e = std::move_backward(__e - __de, __em1, __e);
|
|
1705
|
-
*--__e = std::move(__v);
|
|
1706
|
-
}
|
|
1707
|
-
}
|
|
1708
|
-
return begin() + __pos;
|
|
1709
|
-
}
|
|
1669
|
+
# endif // _LIBCPP_CXX03_LANG
|
|
1710
1670
|
|
|
1711
1671
|
template <class _Tp, class _Allocator>
|
|
1712
1672
|
template <class... _Args>
|
|
1713
|
-
typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::
|
|
1673
|
+
typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::__emplace(const_iterator __p, _Args&&... __args) {
|
|
1714
1674
|
size_type __pos = __p - begin();
|
|
1715
1675
|
size_type __to_end = size() - __pos;
|
|
1716
1676
|
allocator_type& __a = __alloc();
|
|
@@ -1757,60 +1717,6 @@ typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::emplace(const_
|
|
|
1757
1717
|
return begin() + __pos;
|
|
1758
1718
|
}
|
|
1759
1719
|
|
|
1760
|
-
# endif // _LIBCPP_CXX03_LANG
|
|
1761
|
-
|
|
1762
|
-
template <class _Tp, class _Allocator>
|
|
1763
|
-
typename deque<_Tp, _Allocator>::iterator deque<_Tp, _Allocator>::insert(const_iterator __p, const value_type& __v) {
|
|
1764
|
-
size_type __pos = __p - begin();
|
|
1765
|
-
size_type __to_end = size() - __pos;
|
|
1766
|
-
allocator_type& __a = __alloc();
|
|
1767
|
-
if (__pos < __to_end) { // insert by shifting things backward
|
|
1768
|
-
if (__front_spare() == 0)
|
|
1769
|
-
__add_front_capacity();
|
|
1770
|
-
// __front_spare() >= 1
|
|
1771
|
-
__annotate_increase_front(1);
|
|
1772
|
-
if (__pos == 0) {
|
|
1773
|
-
__alloc_traits::construct(__a, std::addressof(*--begin()), __v);
|
|
1774
|
-
--__start_;
|
|
1775
|
-
++__size();
|
|
1776
|
-
} else {
|
|
1777
|
-
const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
|
|
1778
|
-
iterator __b = begin();
|
|
1779
|
-
iterator __bm1 = std::prev(__b);
|
|
1780
|
-
if (__vt == pointer_traits<const_pointer>::pointer_to(*__b))
|
|
1781
|
-
__vt = pointer_traits<const_pointer>::pointer_to(*__bm1);
|
|
1782
|
-
__alloc_traits::construct(__a, std::addressof(*__bm1), std::move(*__b));
|
|
1783
|
-
--__start_;
|
|
1784
|
-
++__size();
|
|
1785
|
-
if (__pos > 1)
|
|
1786
|
-
__b = __move_and_check(std::next(__b), __b + __pos, __b, __vt);
|
|
1787
|
-
*__b = *__vt;
|
|
1788
|
-
}
|
|
1789
|
-
} else { // insert by shifting things forward
|
|
1790
|
-
if (__back_spare() == 0)
|
|
1791
|
-
__add_back_capacity();
|
|
1792
|
-
// __back_capacity >= 1
|
|
1793
|
-
__annotate_increase_back(1);
|
|
1794
|
-
size_type __de = size() - __pos;
|
|
1795
|
-
if (__de == 0) {
|
|
1796
|
-
__alloc_traits::construct(__a, std::addressof(*end()), __v);
|
|
1797
|
-
++__size();
|
|
1798
|
-
} else {
|
|
1799
|
-
const_pointer __vt = pointer_traits<const_pointer>::pointer_to(__v);
|
|
1800
|
-
iterator __e = end();
|
|
1801
|
-
iterator __em1 = std::prev(__e);
|
|
1802
|
-
if (__vt == pointer_traits<const_pointer>::pointer_to(*__em1))
|
|
1803
|
-
__vt = pointer_traits<const_pointer>::pointer_to(*__e);
|
|
1804
|
-
__alloc_traits::construct(__a, std::addressof(*__e), std::move(*__em1));
|
|
1805
|
-
++__size();
|
|
1806
|
-
if (__de > 1)
|
|
1807
|
-
__e = __move_backward_and_check(__e - __de, __em1, __e, __vt);
|
|
1808
|
-
*--__e = *__vt;
|
|
1809
|
-
}
|
|
1810
|
-
}
|
|
1811
|
-
return begin() + __pos;
|
|
1812
|
-
}
|
|
1813
|
-
|
|
1814
1720
|
template <class _Tp, class _Allocator>
|
|
1815
1721
|
typename deque<_Tp, _Allocator>::iterator
|
|
1816
1722
|
deque<_Tp, _Allocator>::insert(const_iterator __p, size_type __n, const value_type& __v) {
|
|
@@ -1874,9 +1780,9 @@ template <class _Tp, class _Allocator>
|
|
|
1874
1780
|
template <class _Iterator, class _Sentinel>
|
|
1875
1781
|
_LIBCPP_HIDE_FROM_ABI typename deque<_Tp, _Allocator>::iterator
|
|
1876
1782
|
deque<_Tp, _Allocator>::__insert_with_sentinel(const_iterator __p, _Iterator __f, _Sentinel __l) {
|
|
1877
|
-
__split_buffer<value_type, allocator_type
|
|
1783
|
+
__split_buffer<value_type, allocator_type> __buf(__alloc());
|
|
1878
1784
|
__buf.__construct_at_end_with_sentinel(std::move(__f), std::move(__l));
|
|
1879
|
-
typedef typename __split_buffer<value_type, allocator_type
|
|
1785
|
+
typedef typename __split_buffer<value_type, allocator_type>::iterator __bi;
|
|
1880
1786
|
return insert(__p, move_iterator<__bi>(__buf.begin()), move_iterator<__bi>(__buf.end()));
|
|
1881
1787
|
}
|
|
1882
1788
|
|
|
@@ -1891,9 +1797,9 @@ template <class _Tp, class _Allocator>
|
|
|
1891
1797
|
template <class _Iterator>
|
|
1892
1798
|
_LIBCPP_HIDE_FROM_ABI typename deque<_Tp, _Allocator>::iterator
|
|
1893
1799
|
deque<_Tp, _Allocator>::__insert_with_size(const_iterator __p, _Iterator __f, size_type __n) {
|
|
1894
|
-
__split_buffer<value_type, allocator_type
|
|
1895
|
-
__buf.__construct_at_end_with_size(__f, __n);
|
|
1896
|
-
typedef typename __split_buffer<value_type, allocator_type
|
|
1800
|
+
__split_buffer<value_type, allocator_type> __buf(__n, 0, __alloc());
|
|
1801
|
+
__buf.__construct_at_end_with_size(std::move(__f), __n);
|
|
1802
|
+
typedef typename __split_buffer<value_type, allocator_type>::iterator __fwd;
|
|
1897
1803
|
return insert(__p, move_iterator<__fwd>(__buf.begin()), move_iterator<__fwd>(__buf.end()));
|
|
1898
1804
|
}
|
|
1899
1805
|
|
|
@@ -2071,8 +1977,8 @@ void deque<_Tp, _Allocator>::__add_front_capacity() {
|
|
|
2071
1977
|
}
|
|
2072
1978
|
// Else need to allocate 1 buffer, *and* we need to reallocate __map_.
|
|
2073
1979
|
else {
|
|
2074
|
-
__split_buffer<pointer, __pointer_allocator
|
|
2075
|
-
std::max<size_type>(2 * __map_.capacity(), 1), 0, __map_.
|
|
1980
|
+
__split_buffer<pointer, __pointer_allocator> __buf(
|
|
1981
|
+
std::max<size_type>(2 * __map_.capacity(), 1), 0, __map_.__get_allocator());
|
|
2076
1982
|
|
|
2077
1983
|
typedef __allocator_destructor<_Allocator> _Dp;
|
|
2078
1984
|
unique_ptr<pointer, _Dp> __hold(__alloc_traits::allocate(__a, __block_size), _Dp(__a, __block_size));
|
|
@@ -2081,10 +1987,7 @@ void deque<_Tp, _Allocator>::__add_front_capacity() {
|
|
|
2081
1987
|
|
|
2082
1988
|
for (__map_pointer __i = __map_.begin(); __i != __map_.end(); ++__i)
|
|
2083
1989
|
__buf.emplace_back(*__i);
|
|
2084
|
-
|
|
2085
|
-
std::swap(__map_.__begin_, __buf.__begin_);
|
|
2086
|
-
std::swap(__map_.__end_, __buf.__end_);
|
|
2087
|
-
std::swap(__map_.__cap_, __buf.__cap_);
|
|
1990
|
+
__map_.__swap_without_allocator(__buf);
|
|
2088
1991
|
__start_ = __map_.size() == 1 ? __block_size / 2 : __start_ + __block_size;
|
|
2089
1992
|
}
|
|
2090
1993
|
__annotate_whole_block(0, __asan_poison);
|
|
@@ -2134,34 +2037,26 @@ void deque<_Tp, _Allocator>::__add_front_capacity(size_type __n) {
|
|
|
2134
2037
|
// Else need to allocate __nb buffers, *and* we need to reallocate __map_.
|
|
2135
2038
|
else {
|
|
2136
2039
|
size_type __ds = (__nb + __back_capacity) * __block_size - __map_.empty();
|
|
2137
|
-
__split_buffer<pointer, __pointer_allocator
|
|
2138
|
-
std::max<size_type>(2 * __map_.capacity(), __nb + __map_.size()), 0, __map_.
|
|
2139
|
-
|
|
2140
|
-
try {
|
|
2141
|
-
# endif // _LIBCPP_HAS_EXCEPTIONS
|
|
2142
|
-
for (; __nb > 0; --__nb) {
|
|
2143
|
-
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
|
|
2144
|
-
// ASan: this is empty container, we have to poison whole block
|
|
2145
|
-
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
|
|
2146
|
-
}
|
|
2147
|
-
# if _LIBCPP_HAS_EXCEPTIONS
|
|
2148
|
-
} catch (...) {
|
|
2040
|
+
__split_buffer<pointer, __pointer_allocator> __buf(
|
|
2041
|
+
std::max<size_type>(2 * __map_.capacity(), __nb + __map_.size()), 0, __map_.__get_allocator());
|
|
2042
|
+
auto __guard = std::__make_exception_guard([&] {
|
|
2149
2043
|
__annotate_delete();
|
|
2150
2044
|
for (__map_pointer __i = __buf.begin(); __i != __buf.end(); ++__i)
|
|
2151
2045
|
__alloc_traits::deallocate(__a, *__i, __block_size);
|
|
2152
|
-
|
|
2046
|
+
});
|
|
2047
|
+
for (; __nb > 0; --__nb) {
|
|
2048
|
+
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
|
|
2049
|
+
// ASan: this is empty container, we have to poison whole block
|
|
2050
|
+
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
|
|
2153
2051
|
}
|
|
2154
|
-
|
|
2052
|
+
__guard.__complete();
|
|
2155
2053
|
for (; __back_capacity > 0; --__back_capacity) {
|
|
2156
2054
|
__buf.emplace_back(__map_.back());
|
|
2157
2055
|
__map_.pop_back();
|
|
2158
2056
|
}
|
|
2159
2057
|
for (__map_pointer __i = __map_.begin(); __i != __map_.end(); ++__i)
|
|
2160
2058
|
__buf.emplace_back(*__i);
|
|
2161
|
-
|
|
2162
|
-
std::swap(__map_.__begin_, __buf.__begin_);
|
|
2163
|
-
std::swap(__map_.__end_, __buf.__end_);
|
|
2164
|
-
std::swap(__map_.__cap_, __buf.__cap_);
|
|
2059
|
+
__map_.__swap_without_allocator(__buf);
|
|
2165
2060
|
__start_ += __ds;
|
|
2166
2061
|
}
|
|
2167
2062
|
}
|
|
@@ -2194,8 +2089,8 @@ void deque<_Tp, _Allocator>::__add_back_capacity() {
|
|
|
2194
2089
|
}
|
|
2195
2090
|
// Else need to allocate 1 buffer, *and* we need to reallocate __map_.
|
|
2196
2091
|
else {
|
|
2197
|
-
__split_buffer<pointer, __pointer_allocator
|
|
2198
|
-
std::max<size_type>(2 * __map_.capacity(), 1), __map_.size(), __map_.
|
|
2092
|
+
__split_buffer<pointer, __pointer_allocator> __buf(
|
|
2093
|
+
std::max<size_type>(2 * __map_.capacity(), 1), __map_.size(), __map_.__get_allocator());
|
|
2199
2094
|
|
|
2200
2095
|
typedef __allocator_destructor<_Allocator> _Dp;
|
|
2201
2096
|
unique_ptr<pointer, _Dp> __hold(__alloc_traits::allocate(__a, __block_size), _Dp(__a, __block_size));
|
|
@@ -2204,10 +2099,7 @@ void deque<_Tp, _Allocator>::__add_back_capacity() {
|
|
|
2204
2099
|
|
|
2205
2100
|
for (__map_pointer __i = __map_.end(); __i != __map_.begin();)
|
|
2206
2101
|
__buf.emplace_front(*--__i);
|
|
2207
|
-
|
|
2208
|
-
std::swap(__map_.__begin_, __buf.__begin_);
|
|
2209
|
-
std::swap(__map_.__end_, __buf.__end_);
|
|
2210
|
-
std::swap(__map_.__cap_, __buf.__cap_);
|
|
2102
|
+
__map_.__swap_without_allocator(__buf);
|
|
2211
2103
|
__annotate_whole_block(__map_.size() - 1, __asan_poison);
|
|
2212
2104
|
}
|
|
2213
2105
|
}
|
|
@@ -2257,36 +2149,28 @@ void deque<_Tp, _Allocator>::__add_back_capacity(size_type __n) {
|
|
|
2257
2149
|
// Else need to allocate __nb buffers, *and* we need to reallocate __map_.
|
|
2258
2150
|
else {
|
|
2259
2151
|
size_type __ds = __front_capacity * __block_size;
|
|
2260
|
-
__split_buffer<pointer, __pointer_allocator
|
|
2152
|
+
__split_buffer<pointer, __pointer_allocator> __buf(
|
|
2261
2153
|
std::max<size_type>(2 * __map_.capacity(), __nb + __map_.size()),
|
|
2262
2154
|
__map_.size() - __front_capacity,
|
|
2263
|
-
__map_.
|
|
2264
|
-
|
|
2265
|
-
try {
|
|
2266
|
-
# endif // _LIBCPP_HAS_EXCEPTIONS
|
|
2267
|
-
for (; __nb > 0; --__nb) {
|
|
2268
|
-
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
|
|
2269
|
-
// ASan: this is an empty container, we have to poison the whole block
|
|
2270
|
-
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
|
|
2271
|
-
}
|
|
2272
|
-
# if _LIBCPP_HAS_EXCEPTIONS
|
|
2273
|
-
} catch (...) {
|
|
2155
|
+
__map_.__get_allocator());
|
|
2156
|
+
auto __guard = std::__make_exception_guard([&] {
|
|
2274
2157
|
__annotate_delete();
|
|
2275
2158
|
for (__map_pointer __i = __buf.begin(); __i != __buf.end(); ++__i)
|
|
2276
2159
|
__alloc_traits::deallocate(__a, *__i, __block_size);
|
|
2277
|
-
|
|
2160
|
+
});
|
|
2161
|
+
for (; __nb > 0; --__nb) {
|
|
2162
|
+
__buf.emplace_back(__alloc_traits::allocate(__a, __block_size));
|
|
2163
|
+
// ASan: this is an empty container, we have to poison the whole block
|
|
2164
|
+
__annotate_poison_block(std::__to_address(__buf.back()), std::__to_address(__buf.back() + __block_size));
|
|
2278
2165
|
}
|
|
2279
|
-
|
|
2166
|
+
__guard.__complete();
|
|
2280
2167
|
for (; __front_capacity > 0; --__front_capacity) {
|
|
2281
2168
|
__buf.emplace_back(__map_.front());
|
|
2282
2169
|
__map_.pop_front();
|
|
2283
2170
|
}
|
|
2284
2171
|
for (__map_pointer __i = __map_.end(); __i != __map_.begin();)
|
|
2285
2172
|
__buf.emplace_front(*--__i);
|
|
2286
|
-
|
|
2287
|
-
std::swap(__map_.__begin_, __buf.__begin_);
|
|
2288
|
-
std::swap(__map_.__end_, __buf.__end_);
|
|
2289
|
-
std::swap(__map_.__cap_, __buf.__cap_);
|
|
2173
|
+
__map_.__swap_without_allocator(__buf);
|
|
2290
2174
|
__start_ -= __ds;
|
|
2291
2175
|
}
|
|
2292
2176
|
}
|